Forum: Mikrocontroller und Digitale Elektronik Interrupttabelle


von kuki (Gast)


Lesenswert?

Hallo,
wollte mit Inline Assembler meine Interrrupttabelle bearbeiten, ich 
bekomm aber diese dumme fehlermeldung
woran könnt des liegen?

asm volatile(".org 0x000A"::);
asm volatile("jmp INT4"::);
Error: attempt to move .org backwards

In C geht des mit ISR (INT4_vect) { //hier kommt die Interruptbehandlung 
rein}
mein Problem ist das bevor die Behandlung beginnt alles mögliche gepusht 
wird dauert etwa 1,2 us bis die Behandlung entlich geginnt... jetzt 
wollt ich das in Assembler schreiben und auf das pushen verzichten... da 
der Prozess dann eh in einer Endlosschleife landet muß ich die Register 
nicht sichern...

Vielen Dank im Vorraus

von Wolfram (Gast)


Lesenswert?

benutze naked

von kuki (Gast)


Lesenswert?

naked?

ich glaub ich häng grad voll, weiß echt nicht was du damit meinst... sry

von FBI (Gast)


Lesenswert?

Hi,

http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html

Zitat:

naked
  Use this attribute on the ARM, AVR, C4x and IP2K ports
  to indicate that the specified function does not need
  prologue/epilogue sequences generated by the compiler.
  It is up to the programmer to provide these sequences.

von FBI (Gast)


Lesenswert?

... ach so
ansonsten kannst Du Dir in der <avr/interrupt.h> auch mal den #define 
für "EMPTY_INTERRUPT" ansehen.

CU Frank

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.