Forum: Mikrocontroller und Digitale Elektronik Programmhänger


von Erik (Gast)


Lesenswert?

Abend zusammen!

Mein Assemblerprogramm welches schon 2.2k Words klein ist, hängt sich
leider auf. Wenn das Programm aber kleiner als 2k Words ist, läuft es
fehlerfrei(Ich habe einen Teil den ich noch nicht brauche gekürzt). Ich
hab ein Mega32 und AVR Studio. Etwa nach dem 3. Unterprogramm-Aufruf
kehrt es niemehr zurück und bleibt hängen. Das compilierte hex lässt
sich allerdings problemlos in den AVR schieben.
Woran kann das liegen? Bitte um Hilfe.

von Steffen (Gast)


Lesenswert?

Hallo!

Stacküberlauf?
Vielleicht werden auch die relative Jumps zu weit auseinander gesetzt
durch den zusätzlichen Code (unwahrscheinlich - eigentlich bringt der
compiler dann nen fehler).

Viele Grüße
Steffen

von Erik (Gast)


Lesenswert?

Hi Steffen!
Stacküberlauf isses nicht. Ich hab ein paar Prozeduren die ich immer
nach dem Reset mittels Unterprogrammen ausführe. Nachdem ich mein
Proggi noch mit Funktion erweitert habe,welche aber das Programm erst
viel später betreffen haut es nicht mehr, kurz nach dem Reset schon das
Nirvana. Es hat sehr warscheindlich mit der Codegrösse zu tun.

von Matthias (Gast)


Lesenswert?

Hi

2kWords hört sich irgendwie nach Problemen mit rjmp/rcall an. Der kann
schließlich +-2k anspringen. Aber eigentlich sollte da der Assembler
eine Fehlermeldung bringen wenn der Adressbereich nicht mehr reicht.

Matthias

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.