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.