带有宏标识符的 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