Forum: Compiler & IDEs LPC3250 Linker/Startup Files?


von Manki (Gast)


Lesenswert?

Hi Leute !

Hat von euch schon jemand den LPC3250 (AMR926EJ-S) verwendet? Mich würde 
ein Linkerskript + Startupcode interessieren! Hat jemand eines?

Wie sieht das aus, wenn man die Daten im externen NAND Flash hat?
Wie funktioniert es, wenn man auch ein zusätzliches SDRAM hat?

Bin über tips und hinweise dankbar.

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Vorweg: kenne mich zwar mit linker-Scripten und Startup-Code für 
ARM-basierte Controller halbwegs aus, habe aber mit LPC3xxx noch nichts 
gemacht.

Manki schrieb:
> Hat von euch schon jemand den LPC3250 (AMR926EJ-S) verwendet? Mich würde
> ein Linkerskript + Startupcode interessieren! Hat jemand eines?

Linker-Scripte sind nicht allzu Controller-spezifisch. Für die ersten 
Schritte kann man sich ein Linker-Script für einen ähnlichen Controller 
nehmen und die Speicherbereiche anpassen (MEMORY). Atmel hat recht 
brauchbare "bare metal" Beispiele für AT91SAM9 (atmel.com nach "software 
pacakges" absuchen), auch für GNU-Toolchain. Evtl. ein Anfang.

> Wie sieht das aus, wenn man die Daten im externen NAND Flash hat?
> Wie funktioniert es, wenn man auch ein zusätzliches SDRAM hat?

Man kann im Linker-Script die Speicherbereiche angeben, in denen 
Programmcode (.text) und Daten (.data, .bss) abgelegt sind. Dabei ist zu 
beachten, dass damit die Adressen zur Laufzeit gemeint sind. Ob das dann 
intern oder externer Speicher ist, interessiert den Linker nicht, und es 
gibt somit auch nichts spezielles im Linkerscript einzustellen. Es gilt 
aber Remapping und evtl. MMU zu beachten. Ab welcher Speicheradresse 
gestartet wird, ist oft über Pins oder NV-Einstellungen festgelegt. 
Dorthin sollte zumindest der Startup-Code gelinkt werden.

Betr. Startupcode: gibt es gar keine Beispiele von NXP? Meist haben die 
etwas für kommerzielle Entwicklungswerkzeuge (RVMDK, EWARM etc) und 
Startup-Code liegt dort bei. Anpassung an GNU (gnu-assembler) kann man 
anhand Dokumentationen gut machen, ist vieles nur suchen/ersetzen.

von Michael G. (let)


Lesenswert?

LPCxpresso hat sowas fertig für GCC. Zwar 'nur' LPC31xx, Linkerscript
und Startupcode könnte aber passen.

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.