Forum: Mikrocontroller und Digitale Elektronik Seltsame Warnung im Avr Studio


von andy (Gast)


Lesenswert?

Hallo, ich bekomme beim Builden 5 Warnungen


 A .db segment with an odd number of bytes is detected. A zero byte is 
added.

Wenn ich dann auf die Warnung draufgehe,zeigt er mir bei einer Warnung 
zum beispiel eine Zeile an in der nur die Anweisung   rjmp Wait  steht.

Wäre nett,wenn mir jemand den Grund für diese Warnungen erklären könnte.

gruss

Andy

von Dussel (Gast)


Lesenswert?

Der Flash, in dem die .db Daten wohl abgelegt werden, wird immer 
seitenweise gelesen und geschrieben. Die Seiten (page) sind 2 Byte groß. 
Um das zu schaffen, muss er natürlich bei einer ungeraden Anzahl von 
Daten ein Byte ergänzen. Und das ist 0. Wieso der dann rjmp wait 
anzeigt, weiß ich nicht. Oder hast du vielleicht ein Datensegment im 
Programm, also zwischen den Programmzeilen drin?

von andy (Gast)


Lesenswert?

Hallo,erstmal danke.Ich habe mehrere Datensegmente drin,aber auch wenn 
ich sie alle rausnehme bekomme ich diese Warnungen.

gruss

Andy

von Dussel (Gast)


Lesenswert?

Irgendwas hat es mit den Seiten zu tun. Da es ja nur eine Warnung ist, 
ist es nicht so schlimm, würde ich mal sagen.

Hast du vielleicht vier Interruptroutinen oder Unterprogramme drin, dass 
der Assembler jede Routine an den Anfang einer neuen Page setzt? Dann 
würde er den Rest des vorhergehenden Programmteils entsprechend mit 
Nullen auffüllen. Ich denke, irgendwie sowas wird es sein.

von Hannes L. (hannes)


Lesenswert?

Naja, "Seiten" sind etwas Anderes, aber (mit ".db" definierte) 
Konstanten im Flash sollten (müssen) immer eine geradzahlige Anzahl 
Bytes pro Zeile haben. Zähle die Bytes pro Zeile und achte darauf, dass 
sie geradzahlig sind, dann sollten diese Warnungen ausbleiben.

...

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.