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