PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ASURO - Programmspeicher voll?



MSSputnik
27.12.2005, 16:00
Hallo,

woran merke ich, das bei meinem ASURO der Programmspeicher voll ist?

Ich habe folgendes Problem:
1. Mein Programm funktioniert prinzipiell.
2. Ich schreibe 1-2 Zeilen code dazu, die aber die Funktionalität nicht verändern.
3. Mein Programm funktioniert nun nicht mehr. Lt. debug erhöht sich ein Zähler nicht mehr. Er bleibt immer auf 0 oder meine Odometriezäler bleben auch immer auf 0.

Laut 'make' hat mein Programm eine Größe von 4630.

Kann es überhaupt sein, das der Programmspeicher den Datenspeicher überschreibt oder ist das nur ein Problem der 'alten' Microcontroller?

Woran könnte so ein Phenomän noch liegen?

Martin

fabix
27.12.2005, 16:53
wieviel pages hat denn dein prog?

gruß fabi

super_castle
27.12.2005, 17:16
Beim AVR auf dem ASURO ist auch noch der Bootloader drin...und der nimmt sehr viel Speicher weg.
Wo ist das Problem, baust den ASURO auf einem AVR16 um, geht ganz prima.
Oder schmeisst den Bootloader raus und Proggst mit ISP.

Castle

MSSputnik
27.12.2005, 18:14
Mein Prog hat zur Zeit 77 pages.

MSSputnik
27.12.2005, 19:09
Hallo,

habs selber rausgefunden.

Ich verwende für meine Odometrie den Interrupt des ADC Registers. Bei jedem Überlauf wird der Zustand abgefragt und ggf. die Farbwechsel auf den Rädern gezählt.

Für meine Regelung etc. verwende ich den Interrupt Timer2Compare, der auch von der Sleep Funktion verwendet wird.

Nun wurde mein Code in dem Timer2Compare Interrupt immer länger. Damit wurde, da dieser Interrupt höhere Prio hat als der ADC Interrupt, der ADC Interrupt anscheinend nicht mehr aufgerufen. :-(

Lösung: Der Regelungscode wird nun nur bei jedem 20. durchlauf der Inerrupt Routine aufgerufen. 19 mal wird die Routine schnell wieder verlassen. Somit wird auch die ADC Interrupt Routine wieder aufgerufen und meine Odometrie Zähler zälen wieder :-)

Blödes Problem :-(

Aber vielleicht kann mir doch noch jemand beantworten, wieviele Pages ein Programm maximal umfassen darf.

Archi
27.12.2005, 21:21
112

8kB Speicher gesamt, davon 1kB Bootloader. Eine "Page" entsprcht 64Byte, daher 112 Pages, die reinpassen.

CU, Robin