Forum: Mikrocontroller und Digitale Elektronik Stellaris DK-LM3S9D96 Toolchain


von S. B. (stefan89)


Lesenswert?

Hallo,

ich habe das Stellaris DK-LM3S9D96 ergattert und habe jetzt 3 Tage mit 
dem Aufsetzen einer eigenen Toolchain mit
Eclipse + CDT + StellarisWare Software + Segger JLink Pro + Sourcery 
Codebench Lite
verbracht.

Nach erfolgreichem Installieren, und tätigen aller Einstellungen, began 
ich mit dem Versuch, vorhandene (Stellaris) Beispiele wie das Blinky 
oder SD-Card Beispiel nachzubauen (SD-Card ist eigentlich genau der Code 
aus der StellarisWare).

Nun habe ich das Problem, dass mein resultierendes Binary Image ziemlich 
genau doppelt so groß ist, gegenüber dem in den Debugordnern aus den 
StellarisWare Bespielen liegenden Image.


Wie kann das sein? Ich habe genau den gleichen Code kompiliert, und er 
läuft auch auf dem Board!

Ich habe schon versucht, mittels Optimierung das Image zu schrumpfen. 
Das hilft jedoch auch nur in einem gewissen Rahmen. Eigentlich sollte 
das Image ja nahezu gleich groß sein.
Debuginformationen habe ich auch schon ausgeschaltet beim 
Kompilieren...auch das hat nicht wirklich eine Auswirkung auf die Größe 
des Images gezeigt.


Ich bin nun etwas ratlos! Wäre super, wenn jemand ein paar Tipps für 
mich hat!

Vielen, vielen Dank
Stefan

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Zumindest bei älteren Versionen der Luminary-Softwarepakete lagen auch 
Makefiles bei (aktuelle Version gerade nicht zur Hand). Falls dem so 
ist: die Compiler- und Linkeroptionen aus den Makefiles mit den 
Eintragungen in der IDE abgleichen. Sicherstelltn, dass -Os als 
Optimierungsoption angegeben ist. Ansonsten kann man nach "unused code 
removal" ausprobieren dazu ffunction-sections (evtl. auch 
fdata-sections) zu den Compileroptionen, gc-sections zu den 
Linkeroptionen und ein Linkerscript nutzen, das darauf vorbereitet ist.

von S. B. (stefan89)


Lesenswert?

Danke für den Tipp! Werde mir das mit den makefiles habe ich bis jetzt 
noch nicht gedacht. (Eclipse + GNU Arm Toolchain kümmert sich ja 
automatisch um die makefile-Erstellung)

Vielen Dank nochmals!

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.