MPU: EWARM warnings

rahmanih wrote on Monday, June 18, 2018:

Hi,

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) 

any Idea how to fix them?

regards
Haithem.

rtel wrote on Monday, June 18, 2018:

any Idea how to fix them?

I will have to take a look and report back.

rtel wrote on Tuesday, June 19, 2018:

Ok - just coming to test this and can’t see an official IAR port for
FreeRTOS MPU - is this a project you created yourself?

rahmanih wrote on Tuesday, June 19, 2018:

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.

rahmanih wrote on Tuesday, June 19, 2018:

Could you please have a look at it?
thanks in advance.

richard_damon wrote on Wednesday, June 20, 2018:

STM32 Cube is NOT the official release, but a modified version by ST Micro. You might check if their version 9 was ‘stock’ or if it was modified.

rtel wrote on Wednesday, June 20, 2018:

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.

rahmanih wrote on Wednesday, June 20, 2018:

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)

regards
haithem.

kg7hf wrote on Tuesday, September 10, 2019:

Was there any resolution to this? I just leaped to 10.2 from 9.0 and have the same warnings.

kg7hf wrote on Tuesday, September 10, 2019:

Was there any resolution to this? I just leaped to 10.2 from 9.0 and have the same warnings.

gaurav-aws wrote on Tuesday, September 10, 2019:

We have examined the generated code and those warnings are harmless. You can supperss them by following these steps:

  • Right click on the project and click options.
  • Go to C/C++ Compiler --> Extra Options.
  • Add --diag_suppress Be006

Thanks.

kg7hf wrote on Tuesday, September 10, 2019:

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.