Speicher voll? STM32F407

Gast #5322824
Lesenswert?

1
Program Size:
2
      text     data      bss      dec      hex  filename
3
    237412     3712    91544   332668    5137c  TEST1234.elf
4

5
BUILD SUCCESSFUL
6
Total time: 6 seconds

Hey Leute,
Discovery Board inklusive etwas Peripherie.
ein etwas umfangreicheres Projekt läuft soweit ganz gut mit meinem 
Spaghetticode.
Eine Frage trotzdem:
Woran sehe ich, wann mein Speicher überläuft?
Beim AVR wurde das immer sehr schön in Prozent angezeigt...
Kann ich mich da mit Lust und Laune austoben?
Vielen Dank für ein kurzes Rechenexample und vllt. kann mit jemand 
sagen, wie ich die Größenberechnung analog zum WINAVR in mir bekannt 
gewohnter Weise in Prozent angezeigt bekommen könnte.
LG
Äxl
Gast #5322831
Lesenswert?

Äxl (geloescht) schrieb:
> Hey Leute,
> Discovery Board inklusive etwas Peripherie.

Die Anzeige kommt doch bestimmt nicht vom Board selbst, sondern von 
einer Software (Assembler/Compiler/Linker). Wenn du den Namen dieser 
Software verrätst, kann man auch schauen, wie diese Software die 
Speicherbelegung formatieren kann...
Gast #5322840
Lesenswert?

sumo schrieb:
> sondern von
> einer Software (Assembler/Compiler/Linker)

Oh natürlich, wie unangenehm:
ich ging wie selbstverständlich davon aus, das alle Bastler hier mit dem 
Coocox spielen. Das es auch andere Compiler, Editoren IDEs usw. für den 
STM32 gibt, habe ich total verdrängt, sorry!
1
CooCox CoIDE
2

3
Version: 1.7.8
4
Build id: 20150206-3334-1557

Gruß
Äxl
Gast #5322863
Lesenswert?

Moin,

dasrotemopped schrieb:
> dein Flash Speicher in Byte - 332668 = verbliebener Restflash
> dein RAM - 3712 = verbliebenes RAM

Wie kommst du denn auf diese Zahlen?
.bss belegt kein Flash sondern RAM
.data belegt RAM und Flash

also eher:
FLASHSIZE - (237412 + 3712) = rest Flash
RAMSIZE - (3712 + 91544) = rest RAM
Oder?

Wobei niemand etwas über die sonstigen Rahmenbedingungen weis.
Ich hab zwar 1MB Flash, aber Bootloader, FEE und andere Configdaten
lassen am Ende nur 160KB fuer meine Applikation übrig.
Gast #5322956
Lesenswert?

Äxl (geloescht) schrieb:
> Woran sehe ich, wann mein Speicher überläuft?

Wenn es nicht passt meckert der Linker so in etwa mit 'section ... 
overflowed by x bytes' und es sollte 'build failed' gemeldet werden.
Die Flashsize beim 407 ist soweit ich weiss der zweite Buchstabe nach 
dem 407, E=512 kB, G=1024 kB

Äxl (geloescht) schrieb:
> solange liegt das hier auch schon wieder rum. Sollte man sich was
> anderes suchen? Ich google mal, danke soweit.

SW4STM32 ist eine einfach zu installierende Eclipse IDE incl. Toolchain, 
aber hauptsächlich für STM devices. Eclipse + gnumcueclipse ist 
universeller, aber man muss viel zu Fuss installieren.
Gast #5322959
Lesenswert?

Äxl (geloescht) schrieb:
> Kann ich mich da mit Lust und Laune austoben?

Ja. Wenn's voll ist gibt's ne Fehlermeldung. Gilt natürlich nicht für 
den Stack.
Die Ausgabe von "arm-none-eabi-readelf -S deinProgramm.elf" ist übrigens 
hilfreicher und zeigt genau absolut an wovon wie viel verbraucht wurde. 
Daraus kannst du den prozentualen Verbrauch ausrechnen.

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