Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Interrupt in ASM Kategorie: Programmierung Assembler (von Jo - 15.01.2009 17:00)
Als Antwort auf Re: Interrupt in ASM von PeterS - 15.01.2009 15:15
Ich nutze:
CC-Pro 128 Application Board, Pro-Bot128
> > > > Hallo Peter;
> > > >
> > > > wird dies in naher Zukunft funktionieren ?!
> > >
> > > Ich habe deswegen schon schlaflose Nächte. :-) Nicht exakt so, aber so ähnlich wird es gehen. Kann aber
> > > sein, das ich es noch kurz nach dem Release nachschiebe. Also von jetzt an ca. 5-6 Wochen.
> > > Die Interruptroutinen werden dann den Assembler Code aufrufen, also ein "ret" und kein "reti" am Ende.
> > >
> > > Gruss Peter
> >
> > Hallo Peter,
> > verstehe ich das richtig: Der  Interrupt unterbricht nicht die Ausführung des Interpreters sondern
> > der Interpreter Pollt weiterhin den Interrupt und ruft dann eine Assemblerroutine auf? Falls es so wäre
> > würden weiterhin Echtzeitanforderungen nicht realisierbar sein
>
> Nein das verstehst Du nicht richtig. Die Interruptroutine springt dann direkt in die Assemblerroutine und
> bypassed den Interpreter. Nur wie ich die Adresse der Assemblerroutine sauber in einen function pointer
> in der Interruptroutine gebracht bekomme, lässt die Anzahl meiner grauen Haare weiter steigen.
>
> Gruss Peter

Hallo Peter,
ich vermute mal, das du für den Assembler Teil Speicherbereiche festlegts für Code und Daten. Dieser
kollidert nicht mit deinem Interpreter / Bytecode Bereich. Somit steht doch diese Einsprungadresse fest
und könnte mit Irq_SetVect(...) in das Interruptregister bzw. die Sprungtabelle eingetragen werden.
So habe ich es bei einem 18186 Projekt gemacht ich kann nur leider nicht sagen, ob es beim ATMEL
auch so geht.
Viele Grü�e
Jo


>
> >
> > Viele Grü�e
> >
> > Jo
> >
> >
> > >
> > > >
> > > >
> > > > cc:
> > > >
> > > > void start $asm("start")(void);
> > > >
> > > > void main(void)
> > > > {
> > > >  Irq_SetVect(INT_1,start);
> > > > }
> > > >
> > > >
> > > > asm:
> > > >
> > > > Start:  ;Irgendwas            
> > > >
> > > >         reti
> > > >
> > > >
> > > > GruÃ? Michael
> > > >


    Antwort schreiben


Antworten:

Re: Interrupt in ASM (von PeterS - 16.01.2009 11:56)
    Re: Interrupt in ASM (von Michael - 20.03.2009 8:04)
        Re: Interrupt in ASM (von Heiko - 16.11.2009 11:32)
            Re: Interrupt in ASM (von Andy - 11.12.2009 13:22)
                Re: Interrupt in ASM (von PeterS - 17.12.2009 11:46)