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.

CCS/UNIFLASH: The object file with ECC generated through Linker CMD is not programmed to flash correctly

Part Number: UNIFLASH
Other Parts Discussed in Thread: TMS570LS3137

Tool/software: Code Composer Studio

Hello Expert,

One of my customers uses Linker CMD to generate ECC for the whole flash, and use Uniflash to load the object file to the flash (TMS570LS3137). 

The vfill is used in Linker CMD to virtually fill 0xFFFFFFFF to the whole flash: 

MEMORY
{

/* Flash RAM 3MiB*/
VECTORS (RX) : origin=0x00000000 length=0x00000020 vfill=0xFFFFFFFF
FLASH (RX) : origin=0x00000020 length=0x0017FFE0 vfill=0xFFFFFFFF

/* SOC RAM */
ECC_VECTORS (R) : origin=0xF0400000 length=0x000004 ECC={ input_range=VECTORS, algorithm=eccalgorithm, fill=true }
ECC_FLASH (R) : origin=0xF0400004 length=0x02FFFC ECC={ input_range=FLASH, algorithm=eccalgorithm, fill=true }

/* Safe RAM 32KiB*/
RAM (RW) : origin=0x08000000 length=0x00003400

}

ECC
{

eccalgorithm : address_mask = 0x003ffff8
hamming_mask = R4
parity_mask = 0x0C
mirroring = F021

}

After the object file is loaded to the flash using uniflash, customer noticed that the ECC of un-used flash is not programmed. Image verification failed too. Step to have the issue:

1) Erase the flash  -> SUCCESS

2) Power off

3) Power on

4) Load Application without any verification -> SUCCESS

5) Verify Application -> FAILURE  ----> check the memory content and found the ECC of unused flash is not programmed

6) Load Application without any verification -> SUCCESS

7) Verify Application -> SUCCESS   --> check the memory content and found the ECC of unused flash is programmed correctly.

Do you have any idea why the first load (step 4) doesn't work well. Thanks

  • Hi QJ,

    I just wanted to update you that I am currently investigating this issue. I will keep you updated of my progress.

    Thanks

    ki

  • Hi QJ,

    I am trying to load the ls31_can_boot application (ls31_can_boot.out) on my Hercules TMS570LS3137 Development Kit and I keep getting a load error:

    [WARNING] CortexR4: Loader: One or more sections of your program falls into a memory region that is not writable. These regions will not actually be written to the target. Check your linker configuration and/or memory map.

    This happens on both UniFlash 5.3.1 and CCS 10.0. Am I missing some configuration step?

    Thanks

    ki