This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Writing Atmel IRQ handlers with GNU

The BlinkyIRQ example is not compatible with the Atmel AT91 family. And none of Atmel's appnotes use GNU.

Is it possible to use the same:

void tc2_test (void) __attribute__ ((interrupt)); // Generate Interrupt

setup for the AT91, or is it necessary to use the assembler handler examples that Atmel gives in their application notes?


Any other comments of suggestions would be appreciated.

Thanks,

Al

Parents
  • in GNU / AT91, this example is fine for one interrupt. but this attribute will never work on nested interrupts. like receiving a higher priority interrupt while another is still running. because the CPSR-I bit is disabled just before entering the routine. CPSR-I must be enabled manually for higher priority interrupts to work correctly. im not sure how ARM compiler will work using __irq attribute?

Reply
  • in GNU / AT91, this example is fine for one interrupt. but this attribute will never work on nested interrupts. like receiving a higher priority interrupt while another is still running. because the CPSR-I bit is disabled just before entering the routine. CPSR-I must be enabled manually for higher priority interrupts to work correctly. im not sure how ARM compiler will work using __irq attribute?

Children