Since some time we run into FLASH programming problems on our TMX570LS2016 based boards. In the mean time our board manufacturer has built 60 brand-new boards with that CPU type that cannot be programmed any more after boundary scan. I have got the job to investigate the problem and in particular, I have checked on one of those boards what actually happens.
On the board, I have checked, the FLASH Core 0 cannot be programmed and in particular, erasing of the FLASH fails. I have tried nowFlash 3.38 as well as CCS UniFlash 2.2.0. Both tools fail with erasing Core 0 flash. The nowFlash tool indicates ‚Error 142‘, UniFlash just complains that there is an error on erasing FLASH. Both tools make use of the XDS100V2 interface to our target and the TI CPU.
The problem occurs on all sectors of Core 0, whereas all sectors of all other cores (Core 1, Core 2, Core 3) can be programmed and erased without any problem.
In order to get more information about the root cause of the problem, I have tried to perform erasing on-board with specific test software that makes use of the F035 flash library 1.06. The outcome of that investigation is, that already the call of Flash_Start_Compact_B() (which is the very first step of the erase sequence) on all sectors on Core 0 fails, whereas the same call with the same timing configuration on Core 1 .. Core 2 succeeds without any problem.
The reference manual of the CPU indicates that the TI OTP FLASH holds information about the state machine for the FLASH programming. So I tried to investigate whether the boundary scan eventually destroyed that information. However, I cannot read anything from the TI OTP FLASH region, neither on a fully operational board, nor on the board with the programming problem. I cannot read from that region with the download tooling nowFlash() / UniFlash() and I cannot read anything from that region by on-board software.
My questions now are:
- · Is there any protection mechanism that might (intentionally) prevent from programming / erasing FLASH memory regions that influences operation on a single FLASH core only?
- · Is there a way to read the content of the TI OTP FLASH memory in order to check whether there is any difference between a fully operation board and a board with the FLASH programming problem?