On http://www.freertos.org/a00020.html#taskDISABLE_INTERRUPTS it says:
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 taskDISABLEINTERRUPTS taskDISABLEINTERRUPTS
* ingroup SchedulerControl
define taskDISABLEINTERRUPTS() portDISABLEINTERRUPTS()
And in the ARMCM4F port it is implemeted as:
`#define portDISABLEINTERRUPTS() vPortRaiseBASEPRI()`
Which only masks interrupts up to configMAXSYSCALLINTERRUPT_PRIORITY.
I understand that taskENTERCRITICAL() would mask up to configMAXSYSCALLINTERRUPTPRIORITY, but according to the description taskDISABLEINTERRUPTS should maks all interrupts (and not only up to configMAXSYSCALLINTERRUPTPRIORITY)?
You are right - I think this is a case of very old documentation, which I will correct. Thanks for the heads-up.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.