Forum: Compiler & IDEs tiny84 mehr als 4 kb Code in Atmel Studio 6


von Sir-John (Gast)


Lesenswert?

Hallo, ich habe eine Frage, wozu ich nicht wirklich eine Lösung finde. 
Vielleicht kann mir da ja mal jemand auf die Sprünge helfen.

Ich habe im Atmel Studio6 ein C Projekt für einen Tiny84 erstellt.
In zwei Fällen zeigt der Tiny ein komisches Verhalten. Zum einen wenn 
ich mehr als 256 Byte Data memory verwende und zum anderen wenn ich über 
4 kb Program memory verwende.
Im ersten Fall fängt er wieder von vorne an zu lesen. Schein irgendwie 
eine 8 Bit Grenze zu sein.
Im zweiten Fall macht er nur noch wirres Zeug.

Muss ich da etwas im Compiler konfigurieren, um zumindest eine der 
Grenzen zu übergehen?

Danke und Gruß
John

von Oliver S. (oliverso)


Lesenswert?

Konfigurieren musst und kannst du nichts.

Beide Symptome deuten auf einen Stack-Overflow hin. Die nach dem 
Compilieren angezeigte SRAM-Auslastung berücksichtigt nur die statischen 
DAten, alles, was lokal auf dem Stack (oder gar auf dem heap) angelegt 
wird, kommt noch hinzu. Und irgendwann ist der Speicher halt voll...

Oliver

von Peter D. (peda)


Lesenswert?

Vielleicht ein umgelabelter ATtiny44.
Sollte dann aber beim Verify meckern.


Peter

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter Dannegger schrieb:
> Vielleicht ein umgelabelter ATtiny44.
> Sollte dann aber beim Verify meckern.

Nein, bereits beim Signaturvergleich.

von Sir-John (Gast)


Lesenswert?

Danke für die Antworten. Das mit dem Stacküberlauf klingt plausibel und 
scheint es auch zu sein. Irgendwie trat dieses Verhalten genau beim 
Sprung von 3900 auf 4150 Bytes auf. Das sah nach einer 4 kb Grenze aus. 
Aber ich habe mal ein wenig rumgebastelt und ich kann dieses Verhalten 
auch schon bei 3200 Byte erzeugen. Beim gegentesten mit einem Mega32 ist 
das Problem auch verschwunden.
Da muss ich wohl noch etwas umbauen...

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.