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.

TMS570LC4357: Flash ECC area and test mechanism

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

Hello,


I have differents questions about Flash ECC area (Between addresses 0xF0400000 to F05FFFFF) :


-->  As we have 8 Bit ECC for every 64 bit of Data only 515KBytes are used in this area? the remaining 1,5 MBytes are not used?

--> In Datasheet, it is mentionned that the ECC needs to be calculated by an external tool such as nowECC.
Is it possible to program automatically ECC data by CPU and not by external tool. Which register can be used?

--> Is it possible to check integrity of Flash ECC area (no stuck bit to '0' or '1' for example) by programming and reading Data (for example with 0xAA/0x55)?
In this case ECC mechanism must not be activated?
 
--> To test ECC mechanism with 1 Bit or 2 Bit in error, I need to corrupt Flash ECC area. I have found ECC Data Correction Diagnotic Mode 7 (DIAGMODE = 7) in Datasheet.

With this Diagnostic selftest all Flash address can be covered?
Is there an another mean? For example, is it possible to deactivate ECC mechanism, write directly in flash ECC area with bad values and activate ECC mechanism to check correction or detection?

Best regards,

François

  • Hello François,

    1. The available frame size is 2MB, but only 512KB is implemented. Accessing any in-implemented memory location in frame will generate abort. 

    2. You can calculate/program ECC using nowECC, CCS, or using the F021 flash APIs (normally used in bootloader to program the firmware).

    3. TMS570LC4357 has ECC for flash, SRAM, cache. They are enabled as default, and can not be disabled.

    4. The diagnostic mode 7 can be used for testing 1-bit or 2-bit ecc errors. You have to use the dedicated registers to alter the ECC and data (FEMU_DxSW, FEMU_ECC).