TMS570LS3137: Flash image corrupts upon enabling the ECC

Part Number: TMS570LS3137
Other Parts Discussed in Thread: NOWECC,

Hello,

We use a TMS570LS3137 processor with CCS version 10.1.1 and the TI ARM 20.2.4 LTS compiler. We have enabled both Flash and RAM ECC using a dual-method setup. The ECC for the primary Flash and RAM areas is generated directly via the linker command file, excluding the CRC placeholder region. The ECC for this specific CRC region is calculated and appended post-build using the nowECC utility.

Although the resulting binary image flashes successfully, a critical failure occurs when executing the system assembly instruction that enables the Flash ECC inside the CPU (MCR P15, #0x00, R0, C1, C0, #0x01). Upon execution, the Flash memory contents appear corrupted in the debugger view, and the subsequent runtime Flash CRC verification fails. This behaviour manifests exclusively when the total size of the initialized data sections (.data) exceeds 0x4000 bytes.

To mitigate this, we have verified that all unused memory spaces are padded via vfill=0xFFFFFFFF, the application image boundaries are strictly aligned to 8-byte margins, Auto-ECC generation is turned off in the CCS Flash settings, and there are no overlapping memory segments

Need your support to resolve the issue.

 

Thanks,

Sundaram