Forum: Compiler & IDEs Hex File - Sections entfernen


von karl (Gast)


Lesenswert?

Hallo,

Ich würde gerne wissen, wie man aus einem iHex ein ProzessImage bauen 
kann, dass ich anschliessend vom Loader in den RAM zur Ausführung laden 
kann.

Das Ganze ist für einen AVR32 - zur Zeit versuche ich mit dem Programm 
avr32-objcopy weiter zu kommen. Mit diesem Programm habe ich zunächst 
das elf File in ein iHex konvertiert. Anschließen habe ich mir mit dem 
Programm avr32size die Sketiongrößen des iHex Files angesehen. Hier der 
Output von avr32-size für das iHex file:

   text    data     bss     dec     hex filename
      0   33380       0   33380    8264 .\elfhex\Output.hex

Komischerweise ist die Größe der Textsektion 0, da sollte doch der Code 
stehen oder?

Meine Frage ist jetzt welche Sektions ich aus dem iHex File mit der 
Option -R von avr32-objcopy weg tun muss, um nur noch den Code im iHex 
File zu haben und warum z.B. die TextSektion die Größe 0 hat.
Ich möchte dann den Code aus dem verkleinerten iHex File über einen 
Loader ins RAM zu laden und dann vom AVR32 ausführen zu lassen.

Vielen Dank für die Hilfe.
lg

Karl

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

karl wrote:

> Komischerweise ist die Größe der Textsektion 0, da sollte doch der Code
> stehen oder?

Da eine Intel-Hex-Datei im Gegensatz zu ELF (oder COFF) keine Kennung
über eine section hat, sortiert die entsprechende Leseroutine in
den GNU binutils die entsprechenden Daten einfach pauschal alles
als `data' ein.

Das Ganze ist also deine Codegröße (ggf. einschließlich der
Initialisierungswerte für data), daran wirst du nichts weiter
reduzieren können, zumindest nicht mehr an dieser Stelle.

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.