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.

TMS470M : Linker generated ECC issue

Other Parts Discussed in Thread: NOWECC

Hello,

I tried to generate ECC value with the latest linker version. I set up the ECC algorithm for TMS470M as follows :

MEMORY
{
    FLASH0        (RX) : origin=0x00000000 length=0x00004000 vfill=0xffffffff
    ECC_FLASH0    (R)     : origin=0x00400000 length=0x00002000 ECC={ input_range=FLASH0 fill = false }
    STACKS      (RW) : origin=0x08000000 length=0x00000800
    RAM         (RW) : origin=0x08000800 length=0x00003800
}

ECC
{
   eccalgo : address_mask = 0x003ffff8
             hamming_mask = FMC
             parity_mask  = 0xFC
             mirroring    = F035
}

When I checked the result with the ECC generated with nowECC, Only the last bytes are different :

Last S-records frame of code :

S32500000B68000100000B1100000B1100000B1100000B1101040001000000FFFFFF00000B5B8D
S31100000B8800000B4D00000B680800080080

Last S-record frame of ECC generated by now ECC :

S315004005C0F95AF95AF95AF95A510F510F510F510F19

Last S-record frame of ECC generated by Linker :

S315004005C0F95AF95AF95AF95AFDED991C3F7618002D

Obviously, the ECC generated by linker is not correct (the mirroring is broken).

Can anyone help me to understand this issue ?

Thanks,

David