Using FreeRTOS on ARM Cortex-A9 Embedded Processors That incorporate a Generic Interrupt Controller (GIC)

Hi, I just successfully completed porting vConfigureTickInterrupt(), vClearTickInterrupt() vApplicationFPUSafeIRQHandler(), vParTestInitialise(), vParTestSetLED(), vParTestToggleLED() from the Cyclone V demo to a Cortex-A7, and your documentation “Using FreeRTOS on ARM Cortex-A9 Embedded Processors That incorporate a Generic Interrupt Controller (GIC) ” was great and extremely useful for this purpose – thanks. I would have a suggestion however: may be you could explicit that the interrupt priority for the timer interrupt shall be set in the GIC to portLOWESTUSABLEINTERRUPTPRIORITY << portPRIORITYSHIFT, i.e. something like: Special Note 4: The priority level for the interrupt IRQn used for the timer tick shall be set to (portLOWESTUSABLEINTERRUPTPRIORITY << portPRIORITYSHIFT) in its Interrupt Priority Register (ICDIPRn). Since I was using the ARM GIC for the very first time, I missed this part until vPortValidateInterruptPriority() trigered a configASSERT() while validating portICCRPRRUNNINGPRIORITY_REGISTER and revisited port.c and the Cyclone V demo code for vConfigureTickInterrupt(). Best regards,

Using FreeRTOS on ARM Cortex-A9 Embedded Processors That incorporate a Generic Interrupt Controller (GIC)

Thanks for taking the time to provide your feedback.

Using FreeRTOS on ARM Cortex-A9 Embedded Processors That incorporate a Generic Interrupt Controller (GIC)

You are welcome. I forgot to mention that I had to slightly modify portASM.s from:
.text
.arm
to:
.text
.cpu cortex-a7
.fpu neon-vfpv4
.arm
I am compiling with the following options: -march=armv7-a -mtune=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -mthumb All the best,