dnadler wrote on Thursday, August 25, 2016:
Hi Richard ! I got an assertion when I forgot to set an interrupt’s priority (thanks for that!).
I set it to configMAX_SYSCALL_INTERRUPT_PRIORITY and the code no longer asserts.
However, the comments in FreeRTOS and documentation are approximately as follows:
// ISRs using FreeRTOS APIs (for example, USB CDC driver uses FreeRTOS queues) must have priority
// logically lower (numerically higher) than configMAX_SYSCALL_INTERRUPT_PRIORITY.
// For an interrupt priority to be lower than configMAX_SYSCALL_INTERRUPT_PRIORITY,
// it must be numerically higher than configMAX_SYSCALL_INTERRUPT_PRIORITY, because on the
// ARM Cortex-M3 numerically low priority values represent logically high interrupt priorities.
Should the comments/documentation read “less than or equal to”?
Or should the code be asserting if I do the following?
NVIC_SetPriority (USB_IRQn, configMAX_SYSCALL_INTERRUPT_PRIORITY);
Thanks as always,
Best Regards, Dave