Forum: Compiler & IDEs .bin Datei läuft nicht (Newbie)


von Bernhard G. (ragnaroek)


Lesenswert?

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?

von mthomas (Gast)


Lesenswert?

> ...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
Noch kein Account? Hier anmelden.