using the MPU feature within the FreeRTOS v10, I’m getting the following warnings from IAR/EWARM IDE:
Warning[Be006]: possible conflict for segment/section "privileged_data": FreeRTOS\Source\timers.c 137
variable "xTimerQueue" (declared at line 137 of "FreeRTOS\Source\timers.c") is an initialized variable (2 more variables like this)
variable "xActiveTimerList1" (declared at line 131 of "FreeRTOS\Source\timers.c") is a zero-initialized variable (3 more variables like this)
tasks.c
Warning[Be006]: possible conflict for segment/section "privileged_data": FreeRTOS\Source\tasks.c 348
variable "pxCurrentTCB" (declared at line 348 of "FreeRTOS\Source\tasks.c") is an initialized variable (14 more variables like this)
variable "pxReadyTasksLists" (declared at line 351 of "FreeRTOS\Source\tasks.c") is a zero-initialized variable (7 more variables like this)
well! actually this is officially released in the STM32 Cube FW F4, but based on FreeRTOS 9, but when integrating it with FreeRTOS 10, I’m getting the abovementioned warnings.
Turns out there is a FreeRTOS MPU port for IAR in the official SVN
repository, but there doesn’t seem to be a demo project for it, hence I
missed it when I looked the first time, and I don’t recall how it was
tested.
O.K., but what is strange is that the warnings are thrown from the FreeRTOS official source code not from a modified part.(BTW the FreeRTOS 9 doesn’t have any warning in the Cube FW)
Thanks Gaurav,
I too have analyzed the code and yes, I believe they are caused by the linker thinging they are placed outside of the data segemtn or the .bss. and having to initialize them to values. If you remove the initialization (not recomended), the warning will not be thrown.