I'm having difficulties to configure MPU on RM48L950AZWT HDK. I enabled and configured the regions 2 and 3 (Flash and RAM), and then I also enabled MPU in general settings. I made it in HalCoGen 3.00.01, finally I generated code and integrated it into a project. I inserted _mpuInit()_ and _mpuEnable()_ in sys_startup.c just before main() is called.
My code gets restarted inside the main() function without any obvious reason. I checked the SYSESR register bit 0 after I called _mpuInit()_ and _mpuEnable()_, in the debug mode and I see that this bit is set to zero. This would mean MPU is disabled. On the other hand, it makes significant difference to have _mpuInit()_ and _mpuEnable()_ in code. When I remove them, the application is running as expected.
Does anybody has an experience with this issue?
When an address is issued that does not fall into any region, it generates an abort. If you have regions for only Flash and RAM, you should generate an abort if you try to access any peripheral space (or any access outside of what you have specified as MPU regions).
It might make sense
(1) to see if an abort is generated
(2) to add a background region for the MPU.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.