AT91SAM9261 - Code im ext. SDRAM laden und ausführen

Gast #3130169
Lesenswert?

Hallo Norbert,
IAR ist perfect für solches Debugging.
Du must nur beim Debugger das Scriptfile angeben, dann initialisiert er 
deinen DRAM-Controller und ladet den Code ins SDRAM und los gehts mit 
dem Debuggen.
Es gibt bei IAR ein Directory mit all den vorgefertigten Scriptfiles für 
diesen Prozessor.

Die Datei müsste at91sam9261-ek-sdram.mac oder so heißen.

Gruß Sascha
Gast #3130187
Lesenswert?

Hallo Sascha,

danke für deine Antwort. Das mit dem *.mac File habe ich schon gefunden 
und habe es für meinen SDRAM angepasst und in den 
Options->Debugger->macro referenziert. Wenn ich mein Projekt jetzt 
"Download and Debug" kommt die Fehlermeldung, dass er das Makro 
"__hwReset" nicht findet. Wenn ich dieses auskommentiere, dann scheitert 
er am nächsten ("__writeMemory32").
Hast du hier eine Idee woran das liegen kann? Habe ich eventuell etwas 
vergessen zu parametrieren?

Danke.
Gast #3130528
Lesenswert?

Hallo Norbert,
also ein kleiner Code auszug von mir:
/*********************************************************************
*
*       execUserPreload() : JTAG set initially to 32kHz
*/
execUserPreload()
{
    __message "------------------------------ execUserPreload 
---------------------------------";
    __hwReset(0);                     //* Hardware Reset: CPU is 
automatically halted after the reset (JTAG is already configured to 
32kHz)
    __writeMemory32(0xD3,0x98,"Register"); //*  Set CPSR
    __PllSetting();                   //* Init PLL
    __PllSetting133MHz();
    __initSDRAM();                    //* Init SDRAM before load
    _MapRAMAt0();                     //* Set the RAM memory at 0x0020 
0000 & 0x0000 0000
    _InitRSTC();                      //* Enable User Reset to allow 
execUserReset() execution
}

Da gibts bei mir keine Problem.
Der Befehl geht meines wissens gleich an den JLink Interface, aber IAR 
bringt eigentlich den richtigen Treiber gleich mit?

Vermutlich stimmt etwas anderes noch nicht in den Einstellungen.
Gruß Sascha
Gast #3130547
Lesenswert?

Hey,

die Sequenz habe ich so auch. Wenn ich jetzt auf "Download and Debug" 
gehe, sehe ich im Debug Log die Meldung (Pfadangabe habe ich gekürzt):

Tue Apr 16, 2013 15:53:55: *\at91sam9261-sdram.mac(41,14): Error: 
Operation error.
Tue Apr 16, 2013 15:53:55: Error while calling macro execUserPreload
Tue Apr 16, 2013 15:53:55: Failed to load debugee: *.out

Wenn ich dann die Debug-Log Zeile anklicke, spring er zu dem 
Funktionsaufruf "__hwReset()".

Werde mal schauen, ob ich noch etwas finde. Auf jeden Fall danke für 
deinen Support.
Gast #3130805
Lesenswert?

hallo sascha,
geh doch einfach von einem bestehendem example aus (z.b. daas 
getting-started-project).
dort gibt es eine configuration at91sam9261_sdram. die macht genau das 
was du brauchst.
wenn du dich mit diesem projekt vertraut gemacht hast kannst du ja mal 
die entsprechenden .eww-/.ewp-Dateien selbst erstellen.

gruss
gerhard

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren