This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430FR6047: MPU Protection in MSP430FR6047

Part Number: MSP430FR6047


       Recently we come across the memory overwrite issue in the field. We haven't observed in our initial level testing. Suddenly our device is misbehaving. After the binary comparison of our filed device and working device binary we came to know that some memory overwriting is happening. After that we decided to enable to MPU in our device.

Enable the MPU first we have divided in our FRAM in three sections.

FRAM : origin = 0x4000, length = 0xBF80 ( This Read, write and execute)
FRAM2 : origin = 0x10000,length = 0x24400 (Execute)
FRAM3 : origin = 0x34400,length = 0xFBF0( Read and Write (Data Logging))

Attached Screenshot of memory segmentation.


FRAM: Persistant Data, Text_ISR , IPE data

FRAM2: text data

FRAM3: Logging data

As we have two option to enable the MPU from GUI or system_pre_init() function. I have checked with both side and its working fine.

Please find the screenshot of MPU configurations.




Problem I am facing is whenever I will place the text_ISR() in the FRAM2 (That is execute only) section then my code is not loading to device. As per my understanding .text_ISR() is in FRAM2 which is execute segment only.

Is it I am doing anything wrong with MPU configuration.

help is greatly appreciated.


Ajay Matariya

**Attention** This is a public forum