Hi Experts,
I am right now facing the problem of bits flip in MSC1210 Flash and need your kind help on it. The detail of the issue is,
"We are using MSC1210 microcontroller in our high temperature downhole product for Oil field services. Recently we received 4 cases of our product failure and these failure turned out to be caused by the microcontroller MSC1210(microcontroller stopped working/Stuck). For investigation purpose, we compared the firmware (hex) file downloaded (at the time of programming this micorcontroller) and the firmware (hex) file read-back (after failure) from the same micorcontroller. By right these 2 files should be same, but to our surprise, we found out that there are differences in the Code Flash memory contents at 2 address locations, which corresponds to 2 bytes, as shown in the table below Also please find in the attachment, the screenshot of the comparison of correct hex file data (on the left side, highlighted red) and corrupted hex file data (on the right side, highlighted red)
Address Location |
Correct Data Byte |
Corrupted Data Byte |
Remarks |
0x0000 |
0x02 ( binary = 0000 0010) |
0x00 (binary = 0000 0000) |
2nd data bit (from right) is flipped from 1 to 0 |
0x0080 |
0xB4 (binary = 1011 0100) |
0x80 (binary = 1000 0000) |
3rd, 5th and 6th bits (from right) is flipped from 1 to 0 |
Importantly, the flash memory is programmed as write – protected (with default HCR0.PML = 1). All of 4 product were failed at low temperature (not even exposed to high temperature).
Questions:
1) Did anyone here ever received this kind of complain? If yes, then how you overcome this issue? If no, then please suggest a solution for the problem explained above.
2) I am interested to know, why is this happened and what could be the possible root causes and how could it be avoided?
Any help on this issue will be highly appreicated. Looking forward for the kind help.
Regards
Asad