Forum: Mikrocontroller und Digitale Elektronik AT91RM9200 Programmieren


von Thomas L. (Gast)


Lesenswert?

Hallo Leute,
demnächst möchte ich mal einige Versuche mit dem AT91RM9200 anstellen. 
Dazu möchte ich natürlich mein eigenes Board bauen!
Bisher habe ich mit ARM7 gebastelt; die habe ich mittlerweile gesehen. 
Ausserdem: der Weg ist das Ziel, sprich die Entwicklung eines möglichst 
komplexen Boards ;-)
Aaaalso, hierzu habe ich dann auch gleich ne Frage.
Und zwar steht im Datenblatt des AT91RM9200 nichts von internem Flash, 
sondern nur von 16k internem, schnellen SRAM sowie von einem Bootloader, 
der im ROM ist.
Wie gestaltet sich da der Systemstart? Habe ich das richtig verstanden, 
dass der RM9200 nach dem Reset an diveersen externen Bussen (SPI, EBI, 
TWI) nach einem Programm sucht, und dieses dann ins interne SRAM lädt?
Aber dann kann ja mein Programm nie grösser als 16k werden.
Irgendwie werde ich da noch nicht so recht schlau.

Dann noch was:
Ich habe einen J-Link von Segger sowie eine passende Toolchain, die für 
ARM7 und ARM9 funktioniert. Kann ich mit meinem J-Link ein am AT91RM9200 
angeschlossenes Flash Programmieren? Oder wie sonst bekomme ich mein 
Programm auf das Board?

Viele Grüsse und Danke schon im Voraus für eure Hilfe!

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Thomas L. schrieb:

> Wie gestaltet sich da der Systemstart? Habe ich das richtig verstanden,
> dass der RM9200 nach dem Reset an diveersen externen Bussen (SPI, EBI,
> TWI) nach einem Programm sucht, und dieses dann ins interne SRAM lädt?

Ja.

> Aber dann kann ja mein Programm nie grösser als 16k werden.

Wenn du aus dem kleinen, nachgeladenen Programm dein eigentliches 
Programm anspringst schon. Atmel nennt das kleine, nachgeladene Programm 
second-level bootloader

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.