带有宏标识符的 FreeRTOS 静态数组声明
FreeRTOS static array declaration with a macro identifier
我正在从头开始学习 FreeRTOS。为此,首先,我开始调查 Task.c 文件。
在该文件中有宏、函数和声明。
但是我对声明的含义感到困惑,我不明白为什么?
在 task.c 中 PRIVILEGED_DATA 是这样使用的
PRIVILEGED_DATA static List_t pxReadyTasksLists[ configMAX_PRIORITIES ];/*< Prioritised ready tasks.*/
在上面,static List_t 类型数组声明是好的,但是声明开头的宏标识符是什么意思,以及如何可能在声明中使用宏标识符作为说明符的声明?
谢谢。
在Mpu_Wrappers.h
#define PRIVILEGED_DATA
在FreeRTOSConfig.h
#define configMAX_PRIORITIES 5
如果这只是简单的 C 代码,宏就只是一种文档。当代码从前置程序通过时,宏将展开为空。
但是在 freertos 中,这个宏是用来帮助 MPU 的。您可以在这里阅读更多内容:https://www.freertos.org/FreeRTOS-MPU-memory-protection-unit.html
我正在从头开始学习 FreeRTOS。为此,首先,我开始调查 Task.c 文件。 在该文件中有宏、函数和声明。
但是我对声明的含义感到困惑,我不明白为什么? 在 task.c 中 PRIVILEGED_DATA 是这样使用的
PRIVILEGED_DATA static List_t pxReadyTasksLists[ configMAX_PRIORITIES ];/*< Prioritised ready tasks.*/
在上面,static List_t 类型数组声明是好的,但是声明开头的宏标识符是什么意思,以及如何可能在声明中使用宏标识符作为说明符的声明?
谢谢。
在Mpu_Wrappers.h
#define PRIVILEGED_DATA
在FreeRTOSConfig.h
#define configMAX_PRIORITIES 5
如果这只是简单的 C 代码,宏就只是一种文档。当代码从前置程序通过时,宏将展开为空。
但是在 freertos 中,这个宏是用来帮助 MPU 的。您可以在这里阅读更多内容:https://www.freertos.org/FreeRTOS-MPU-memory-protection-unit.html