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.

TMS320F280041: Questions reagrding verification error in UniFlash

Part Number: TMS320F280041
Other Parts Discussed in Thread: UNIFLASH

Hi experts,

We have two questions regarding Uiflash.

Firstly, what do "verify image" function meant to do? How does it work?

Secondly, my customer usually have verification error occured when programming .out file either generated from CCS or read out from a programmed chip using UniFlash.

Thanks

Sheldon

  • Sheldon,

    "Verify Image" does a standalone verify. It does not invoke Flash or DCSM initialization. It simply tries to compare the executable content with that of what is already loaded in to the device memory.  Since DCSM initialization is not invoked in this method, if user has programmed the password (and device is locked), “Verify Image” operation will fail since it does not perform an unlock operation before it tries to reads/verify memory. As a workaround, you can keep the core connected, unlock the core by providing the correct password, and then execute the verify image operation.

    In the first snapshot, I see address 0xF5 failed for verify.  It is not a Flash address.  Are they trying to load an image that has contents mapped to RAM as well (along with Flash)?  Please note that CCS Flash Plugin or UniFlash are developed for fully embedded applications. It does not guarantee loading contents to RAM.  Hence, all the initialized sections in the linker cmd file should be mapped to Flash only.  If the application needs anything to be executed or read from RAM, that should be copied from Flash to RAM at runtime before accessing them from their respective RAM addresses.

    Regarding the second snapshot: I think the USER OTP is defined only in the data space in gel file. Try to define it in program space as well (you need to add below in gel file's hotmenu F280041_Memory_Map() ).

        GEL_MapAddStr(0x00078000,0, 0x400, "R|AS2",0);                       /*   USER OTP BANK1 (2 KBytes)

    Thanks and regards,

    Vamsi