Forum: Mikrocontroller und Digitale Elektronik IAR Embedded Workbench for ARM: Debuggen in externem Speicher


von Hans K. (Gast)


Lesenswert?

Hallo Leuts,
ich habe hier ein Board gebaut mit einem LPC2478. Ich möchte damit ein 
TFT ansteuern und via Ethernet einige Pakete empfangen und senden. Zwar 
läuft meine Anwendung mittlerweile Problemlos, jedoch nur aus dem 
internen Flash! Ich habe aber extern noch 64MB SDRAM dran. Fürs Debuggen 
und zu Testzwecken möchte ich, dass mein Code nicht in das interne Flash 
runtergeladen wird, sondern in dieses externe RAM - denn im internen hat 
er nicht Platz :(
Könnt ihr mir sagen, wie ich das bewerkstelligen kann?
Zwar kann ich die Anwendung schon für die entsprechende Adressbereiche 
linken, aber laden kann ich sie logischerweise nicht, da der Debugger ja 
das externe Memory noch nicht kennt nach einem Reset.
Schön wäre es ausserdem, wenn ich einige Teile meines Codes in einem 
externen Flash laufen lassen könnte. Ich weiss, das ist nicht besonders 
schnell, aber ich möchte das gerne tun, um das volle interne Flash zur 
Verfügung zu haben für den wichtigen Code, der schnell sein soll.
Das ist doch sicher möglich, oder? Wie kann ich  das einstellen?

Ich hoffe ihr könnt mir helfen.

von Mehmet K. (mkmk)


Angehängte Dateien:

Lesenswert?

Diese Einstellungen werden in den Dateien mit der Extention ICF gemacht. 
Hier ein Beispiel für den STM32, zwar nicht externer SRAM, sondern 
interner, aber vielleicht hilft's was.

PS: Bin immer noch Neuling auf dem Cortex Parket und meine meisten 
Erfolge verbuche ich mit "auch ein blindes Huhn findet hin und wieder 
ein Korn". Deshalb: so ganz sicher bin ich mir nicht mit dem, was ich in 
die Datei eingetragen habe. Aber es funktioniert :)

von Arne (Gast)


Lesenswert?

@Mehmet:

Er schrieb doch:
> aber laden kann ich sie logischerweise nicht, da der Debugger ja
> das externe Memory noch nicht kennt nach einem Reset.

@Hans:
Schau mal ins IAR Manual, was die Einstellungen unter "Options | 
Debugger | Images" zu bedeuten haben. Vielleicht kannst Du da eine BIN 
Datei, die die Clocks und das Businterface initialisiert, ins interne 
RAM schieben.

von gerhard (Gast)


Lesenswert?

@hans:
schau mal in die example projects der workbench. dort findest du mehrere 
projekte für den lpc2478 und einige davon (bei der LCD Demo habe ich es 
gefunden) findest du eine configuration "SDRAM Debug". in dieser findest 
du die passenden einstellungen (speziell die Option Linker und Debugger 
sind von Interesse).

mfg
gerhard

von Hans K. (Gast)


Lesenswert?

danke für eure Tipps, ich werde die heute Abend mal ausprobieren! Die 
Examples habe ich noch gar nicht gefunden. Cool!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.