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.

TMS320F280048-Q1: UniFlash Programming Issue

Part Number: TMS320F280048-Q1
Other Parts Discussed in Thread: UNIFLASH

Hi Champs,

My customer is using the latest UniFlash version 6.1.x for F280048-Q1 flash programming. But they faced a problem as follows:
Program Load (Load Image) is OK but failed at random address during "Verify Image". I think verification is working during Load Image, but there was no error at that time. Failure just happens during verification by "Verify Image".

What can make this situation?  

Thansk,
Steve

  • Steve,

    Are the passwords programmed in the DCSM space on the device?

    If yes, keep the core connected, unlock the core by providing the correct password, and then try executing the verify operation.

    Thanks and regards,

    Vamsi

  • Vamsi,

    There are no passwords.

    Thanks,
    Steve

  • Steve,

    In Uniflash, keep the core connected (click on the core name at the top right corner and enable "Remain Connected after operations") and then do the program operation.  After the program load, now try the "Verify image" and see if that works.

    Thanks and regards,

    Vamsi

  • Vamsi,

    If the programming result is OK at Load Image with the "Verify Flash after Program" option, can you guarantee that the program was loaded successfully?
    I think "Verify Flash after Program" option uses Fapi_doVerify() function in RAM during flash programming. But the "Verify Image" reads all Flash data and compares the Hex file and the data in UniFlash. Is it correct?     

    Does noise on JTAG line can make this situation?

    Thanks,
    Steve 

  • Steve,

    Verify flash after program option - This is done by Fapi_doVerify() from RAM.  This option verifies immediately after the program operation to ensure CPU is able to read back after program.

    Verify Image - Yes, your understanding is correct.  Are you able to use this after enabling "Keep the core connected" feature?

    I don't think noise can cause a failure in this case (assuming program and verify flash after program went fine without any issues).

    Thanks and regards,
    Vamsi

  • Vamsi,

    Thank you for your quick answers.
    Let me ask for the customer to try what you mentioned ("Keep the core connected"). This failure did not occur in their R&D lab during development. But this situation only happens in the manufacturing JIG environment. 

    Thank,
    Steve

  • Steve,

    Sure.  Let me know how it goes with this option enabled.  

    I will keep this thread in pause.

    Thanks and regards,
    Vamsi

  • They will use a Standalone Command Line in UniFlash. Does it work without adding additional commands in batch file for this option("Keep the core connected") ?

    Thanks,
    Steve

  • Steve,

    I will ask our CLI expert to help you on this.

    Thanks and regards,
    Vamsi

  • Hi Steve,

    I am not aware of any CLI commands for that setting. I am checking with the UniFlash experts for confirmation and workarounds.

    Thanks

    ki

  • Steve,

    As discussed offline, customer may have to use DSS scripting instead - Ki will confirm.

    Thanks and regards,
    Vamsi

  • The result was the same after enabling of "Keep the core connected" feature. Sometimes the verification succeeds, but it fails several times on random addresses. Two attached files are the logs for pass and failure.

     

    Pass Log.txt
    Executing default command:
    > dslite --mode flash -c user_files/configs/f280040c.ccxml -l user_files/settings/generated.ufsettings -s VerifyAfterProgramLoad="No verification" -e -f -v "user_files/images/PHAL-G803A_20210428A.hex"  
    
    DSLite version 10.1.0.2076
    Configuring Debugger (may take a few minutes on first launch)...
    	Initializing Register Database...
    	Initializing: IcePick_C_0
    	Executing Startup Scripts: IcePick_C_0
    	Initializing: C28xx_CPU1
    	Executing Startup Scripts: C28xx_CPU1
    Connecting...
    C28xx_CPU1: GEL Output: 
    Memory Map Initialization Complete
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    Loading Program: user_files/images/PHAL-G803A_20210428A.hex
    	Preparing ... 
    	0 of 4 at 0x80000
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    Erasing Flash
    	Erasing Bank 0, Sector 0
    	Erasing Bank 0, Sector 1: 2%
    	Erasing Bank 0, Sector 2: 5%
    	Erasing Bank 0, Sector 3: 8%
    	Erasing Bank 0, Sector 4: 11%
    	Erasing Bank 0, Sector 5: 14%
    	Erasing Bank 0, Sector 6: 17%
    	Erasing Bank 0, Sector 7: 20%
    	Erasing Bank 0, Sector 8: 23%
    	Erasing Bank 0, Sector 9: 26%
    	Erasing Bank 0, Sector 10: 29%
    	Erasing Bank 0, Sector 11: 32%
    	Erasing Bank 0, Sector 12: 35%
    	Erasing Bank 0, Sector 13: 38%
    	Erasing Bank 0, Sector 14: 41%
    	Erasing Bank 0, Sector 15: 44%
    	0 of 158 at 0x81000
    	0 of 38040 at 0x81050
    	32752 of 38040 at 0x81050: 67%
    	0 of 182 at 0x87000: 78%
    	0 of 3042 at 0x88000: 79%
    	0 of 4 at 0x8bff0: 85%
    	0 of 2 at 0x8bff8: 85%
    	0 of 7020 at 0x8c000: 85%
    	Finished: 85%
    	Setting PC to entry point.: 85%
    Verifying Program: user_files/images/PHAL-G803A_20210428A.hex
    	Preparing ... 
    	0 of 4 at 0x80000
    	0 of 158 at 0x81000
    	0 of 38040 at 0x81050
    	32752 of 38040 at 0x81050: 67%
    	0 of 182 at 0x87000: 78%
    	0 of 3042 at 0x88000: 79%
    	0 of 4 at 0x8bff0: 85%
    	0 of 2 at 0x8bff8: 85%
    	0 of 7020 at 0x8c000: 85%
    	Finished: 85%
    info: C28xx_CPU1: Program verification successful for user_files/images/PHAL-G803A_20210428A.hex
    Success
    

    Verify Faill Log.txt
    Executing default command:
    > dslite --mode flash -c user_files/configs/f280040c.ccxml -l user_files/settings/generated.ufsettings -s VerifyAfterProgramLoad="No verification" -e -f -v "user_files/images/PHAL-G803A_20210428A.hex"  
    
    DSLite version 10.1.0.2076
    Configuring Debugger (may take a few minutes on first launch)...
    	Initializing Register Database...
    	Initializing: IcePick_C_0
    	Executing Startup Scripts: IcePick_C_0
    	Initializing: C28xx_CPU1
    	Executing Startup Scripts: C28xx_CPU1
    Connecting...
    C28xx_CPU1: GEL Output: 
    Memory Map Initialization Complete
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    Loading Program: user_files/images/PHAL-G803A_20210428A.hex
    	Preparing ... 
    	0 of 4 at 0x80000
    C28xx_CPU1: GEL Output: ... DCSM Initialization Start ... 
    C28xx_CPU1: GEL Output: ... DCSM Initialization Done ...
    Erasing Flash
    	Erasing Bank 0, Sector 0
    	Erasing Bank 0, Sector 1: 2%
    	Erasing Bank 0, Sector 2: 5%
    	Erasing Bank 0, Sector 3: 8%
    	Erasing Bank 0, Sector 4: 11%
    	Erasing Bank 0, Sector 5: 14%
    	Erasing Bank 0, Sector 6: 17%
    	Erasing Bank 0, Sector 7: 20%
    	Erasing Bank 0, Sector 8: 23%
    	Erasing Bank 0, Sector 9: 26%
    	Erasing Bank 0, Sector 10: 29%
    	Erasing Bank 0, Sector 11: 32%
    	Erasing Bank 0, Sector 12: 35%
    	Erasing Bank 0, Sector 13: 38%
    	Erasing Bank 0, Sector 14: 41%
    	Erasing Bank 0, Sector 15: 44%
    	0 of 158 at 0x81000
    	0 of 38040 at 0x81050
    	32752 of 38040 at 0x81050: 67%
    	0 of 182 at 0x87000: 78%
    	0 of 3042 at 0x88000: 79%
    	0 of 4 at 0x8bff0: 85%
    	0 of 2 at 0x8bff8: 85%
    	0 of 7020 at 0x8c000: 85%
    	Finished: 85%
    	Setting PC to entry point.: 85%
    Verifying Program: user_files/images/PHAL-G803A_20210428A.hex
    	Preparing ... 
    	0 of 4 at 0x80000
    	0 of 158 at 0x81000
    	0 of 38040 at 0x81050
    error: C28xx_CPU1: File Loader: Verification failed: Values at address 0x8320B@Program do not match Please verify target memory and memory map.
    	Finished
    

    Thanks,
    Steve

  • Steve,

    Can you send a DCSM OTP dump for the application image?  

    Also, please send map file and linker cmd file,

    Thanks and regards,
    Vamsi

  • There is no option for that setting ("remain connected after operations"). Typically when using CLI, each operation is independent and the debugger is shut down after the command is run. 

    Does the address for the verification failure constantly change?

    Also, when you actually look at the address in question (via UniFlash GUI), is the value indeed incorrect?