Forum: Mikrocontroller und Digitale Elektronik Unerklärbare Sektion am Codeende


von Michael K. (mkfein)


Lesenswert?

Hallo,

vor kurzem habe ich in meinem compilierten Code eine zusätzliche Sektion 
bemerkt, die ich nicht genau zuordnen kann.

Ich arbeite in der Eclipse-Umgebung mit dem AVR-Plugin und dem 
gcc-Compiler. Der Quellcode liegt in C vor.

Am Ende der *.hex-Datei ist noch eine Sektion angehängt, welche ich in 
der *.lss-Datei nicht finden kann. In der *.map-Datei habe ich dazu nur 
folgenden Eintrag gefunden:
0x000031e6                _etext = .
Die Adresse in der *.map-Datei stimmt mit der Startadresse der Sektion 
in der *.hex-Datei überein.

Was wird hier gemacht? Der Code verhält sich so wie er soll. Was bringt 
die zusätzliche Sektion mit sich? Angesprungen wird sie soweit ich sehen 
kann aus dem Code heraus auch nicht.

Vielen Dank für alle Antworten.

von (prx) A. K. (prx)


Lesenswert?

_etext markiert das Ende vom Code. Das dürften die Initialisierungsdaten 
sein, die im Startup-Code in die Data-Section vom RAM kopiert werden.

von Duda (Gast)


Lesenswert?

EEProm-Inhalt (in diesem Fall leer)?

von Michael K. (mkfein)


Lesenswert?

EEPROM ist es vermutlich nicht, da die Adresse nicht zum EEPROM passt.

RAM-Initialwerte wären eine plausible Möglichkeit. Jedoch bleibt mit der 
Zusammenhang zwischen dem Initialisierungswert im Code und der Wert in 
der *.hex-Datei verschlossen.

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.