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.
Hello TI Team,
We are facing Data abort in the TMS570 controller. We are using the MPU initilazation function _mpuInit_(); in the main function. We suspect this _mpuInit_(); function is causing data aborts with the IAR reset option.
when we commented the _mpuInit_(); function, we didn't face any Data aborts on the TMS570 MCU.
So i think _mpuInit_(); function is cause of data abort problem. But why this is causing Data abort is unknown to me??
For your info, we are using THREADX as OS.
Steps to reproduce the issue:
1. Connect the setup
2. In IAR, Flash the FW
3. Run the target device (F5)
4. Execute the reset command and then run again.
5. The TMS570 hung in the _dabort handler.
Do we need to call _mpuinit() after the main() function ??
if we are using OS, should we need to call the functions _mpuinit() _mpuEnable_()?
From safety point of view, will you recommend memory protection need to enabled??
Can you share some information on memory protection, as the info in tms570 technical document is limited.
Hi Bharat,
The dabort may be caused by accessing a memory location which is MPU protected. The Cortex-R4 MCU has a system control coprocessor implemented, the CP15. The CP15 offers the possibility to readout additional information about an abort. Registers in the CP15 that hold information about the cause of an abort are:
• Data Fault Status Register
• Auxiliary Fault Status Registers
• Data Fault Address Register
• Instruction Fault Address Register
You can read those registers at CCS->View->Registers->CP15