Forum: Mikrocontroller und Digitale Elektronik IAR Embedded Workbench MSP430 Kickstart - Programmgröße?


von Sonntagsbraten (Gast)


Lesenswert?

Während mir mspgcc die Möglichkeit bietet, die Programmgrösse 
auszugeben:

msp430-size --format=sysv --radix=10 --target=elf32-msp430 test.elf
test.elf  :
section             size    addr
.text               1994   63488
.data                  6     512
.bss                  28     518
.vectors              32   65504


ist das bei IARs Embedded Workbench und bei TIs Code Composer Studio 
anscheinend nur der Fall, wenn es nicht mehr passt.
Oder geht es irgendwie?

Beim AVR hatte sich ja jemand die Mühe gemacht, diese size Ausgabe auf 
den verfügbaren Flash umzurechnen und so die Speichernutzung auf einen 
Blick sichtbar zu machen.

Bei 2 kB flash im MSP430G2231 sollte das obige Programm doch eigentlich 
gar nicht mehr reinpassen? Oder zählen vectors nicht mit?

von Bernd N. (Gast)


Lesenswert?

Siehe .map file

Beispiel:
 1 888 bytes of CODE  memory
    74 bytes of DATA  memory (+ 38 absolute )
   227 bytes of CONST memory

Errors: none
Warnings: none

von Sonntagsbraten (Gast)


Lesenswert?

Beim TI Linker habe ich eine .map gefunden.
Beim IAR muss man das erst anschalten:

Project>Options: Linker - List [x] Generate linker listings

Dann gibt es in <projectdir>/Debug/List/<..>.map

Ganz unten steht dann auch bei mir:

 1 722 bytes of CODE  memory
    82 bytes of DATA  memory (+ 37 absolute )
    61 bytes of CONST memory

Was jetzt in die Gesamtgröße ist weiss ich aber immer noch nicht. 
Anscheinend kriegt es IAR aber kleiner hin!?

Der TI-Linker scheitert:

"../lnk_msp430g2231.cmd", line 62: error: placement fails for object 
".const",
   size 0x38 (page 0).  Available ranges:
   FLASH        size: 0x7e0        unused: 0x30         max hole: 0x30
error: errors encountered during linking; "test.out" not built

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.