Hallo zusammen, ich bin Neuling und mache gerade erste Gehversuche auf ARM-Prozessoren. Dafür habe ich mir das SAM7-EX256 Board hier aus dem Shop geholt, und übe nun damit. Dabei ist ein IAR-Projekt. Mit IAR-Einsteigerversion funktioniert alles ganz gut (nachdem man das Project etwas gestutzt hat) und ich kann die .bin Datei mit SAM-BA (V2.6) auf das Board flashen und es läuft auch. Nun will ich aber lieber mit eclipse und winarm (also opensource)arbeiten. Nach einigem hin und her habe ich die Umgebung auch laufen (eclipse 3.2.2), habe ein arm-elf project angelegt die Dateien des IAR-Projects eingefügt und konnte es auch kompilieren und linken, sodass eine .elf Datei herauskam. Diese habe ich mit arm-elf-objcopy in ein .bin gewandelt. Diese hat auch in etwa dieselbe größe wie die .bin aus dem IAR-Projekt. Aber wenn ich die aufs Board flashe funktioniert es nicht. Leider habe ich noch keine Debug-Möglichkeit, sodaß ich leider nicht weiß was schief läuft. Aufgefallen ist mir die Warnmeldung "cannot find entry symbol _start; defaulting to 00008000" vom arm-elf-ld.exe (sonst keine nennenswerten Warnungen oder Fehler). Was genau ist dieses Entry Symbol und wie stelle ich es ein? Oder was kann ich sonst noch falsch gemacht haben?
> ...die Dateien des IAR-Projects eingefügt...
Das mag mit C-Dateien funktionieren aber Assemblerquellcode muss
portiert werden. Da keine Fehlermeldung erzeugt wird, fehlt der
Startupcode wahrscheinlich im Projekt, sondest würde der GNU Assembler
"meckern", wenn er auf IAR-spezifische Anweisungen trifft. Für
Linker-Script ähnlich: Vermutlich wird das default Linker-Skript
verwendet, man kann dieses zwar mit ein paar zusätzlichen
Linkerparameter nutzen, einfacher dürfte aber ein eigenes Linkerscript
sein. Wenn richtig eingestellt, verschwindet auch das Warnung betr.
_start.
Für Eclipse+GNU toolchain+AT91SAM gibt es ein ganz brauchbares Tutorial
von Jim Lynch inkl. ein wenig Beispielcode auf www.atmel.com.
Martin Thomas
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.