xz8987f wrote on Sunday, October 23, 2016:
Hello,
On http://www.freertos.org/a00020.html#taskDISABLE_INTERRUPTS it says:
*taskDISABLEINTERRUPTS
task. h
Macro to disable all maskable interrupts.
This macro should rarely be called directly. Use taskENTERCRITICAL() and taskEXITCRITICAL() instead.
**
But checking Cortex-M4 ports, it only disable interrupts up to
/**
* task. h
*
* Macro to disable all maskable interrupts.
*
* \defgroup taskDISABLE_INTERRUPTS taskDISABLE_INTERRUPTS
* \ingroup SchedulerControl
*/
#define taskDISABLE_INTERRUPTS() portDISABLE_INTERRUPTS()
And in the ARM_CM4F port it is implemeted as:
#define portDISABLE_INTERRUPTS() vPortRaiseBASEPRI()
Which only masks interrupts up to configMAX_SYSCALL_INTERRUPT_PRIORITY.
I understand that taskENTER_CRITICAL() would mask up to configMAX_SYSCALL_INTERRUPT_PRIORITY, but according to the description taskDISABLE_INTERRUPTS should maks all interrupts (and not only up to configMAX_SYSCALL_INTERRUPT_PRIORITY)?
Thanks,
Erich