Forum: Mikrocontroller und Digitale Elektronik Cortex-M0 Keils Microvision


von abc (Gast)


Lesenswert?

Hallo zusammen,

beim compilieren bekomme ich folgende Meldung:

Build target 'Projektname_Test'
linking...
Program Size: Code=21708 RO-data=516 RW-data=184 ZI-data=5728
FromELF: creating hex file...
".\out\Projektname_Test.axf" - 0 Error(s), 0 Warning(s).

Jetzt habe ich die Hilfedatei durchforstet, aber keine Erklärung zum 
Build Output erhalten.

Was bedeuten denn jetzt die Angaben

Code=...                               // benötigter Flash?
RO-data=...                            // ?
RW-data=...                            // ?
ZI-data=...                            // ?

?

Besten Gruß
abc

von FK (Gast)


Lesenswert?

Wo ist das Problem? Ist doch alles in Ordnung so.

von FK (Gast)


Lesenswert?

Ah sehs grad die Frage drunter. CODE ist auf jeden Fall der Flash. Rest 
muss ich leider auch passen.

von FK (Gast)


Lesenswert?

http://www.keil.com/forum/10624/

Da steht mehr dazu.

von Ersi (cell85)


Lesenswert?

Das bedeutet:

Code=     Codegröße (ROM+RAM)
RO-data=  Größe des ROM's
RW-data=  Größe der Daten für den RAM
ZI-data=  Variablen die mit 0, NULL initialisiert werden

21708 = 21KB

von Martin T. (mthomas) (Moderator) Benutzerseite


Lesenswert?

Sven S. schrieb:
> Das bedeutet:

Hmm, bin kein ARM-Compiler-Toolchain-Experte aber so ganz dürfte das 
Geschriebene nicht stimmen.

> Code=     Codegröße (ROM+RAM)
Bestenfalls Anzahl der für den Maschinencode, der konstanten Daten und 
die von Null-abweichend initialiserten Daten benötigten Bytes. Wobei in 
der Linker-Dokumentation (s.o.) zu "Code incl. Data" (also nicht nur 
"Code" wie in der Kurzausgabe) geschrieben steht: "includes inline 
data".

> RO-data=  Größe des ROM's

Eher Read-Only-Data. Also typischerweise mit const deklarierte 
Variablen. Beanspruchen zwar Platz im Flash/ROM aber das hat dann nichts 
mit dessen Größe zu tun.

> RW-data=  Größe der Daten für den RAM

Eher Speicherbedarf der von 0 abweichend initialieserten 
Daten/Variablen. Die Initialwerte benötigen Speicherplatz im Flash/ROM 
und werden dann im Startcode ins RAM kopiert, wo sie folglich ebenfalls 
diese Menge an Speicherplatz benötigen. ZI-Daten werden ebenfalls im RAM 
verwaltet und benötigen entsprechend Speicher.

> ZI-data=  Variablen die mit 0, NULL initialisiert werden
>
> 21708 = 21KB

In der Realview/ARM Compiler Toolchain-Dokumentation findet sich mehr 
aus erster Hand. Siehe ARM infocenter und µVision Online-Hilfe zur 
--info-Option des Linkers. MAP-File anschauen ist bei solchen Fragen 
auch immer hilfreich.

von RomRamCode (Gast)


Lesenswert?

abc schrieb:
> Program Size: Code=21708 RO-data=516 RW-data=184 ZI-data=5728

Code= Programm im ROM o. Flash
RO= Konstanten im ROM o. Flash
RW= Variablen im RAM
ZI= mit 0 initialisierte Variablen im RAM

von abc (Gast)


Lesenswert?

Besten Dank für die Antworten.

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.