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
Asking about GNU on the Keil site? Erik
Asking about GNU on the Keil site? Of course. Did you note the toolset selection being "ARM"? The "Keil" ARM toolchain is actually GNU binutils and GCC. Only the IDE and friends are made by Keil themselves.
Take a look to the folder: \Keil\ARM\GNU\Boards\Phytec\AT91M55800A\Measure This example contains an interrupt function for an Atmel device. It runs perfect on a Phytec board.
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?
Of course. Did you note the toolset selection being "ARM"? The "Keil" ARM toolchain is actually GNU binutils and GCC. Only the IDE and friends are made by Keil themselves. This was true in April 2004. At that time, the Keil IDE (uVision) worked with the GNU tools and with the ARM ADS/Realview tools. Since about August 2004, Keil has been shipping a BETA release of our own ARM Assembler and Compiler. Our IDE supports our own tools and will continue to support the GNU and ARM tools as well. Jon
See discussion on: http://www.keil.com/support/docs/2910.htm
Just for clearification. We at Keil will still generate example projects for the GNU toolset. Currently we are working on examples for the ATMEL AT91SAM7S series. They will become available in about 2-3 weeks.