Forum: Mikrocontroller und Digitale Elektronik Falsche Ausgabe von arm-none-eabi-size


von Sebastian V. (sebi_s)


Angehängte Dateien:

Lesenswert?

Ich habe gerade eine Funktion in einem STM32 Projekt in den RAM 
verschoben und dazu ein wenig das Linker Script verändert. In der .data 
Section habe ich ein *(.bootldr) ergänzt und die entsprechende Funktion 
mit __attribute__((section(".bootldr"))) markiert. Soweit funktioniert 
auch alles, allerdings gibt mir arm-none-eabi-size jetzt eine völlig 
falsche Größe für die .data Section:
1
   text    data     bss     dec     hex filename
2
  43012       8    5720   48740    be64 cart_stm32.elf

Mit dem -A Flag erhalte ich dann folgende Ausgabe:
1
cart_stm32.elf  :
2
section              size        addr
3
.isr_vector           268   134217728
4
.text               39992   134218000
5
.rodata              1860   134257992
6
.init_array             4   134259852
7
.fini_array             4   134259856
8
.data                 892   536870912
9
.bss                 4184   536871808
10
._user_heap_stack    1536   536875992
11
.ARM.attributes        41           0
12
.comment               29           0
13
.debug_frame         3132           0
14
Total               51942

Hier passt die Größe der Sections. Wenn ich das richtig sehe, dann 
ergeben sich bei der ersten Variante im Berkeley Format die Größen wie 
folgt:
text = .isr_vector + .text + .rodata + .data.
data = .data
bss  = .bss + ._user_heap_stack

So war es zumindest bevor ich die RAM Funktion hinzugefügt habe. Wieso 
wird jetzt der völlig absurde Wert von 8 angezeigt?

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.