I use TMS570LC4357 microcontroller. I read that when I use this microcontroller with rtos, I can select how many region I want to use.
I know that In default settings, I have 3 task configurable region and 1 stack region. I can use this 3 region different every single task defination with xTaskCreateRestricted.
In practice, I’m using this default settings and I define this 3 task configurable regions with xTaskCreateRestricted. I’m trying ‘‘No Access’’ to ram memory at 0x08003000, 0x08003020 and 0x08003040 addresses. However when I look at the memory map, ı see that I can define only 2 region, 3th region isn’t defined. Why could it be.
Looking at this document, the MPU regions you are trying to configure do not satisfy the hardware requirements:
The region start address needs to be a multiple of the region size.
The regions size must be a power of 2.
Also, are you trying to prevent access to task’s stack? If so, I am not sure it will work as the task needs access to its stack memory. What are you trying to achieve?
Actually, my last address is multiple of the region size and my region size is power of 2. So ı can define 2 region this way. But 3th region isn’t working even if everything is the same. According to this settings, 3th region must work like the others.
I will protect my task stacks and I want to use effective this feature. So I want to solve this problem.