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: Issue with loading program on to CPU2

Part Number: TMS320F28377D
Other Parts Discussed in Thread: UNIFLASH, CONTROLSUITE, C2000WARE

Tool/software: Code Composer Studio

I am using Texas Instruments XDS100v2 USB Debug Probe to program the TMS320F28377D microcontroller and I am facing some problems while trying to program CPU02. It says

"C28xx_CPU2: File Loader: Verification failed: Values at address 0x08000@Program do not match Please verify target memory and memory map.

C28xx_CPU2: GEL: File: 'xxx'.out: a data verification error occurred, file load failed."

Earlier I was just programming the RAM and I didn't had any issue, but recently I tried to program the CPU2 flash and that's when I started having these problems. Now, even when I try to just program the RAM, it doesn't allow me and this error keeps popping up. 

Did I mess something while trying to program the Flash?

P.S. I  am using CCS Version: 7.4.0.00015 and I also tried to flash the CPU2 with UniFlash, but it also throws the same error "[ERROR] C28xx_CPU2: File Loader: Verification failed: Values at address 0x08000@Program do not match Please verify target memory and memory map."

  • Hello,
    Are you trying to load an example from controlSUITE/C2000Ware or is this a custom program? If it is the former, please let me know which example. If it is the latter, can you provide a test case?

    Thanks
    ki
  • Hi,

    I am trying to load a custom program, but I also tried the example blinky_dc from the controlSUITE. I had the same error with both of them.

    Best Regards,
    Sai
  • You are getting a verification error at 0x8000. That is RAM. But you mentioned that the issue occurs when programming Flash.

    I tried the blinky_dc example with CCSv7.4.0. There were no issues loading/flashing.

    Can you tell me step by step what you did to reproduce the issue with the blinky_dc example? 

    Thanks

    ki

  • I also didn't had any issue running the blinky_dc example earlier. But now it is throwing the data verification error. The timeline of the events is as follows.

    Till yesterday afternoon everything is fine. I am running my custom program on both the CPUs and they were working fine. I made some changes to the CPU2 code and tried to reprogram the RAM. The flash was successful, but I didn't see any change in the code. (I tried it 2-3 times and since there was no change, I purposefully modified a return statement from a meaningful value to 0. It continued to return the meaningful value instead of 0). So, I changed the project configuration from CPU2_RAM to CPU2_FLASH. I built the project and entered the debug mode. It threw a bunch of errors (something like CPU1 is not defined and so on) and the load failed. I changed the project configuration back to RAM and again rebuilt the program. Now, I opened the UniFlash and selected the option "Erase Flash" in Settings and Utilities section of CPU2. Then I tried to load the .out file through UniFLash and it threw the data verification error. I tried it with CSS, but I had the same error again.


    Later, I imported the blinky_dc example into my workspace and ran the Code Composer Debug Session. But, it also had the same error while loading the .out file.
  • For CPU2, if you open the Memory Browser view and specify to view Program Memory at 0x8000, Are you able to edit the contents of memory?
  • Hello,
    I haven’t heard back from you, hence this issue is being closed. If you wish to continue the discussion, please post a reply with an update below (or create a new thread).

    Thanks,
    ki
  • I am sorry that I couldn't get back to you earlier. I opened the memory browser and checked the data at program memory 0x8000 to be 0. I clicked on it and tried to edit it. Though it is allowing me to edit it, the new data is not being saved.

  • Sai Madem83 said:
    Though it is allowing me to edit it, the new data is not being saved.

    This is usually a sign that either the target memory is not initialized correctly or there is some HW issue. Please make sure any necessary initialization of the device is being done properly

    Thanks

    ki

  • I am using the same code to program another micro-controller and I am not facing any issue there. I am getting this error only on one of the controllers. Do we have some option to factory reset it? or do I have to replace the micro-controller?

    Best Regards,
    Sai
  • I'm not sure. I can connect to my F28377D controlCard and access address 0x8000 without issue - with or without a startup GEL file. It could be some configuration or HW issue with that particular target you have. It may be a HW issue with the device. I will move this thread to the C2000 forum. The experts there may have more suggestion.

    Thanks
    ki
  • Sai,

    Did you check whether device is locked?

    Regards,
    Manoj
  • Can you let me know how to check that.

    Best Regards,
    Sai
  • You need to check if Z1_CR.UNSECURE = 0 (or) Z2_CR.UNSECURE = 0 in DCSM registers?

    Regarwds,
    Manoj
  • This is what I found (Screenshot is attached). I am not sure what it means though.

    Best Regards,

    Sai

  • Sai,

    With both Z1_CR and Z2_CR = 0x0070, it tells me that device is not secured. So, it is not the DCSM which is preventing RAM writes.

    Regards,
    Manoj
  • Hey Sai,

    Checking up to see how things are going with your issue. Is the verification error still occurring when trying to program CPU2? Also are you still unable to program via the RAM like you were originally able to do?

    Respectfully,
  • Yes, still facing the same issue. CPU1 is working fine though.

    Best Regards,

    Sai