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: ECC generation in Uniflash and F021 lib

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

Hi all:

    I have a qs on ECC generation. The memory map of LC4357 in page 121 in trm which shows me the location of "Flash ECC".  The more specific  address is from 0xF040_0000 to 0xF05F_FFFF.

    I have three questions about this address:

    1. When I use UNIFLASH to download the new hex file into LC4357, and I choose the "Auto ECC generation" and "Entire Flash",  will the uniflash erase this address( 0xF040_0000 to 0xF05F_FFFF.)?

    2. When I use F021 lib to erase and write flash, will the f021 lib will generate the ecc automatically?

    3. When I use UNIFLASH erasing the whole flash, I think the data in flash should be 0xFFFF_FFFF,. However, when I reading through uniflash, I find the values of flash are not 0xFFFF_FFFF, maybe 0xFF3E_FFEF or something else, why?

Thanks & Regards

Li

   

  • Hi Li,

    1. When I use UNIFLASH to download the new hex file into LC4357, and I choose the "Auto ECC generation" and "Entire Flash",  will the uniflash erase this address( 0xF040_0000 to 0xF05F_FFFF.)?

    Yes, the UNIFLASH will erase this address range and as we enabled the "Auto ECC generation" option so it will re-write this address range with the calculated ECC values based on the application hex file we are providing.

      2. When I use F021 lib to erase and write flash, will the f021 lib will generate the ecc automatically?

    Yes, it is possible.

    Actually, there are four programming modes for "Fapi_issueProgrammingCommand()" API in F021 flash library. If we select the Fapi_AutoEccGeneration, then will enable the API to be used to program the supplied data portion in Flash along with automatically generated ECC.

    3. When I use UNIFLASH erasing the whole flash, I think the data in flash should be 0xFFFF_FFFF,. However, when I reading through uniflash, I find the values of flash are not 0xFFFF_FFFF, maybe 0xFF3E_FFEF or something else, why?

    This is expected behavior for TMS570LC4357 device, please refer below thread and also attached sub threads in below thread to understand why this is happening.

    (+) TMS570LC4357: QS on ECC function - Arm-based microcontrollers forum - Arm-based microcontrollers - TI E2E support forums

    --

    Thanks & regards,
    Jagadish.