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/TMS320F28377D: CCS Flash error with data verification failed.

Part Number: TMS320F28377D
Other Parts Discussed in Thread: UNIFLASH

Tool/software: Code Composer Studio

Hi All,

I am using a Black hawk 560v2 USB terrace debug probe to program TMS320F28377D micro. I have flashed many times before and it ran successfully.

But after flashing one of the projects today morning it is suddenly giving out the following error and unable to flash anything.

I even tried using Uniflash but was not successful.

C28xx_CPU1: Error initializing flash programming: Interface returned from dll, but flash is not available on this device.
C28xx_CPU1: 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.
C28xx_CPU1: File Loader: Verification failed: Values at address 0x80002@Program do not match Please verify target memory and memory map.
C28xx_CPU1: GEL: File: C:\Users\.....\Merged_Mana_Bala_ControlBoard_PS_CPU1.out: a data verification error occurred, file load failed.
C28xx_CPU1: GEL Output:
Memory Map Initialization Complete
C28xx_CPU2: GEL Output:
Memory Map Initialization Complete
C28xx_CPU2: Error initializing flash programming: Interface returned from dll, but flash is not available on this device.

Any help would be appreciated.

Thanks,

Bala.

  • Bala,

    Few debug tips that may help: 

    1) Did you check if XRSn is toggling on your board? May be the application programmed in the Flash is causing resets as it executes.  

    2) What boot mode GPIO config are using when you try to reprogram the device? Hope it is wait boot or serial boot - It will stop device from executing the application so that the device remains in a known state to take over Flash programming.

    3) Did you program any DCSM settings in the OTP as part of your latest project? If the device is locked, you need to provide password to unlock the device before you can reprogram (using Flash tools).

    Which version of UniFlash are you using?

    Thanks and regards,
    Vamsi

  • Hi Vamsi ,

    Thanks for the reply.

    1. I will check and let you know.

    2. I believe I am in Emulation boot mode

    3. I didn't program any DCSM settings. How to check whether it is locked? If it is locked then how to unlock it.

    I have used uniflash 3.4 version as the latest 5.1 version doesnt have Blackhawk probe support.

    Thanks,
    Bala.
  • Hi Vamsi,

    I have checked the XRSn pin and it is high all the time.
    Also, boot mode GPIO config is in Get Mode.

    Thanks,
    Bala.
  • Bala,

    Regarding #3: Please go through "3.13 Dual Code Security Module (DCSM)" section in TRM at http://www.ti.com/lit/ug/spruhm8h/spruhm8h.pdf

    "Figure 3-22. Location of Zone-Select Block Based on Link-Pointer" shows the address for password locations (Zx-CSMPSWD0/1/2/3). See if you programmed anything in those locations by connecting to the debugger.

    UniFlash 3.4 was released 6 years ago. See if you can use latest versions. You can try latest CCS as well.

    Thanks and regards,
    Vamsi

  • Vamsi,

    I have connected the debugger and saw the password locations and they are all 1's at both Zone1 and Zone2.
    Also, I have installed the latest Uniflash and getting the same data verification error as before.

    I am not sure how to proceed further without being able to erase the flash and then programming it.

    Thanks,
    Bala.
  • Bala,

    Did you change anything in your linker command file or the board when it started failing for you?

    Can you generate the logs for us to debug this further: processors.wiki.ti.com/.../UniFlash_v4_Quick_Guide

    Thanks and regards,
    Vamsi
  • Bala,

    Also, which device did you select when you created the target config file?

    Thanks and regards,
    Vamsi
  • 6204.ds.logVamsi,

    Thanks for the quick responses.I didn't change anything in the command file .

    I am selecting the TMS320F28377D device in the target config file which is on our custom made board.

    Also for generating the log time ,if I use the Uniflash verison 5.0 then it is not responding as soon as I give the command to Erase/Program Flash.

    If I use the version 3.4  then it is giving an error on erase/flash but generating a log file .

    I am including the log file from the version 3.4.

    Also,I am wondering if this is something because of depletion? If so, how to recover from that?

    Thanks,

    Bala.

  • Bala,

    Thank you for the log file.
    Will get back to you early next week.

    Thanks and regards,
    Vamsi
  • Thanks, I will be waiting for your response.

  • Bala,

    I asked our UniFlash Host SW expert to take a look at this.
    Please expect a reply in a day or two.

    Thanks and regards,
    Vamsi
  • Thanks for the update Vamsi.
  • Bala,

    Could you check the values at addresses 0x700B0 and 0x700B1? You can connect the device to debugger and check the values at these addresses in memory window. Please let me know the values for both CPU1 and CPU2.

    Thanks and regards,
    Vamsi
  • Hi Vamsi,

    The values are 0x5303 and 0x7715 at the above locations you have mentioned. They are the same for both the CPU's.

    Thanks,
    Bala.
  • Bala,

    Thank you for confirming the values. The data you read from debugger memory window is correct, whereas the log that you sent shows different values for these locations. We use these locations to make sure that the device that you selected is indeed the device that you are using.

    I need to further look in to this on why this is happening. You said you were able to erase/program fine earlier on the same device, but not now. I wonder if you changed anything - power supply for the board or the host PC etc.
    May be you updated your emulation drivers?
    Looking for some clue. Please investigate a little and provide some clues.

    Can you share your linker cmd file and map file (please remove any proprietary info)?

    Are you able to do Flash operations using CCS on this device (if not UniFlash)?

    What emulator are using with UniFlashV5.0 and 3.x when you see this? Is it Black hawk 560v2 USB terrace debug probe only?
    Can you try with a different emulator? Long back, I remember I faced some issues with 560 (which I did not with other ones).
    See if there is an update available for the emulator driver and install if there is one - see if that helps.

    Thanks and regards,
    Vamsi
  • Vamsi,

    Thanks for the detailed response.

    Earlier today, I was not able to erase/flash using both Uniflash and CCS. I was using the Uniflash 3.4 version and Black hawk 560v2 USB terrace debug probe only all the time. I didn't change the power supply/linker command file from the time I was flashing/erasing successfully to the time when I am failing to flash/erase.

    But after reading your recent reply, I have reinstalled the CCS, Uniflash with the updated BlackHawk emulation drivers. After doing this I am able to flash and erase the micro again without any problems.
    All this time I have been using the same power supply, linker command file, same Black hawk 560v2 USB terrace debug probe.

    Thank you so much for your help and time.

    Regards,
    Bala.
  • Bala,

    Glad that I could help. Updating the emulator drivers is the key here then.
    I am closing the post.

    Thanks and regards,
    Vamsi