Hi all,
currently I'm working to detect a major problem in our software. It seems that a "lost" pointer is accessing some memory regions which it should not. However, no action happens when this forbidden accesses happen.
e.g. I would expect a data abort as soon as an uncorrectable flash location is accessed. Normally this mechanism works great. But in this special case no action happens. BTW: The ESM flags are set.
When I stop the programs execution with the debugger, I can see that the FMC's registers for the address of correctable and uncorrectable errors are filled with values. In my case it's 0x10000 for the correctable and 0x10008 for the uncorrectable one. Both are in an unused bootloader sector.
Now the strange thing I observed:
When the error occurs, the (undefined) register at address 0xFFF87300 changes it's value to 0x00060000. This register is no where documented. A read/write breakpoint to this location does also not work. How can the content of this register be interpreted?
I appended the content of the ESM and FMC registers as IntelHex to distinguish between a "good" and a "bad" run.
The device is a TMS570LS3137 with F021 flash module.
Kind regards,
Michael