Forum: Compiler & IDEs Renesas (SH3-DSP) GNUSH Erfahrungen?


von Reinhold K. (reinhold-k)


Lesenswert?

Hallo liebe Gemeinde,

ich stehe zur Zeit vor folgendem Problem:

Ich besitze ein "Gerät" mit gen. CPU. Ich würde gern einige Funktionen 
des Gerätes erweitern, sozusagen ein Improvement durchführen.

Ich habe mir das KPIT GNU-Toolchain (GNUSH) geladen und bin sehr 
zufrieden in Verbindung mit KIT-Eclipse. Ich bekomme jedoch die 
Binärdateien der Firmware nicht disassembliert. Beim Aufruf von 
"renesas-objdump -d ObjFile", erhalte ich immer die Fehlermeldung "File 
Format not recognized".

Ich habe Erfahrungen in 6502, Z80, 8088, 80486, habe sowohl Assembler 
und Disassembler selbst programmiert und auch Erfahrungen im 
Compilerbau.

Ich hoffe ihr könnt mir weiterhelfen. Danke fürs lesen.

Gruß
Reinhold

von Olaf (Gast)


Lesenswert?

> Ich bekomme jedoch die Binärdateien der Firmware nicht disassembliert.
> Beim Aufruf von "renesas-objdump -d ObjFile", erhalte ich immer die
> Fehlermeldung "File  Format not recognized".

Hast du dir schonmal die Manualpage von objdump durchgelesen?

 -d
       --disassemble
           Display the assembler mnemonics for the machine instructions
           from objfile.  This option only disassembles those
           sections which are expected to contain instructions.

Mit anderen Worten objdump ist in der Lage objektfiles in einem 
bekannten Format zu verarbeiten. Aber vermutlich nicht irgenwelche 
beliebigen Binaerfiles!

Olaf

von ansel (Gast)


Lesenswert?

Olaf schrieb:
> Aber vermutlich nicht irgenwelche beliebigen Binaerfiles!

Doch, Binärblobs gehen mit einigen Extraparametern ebenfalls. Hab' damit 
gerade ELSAs (RIP) UPX-Format reverseengineert, um eigenen Code auf 
einen alten DSL-Router zu bekommen.  Beispiel:
1
wget -O cv.upx ftp://ftp.lancom.de/LANCOM-Archive/LC-DSL-I-10/LC-DSLI10-A-CV-2.11.0007.upx
2
sh-elf-objdump --adjust-vma=0xc003eb0 -b binary -m sh3 -D cv.upx > cv.asm

Entry ist bei c003fb0 zu sehen, jmp nach main (c005090) bei c003fde.

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.