Forum: Compiler & IDEs Eclipse Debugen *.out oder *.elf


von mgiaco (Gast)


Lesenswert?

Was ist der unterschied zwischen *.out und *.elf ?

Es geht um ARM GCC ==> PDF von Lynch verwendet fürs Debugen *.out.
Und Yagarto Online Doku verwendet *.elf

??

danke

von Stefan (Gast)


Lesenswert?

Namen sind Schall und Rauch ;-)

.out wird klassisch als Kennzeichnung für OUTputdateien genommen. Die 
können irgendein Binärformat haben. Welches Binärformat wird durch die 
Toolchain und deren Bedienung (Kommandozeile, Commands im makefile) 
vorgegeben.

"irgendein" ist unbefriedigend. Bei fertigen Dateien muss man 
nachkucken, welches Binärformat enthalten ist und bei der Erzeugung muss 
man Angeben, wie die Toolchain zu bedienen ist.

"Irgendwann" ist jemand auf die Idee gekommen, OUTputdateien, die im 
Binärformat ELF vorliegen, mit der Endung .elf zu kennzeichnen. Damit 
ist klar, wie die Toolchain zu bedienen ist und was in der Datei drin 
sein soll ;-)

von mgiaco (Gast)


Lesenswert?

achso Danke ich habe gesucht aber nichts gefunden.

von mgiaco (Gast)


Lesenswert?

Hallo gleich noch was

target remote localhost:3333
monitor reset
monitor sleep 500
monitor poll
monitor soft_reset_halt
monitor arm7_9 sw_bkpts enable
monitor mww 0xE01FC040 0x0002   <== ??

was heißt das?


von Stefan (Gast)


Lesenswert?

Das sind Kommandos zum Vorbereiten des Debuggens des ARM. Was die alle 
im einzelnen bedeuten weiss ich nicht. Du solltest aber bei dem 
verwendeten GDB bzw. GDB-Server (OpenOCD?) in der Doku was finden.

Der ?? angemerkte Befehl ist ein MemoryWriteWord. 0x0002 wird an 
0xE01FC040 geschrieben. Was das bei deinem Target bewirkt, müsste in dem 
Datenblatt des Targets stehen.

Es kann z.B. benutzt werden, um im Target das Remapping auszulösen.
Beitrag "AT91SAM7S64 debug openocd"
Beitrag "LPC2106 mit Openocd im Flash debuggen"

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.