Forum: Compiler & IDEs CodeVision ISR


von Karl H. (kbuchegg)


Lesenswert?

Ich muss hier gerade einen älteren AVR Code warten, der mit dem 
CodeVision Compiler für einen Mega2561 erstellt wurde (Version von 2007)

Compiler Version 1.25.7a

Meine Frage:
Gibt beim Codevision Compiler die Runtime Interrupts vor Aufruf einer 
ISR automatisch wieder frei? Hintergrund: Ich sehe in den ISR laufend 
sei und cli. Oder hat hier der Original-Programmierer etwas nicht 
verstanden :-)
(Würde mich nicht wundern. Da sind so einige Dinge im Code, die nicht 
gerade für ihn sprechen. Aber das ist jetzt nicht das Thema)


Ja ich weiss, das Teil ist himmelalt. Aber im Sinne des Projektfortgangs 
werde ich da jetzt keinen neueren installieren.

von Peter II (Gast)


Lesenswert?

Karl H. schrieb:
> Gibt beim Codevision Compiler die Runtime Interrupts vor Aufruf einer
> ISR automatisch wieder frei?

das macht doch die Hardware? schau doch ein ASM-Listing ob die ISR mit 
einem reti beendet wird.

von Karl H. (kbuchegg)


Lesenswert?

Peter II schrieb:
> Karl H. schrieb:
>> Gibt beim Codevision Compiler die Runtime Interrupts vor Aufruf einer
>> ISR automatisch wieder frei?
>
> das macht doch die Hardware?

Eben.
Es könnte natürlich sein, dass der CodeVIsion Compiler in den Prolog 
einer ISR einen sei einbaut. Ich glaubs zwar nicht, aber möglich wärs.

> schau doch ein ASM-Listing ob die ISR mit
> einem reti beendet wird.

:-)
Ich muss mich erst noch mit der CodeVision IDE vertraut machen.
Nach 20 Minuten geht das alles noch sehr holprig.
Mir ist diese sei/cli Geschichte nur beim ersten Drüberlesen über den 
Code ins Auge gesprungen.

von Carl D. (jcw2)


Lesenswert?

Schau ins Listing, dann wird schnell klar, ob dein Vorgänger das ernst 
gemeint hat, oder es einfach eine Verzweiflungstat ist, wie z.B. Oft 
auch volatile.

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.