Using ISR-wrapping with PIO

Hello! I am having problems to get the ISR-handler for PIO to work . The interrupt is called properly but when processor is about to leave the ISR I get a data abort when portRESTORE_CONTEXT is called. I can’t figure out why!! ??? My code follows: __arm void pio_ISR( void ) {   portCHAR cContextSwitchRequired;         int dummy;         dummy = AT91C_BASE_PIOA->PIO_ISR;         dummy=dummy; //Suppress compiler warning         //* Read the output state         if ( (AT91F_PIO_GetInput(AT91C_BASE_PIOA) &  INPUT_SERVO2_CAP) ==  INPUT_SERVO2_CAP); //Don’t do anything, rising edge         else  //Falling edge -> capture value in         {           measure.duty_channel_2 = TimerBaseCPWM->TC_CV;         }         cContextSwitchRequired = pdFALSE;         portEND_SWITCHING_ISR( ( cContextSwitchRequired ) );         /* End the interrupt in the AIC. */         AT91C_BASE_AIC->AIC_EOICR = 0; } The interrupt is configured according to following lines:        AT91F_PIO_CfgInput(AT91C_BASE_PIOA, INPUT_SERVO2_CAP);        AT91F_AIC_ConfigureIt (AT91C_BASE_AIC, AT91C_ID_PIOA, PIO_INTERRUPT_LEVEL, AT91C_AIC_SRCTYPE_INT_LEVEL_SENSITIVE, ( void (*)( void ) ) pio_ISREntry);        AT91F_PIO_InterruptEnable(AT91C_BASE_PIOA, INPUT_SERVO2_CAP);        //* set the interrupt by software        AT91F_AIC_EnableIt (AT91C_BASE_AIC, AT91C_ID_PIOA); My wrapping file looks like this:         RSEG ICODE:CODE         CODE32         EXTERN pio_ISR         PUBLIC pio_ISREntry ; Wrapper for the USB interrupt service routine.  This can cause a ; context switch so requires an assembly wrapper. ; Defines the portSAVE_CONTEXT and portRESTORE_CONTEXT macros. #include "ISR_Support.h" pio_ISREntry:     portSAVE_CONTEXT            ; Save the context of the current task.     bl    pio_ISR                ; Call the ISR routine.     portRESTORE_CONTEXT            ; Restore the context of the current task –                                 ; which may be different to the task that                                 ; was interrupted.         END Thanks in advance! //MB

Using ISR-wrapping with PIO

I replied to your other post. Regards.