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.
Hi ,
I've asked a question about reading memory from a malfunctioned device.
And the data read from its ROM and FRAM are corrupted.
Is there any known situation that will cause data corruption in ROM or FRAM?
Hi CY,
What is the VCC voltage on the MSP430?
Do you have 47k pull up resistor and 1nF cap on RST pin?
Do you have proper 0.1uF by-pass caps on all DVCC pins?
Are there any sources of high voltage/current in your system, such as switching power supply or motors?
Hi
Thank you for reply.
The VCC voltage is 3.3V.
There are pull up resistor and cap on RST pin.
And all the DVCC pins have by-pass caps.
I have a UART to RS485 module on my board, and the power of the module is not isolated. So there may be noises on the UART bus.
Will those noises cause FRAM data corruption?
And I've checked the corrupted data from FRAM, some of the corrupted parts were written to 0xFF or 0x00, some of the corrupted part was written with data from other section.
Are there any conditions will make FRAM controller to start unintended block copy and cause data corruption?
Hi CY,
Not very likely at all that ROM is corrupt - it cannot be changed without permanent damaging the device.
If you reprogram the device does it work or do you see the same failure?
Referencing the other thread and Dietmar's suggestion, I assume you were able to get the MSP-FET to read out the memory sections?
In your application code are you using the MPU, memory protection unit?
Does your code perform any modifications to any FRAM section?
Have you modified the lnk_msp430fr5994.cmd file?
Hi Dennis,
Sorry for my late reply.
I made a mistake, I found out that the ROM was not corrupted, only the FRAM was corrupted.
And I wonder if the FRAM could be unintended changed by the noise input from UART bus without permanent damaging the device.
The MPU is enabled by default, and the linker file was not modified.
Hi CY,
Ok, let's see if we can track down the source of the corruptions.
In your application code, do you have any routines that modify the FLASH contents on purpose, like updating calibration values, etc.?
Do you enable the MPU "memory protection unit"?
Is there a way to temporarily disconnect or physically isolate the RS485 portion of the circuit to rule out that as a possibility?
Are there any sources of high voltage/current, such as motors nearby that could be potential cause?
**Attention** This is a public forum