Was bedeutet in KEIL Code, RO, RW, ZI (hier die Antwort)

OP #2938977
Lesenswert?

Wer neu bei Keil gelandet ist, fragt sich, was folgende Angaben 
eigentlich richtig bedeuten.

Program Size: Code=11766 RO-data=6838 RW-data=104 ZI-data=1280

Gestern war ich mal bei einem Keil Workshop, wo ich von einem Keil 
Mitarbeiter nicht nur erfahren habe das es bald endlich intellisense 
(autovervollständigung) und paar weitere neue nette "Komfort"-Features 
in Keil geben wird sondern auch das:

Code: Codesize
RO: Konstanten (nicht ausführbahrer Code der trotzdem im Flash landet)
RW: Variablen
ZI: Zero initialized Data, Der Compiler kategorisiert RW und ZI Data und 
trennt es, ist aber ein relikt aus der Betriebssystem Programmierung. Je 
nach dem wie groß das Objekt ist wird es ZI oder RW aber es ist 
eigentlich der gleiche Speicher (RAM) ... RW und ZI ergeben den RAM. Der 
Stack liegt bspw. in diesem ZI Bereich.

bedeutet.

Ich war mir nie sicher was ZI bedeutet da es manchmal idiotische Größen 
anzeigt, das liegt aber laut dem Keil Mitarbeiter an einem Bug der bald 
behoben wird (wenn man bpsw. die GUI-Library in Keil benutzt, werden 
reservierte aber nicht im Programm genutzte Speicher mitreingerechnet), 
das Phenomen tritt auch bei der Verwendung von @Attributen auf.

Viele Grüße
Sven
OP #2940382
Lesenswert?

Auf der Website von Keil unter Events hab ich das gefunden, war halt was 
in Frankfurt in der Nähe.
Ein NXP Hands on mit Keil.
Fands halt cool mal jemand von der legendären Keil Truppe zu sehen und 
auszutauschen.
Selbstverständlich auch sich mal mit dem Dualcore 435x Cortex M4 zu 
beschäftigen.

Fands interessant, das der M0 kein Systick-Timer hat aber der M4
und das der M0 nur über JTAG ansprechbar ist und nicht über SWD, da SWD 
kein chaining unterstützt wie JTAG.

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