Renesas (SH3-DSP) GNUSH Erfahrungen?

#3109077
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
Gast #3110817
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
Gast #3313082
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren