Dear Gaurav,
“FreeRTOS critical sections disable interrupts up to configKERNEL_INTERRUPT_PRIORITY”
I thought if only configKERNEL_INTERRUPT_PRIORITY is used, then in critical section, all interrupts are disabled? And when configMAX_SYSCALL_INTERRUPT_PRIORITY is used, then critical sections disable interrupts up to configMAX_SYSCALL_INTERRUPT_PRIORITY itself?
“Critical sections are the sections of code which manipulate FreeRTOS internal data structures…”
I thought in taskEnterCritical(), the only thing happening in there is that the interrupts got disabled? I cannot find anywhere in taskEnterCritical() that manipulates FreeRTOS internal data structure
Please correct me if I am wrong: I think it should be like below:
^ +------------+
| | IRQ1 |
| | |
| +------------+
Blocked during critical section | | IRQ2 |
| | |
| +------------+
| | IRQ3 |<------- **configMAX_SYSCALL_INTERRUPT_PRIORITY**
v | |
---+------------+
^ | IRQ4 |
| | |
Not blocked during critical section | +------------+
| | IRQ5 |
| | |
v +------------+