FIQ handling
Posted: Mon Jun 27, 2011 1:18 am
Hi, I'm getting some fast interrupt handling into my ChibiOS project (SAM7X256/GCC), but am running into a little trouble. I'm setting up one of the timer/counters to be routed through the FIQ.
I have the interrupt working OK - I can increment a counter indefinitely - but the rest of the OS doesn't seem to continue running. I have and ISR that looks roughly like:
I only have the main thread running blinking an LED, but that does not continue running once I start up the fast timer. I couldn't find too much info on what's required to implement the FiqHandler within ChibiOS - is there a guide that I missed, or any info you can suggest? Thanks!
I have the interrupt working OK - I can increment a counter indefinitely - but the rest of the OS doesn't seem to continue running. I have and ISR that looks roughly like:
Code: Select all
int fasttimer_counter = 0;
static CH_IRQ_HANDLER(FiqHandler) {
fasttimer_counter++;
asm volatile ("SUBS PC, LR, #4");
}
I only have the main thread running blinking an LED, but that does not continue running once I start up the fast timer. I couldn't find too much info on what's required to implement the FiqHandler within ChibiOS - is there a guide that I missed, or any info you can suggest? Thanks!