Forum: Compiler & IDEs mein AVR Spinnt


von Frank (Gast)


Lesenswert?

Hallo

Ich habe folgendes phänomen.

Er startet einfach mal neu (hardreset) er durchläuft manche funtionen 
nicht die printf über fdevopen geht nicht oder nur manchmal.


Kann es sein das der SRAM überläuft???
mir ist es aufgefallen wo ich ein Array angelegt habe natürlich statisch 
weil es immer existent sein soll wo ich werte ablege.
seit dem spinnt er.


Wie sollte man sram schonend programmieren???

Mein System ein 128Mega.

Danke

von Regler (Gast)


Lesenswert?

> Kann es sein das der SRAM überläuft???

Yep. Dein Array, wie groß war das?

von A.K. (Gast)


Lesenswert?

Map-File produzieren und nachsehen wo die Klöpse liegen. Auf die 
Gesamtmenge dort definierten RAMs nochmal so ein paarhundert Bytes RAM 
(wenn wie hier printf verwenden wird, sonst ggf. weniger) draufrechnen. 
Das sollte dann in den Speicher passen. malloc() Speicher geht 
zusätzlich ein, und ist schon deshalb dringend abzuraten. Grössere 
Klöpse auf dem Stack (lokal in der Funktion) sind ebenso riskant.



von Frank (Gast)


Lesenswert?

Wie und Wo kann ich ein map file produzieren.


den printf nehme ich nur zum debuggen.


noch mal ne frage wann nehme ich volatile und extern????


Danke

von Frank (Gast)


Lesenswert?

Hallo nochmal


Also das Map file hab ich gefunden


wenn ich das richtig sehe könnte es hier stehen
Allocating common symbols
Common symbol       size              file


wenn ich die hex zusammenzähle komme ich auf 1733 byte der 128iger hat 
ja 4096 byte. das sollte ja reichen.

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.