Other Parts Discussed in Thread: HALCOGEN, UNIFLASH
Hello,
I tried to generate the flash ECC using linker based on the following post and articles:
7.1. Linker Generated ECC — Hercules Safety MCUs Documentation
My Linker command file is as below:
MEMORY { VECTORS (X) : origin=0x00000000 length=0x00000080 vfill = 0xffffffff KERN_FUNC (RX) : origin=0x00000080 length=0x0000FF80 vfill = 0xffffffff FLASH0 (RX) : origin=0x00010000 length=0x00010000 vfill = 0xffffffff STACKS (RW) : origin=0x08000000 length=0x00001800 KERN_DATA (RW) : origin=0x08001800 length=0x00000800 RAM (RW) : origin=0x08002000 length=0x0003E000 VECTORS_ECC : org = 0xf0400000 len = 0x10 ECC = { input_range = VECTORS, algorithm = eccalgo, fill = true } KERN_FUNC_ECC : org = 0xf0400010 len = 0x1FF0 ECC = { input_range = KERN_FUNC, algorithm = eccalgo, fill = true } FLASH0_ECC : org = 0xf0402000 len = 0x2000 ECC = { input_range = FLASH0, algorithm = eccalgo, fill = true } } ECC { eccalgo : address_mask = 0x003ffff8 hamming_mask = R4 parity_mask = 0x0C mirroring = F021 }
my debug settings are as follow:
I have the flash ECC check enabled in Halcogen, and when I try to flash the generated binary from the CCS, I have the ESM module triggering the nError output.
I tried by flashing it from Uniflash, it has the same behaviour.
I guess there is some mistake in my linker file? could you please provide some feedback regarding this?
Thanks.