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.

TMS320F28035-EP: C28xx: File Loader: Verification failed: Values at address 0x008000@Program do not match Please verify target memory and memory map.

Part Number: TMS320F28035-EP
Other Parts Discussed in Thread: UNIFLASH

I'm using XDS110 Debug Probe on our custom board with TMS320F28035-EP via JTAG pins.

I'm using Code Composer Studio Version: 12.2.0.00009.

I have been successfully developing using the debugger for 3-4 weeks with no problems.

Everything was fine and suddenly, I now can't load any program onto the board. 

When trying to debug a RAM based application, I get the following error message:

C28xx: GEL Output:
Device Calibration not complete, check if device is unlocked and recalibrate.C28xx: GEL Output:
Device Calibration not complete, check if device is unlocked and recalibrate.C28xx: File Loader: Verification failed: Values at address 0x008000@Program do not match Please verify target memory and memory map.
C28xx: GEL: File: C:\ARA65_Software\tcc\ccs_test_projects\I2C\Debug\Example_2803xI2C_eeprom.out: a data verification error occurred, file load failed.

When trying to debug a Flash based application I get the following error message: 

C28xx: GEL Output:
Device Calibration not complete, check if device is unlocked and recalibrate.C28xx: GEL Output:
Device Calibration not complete, check if device is unlocked and recalibrate.C28xx: Flash Programmer: Device is locked or not connected. Operation cancelled.
C28xx: File Loader: Memory write failed: Unknown error
C28xx: GEL: File: C:\ARA65_Software\tcc\ccs_test_projects\CLA_C_example\Debug\tcc.out: Load failed.

Test Connection is successful, output below;

[Start: Texas Instruments XDS110 USB Debug Probe_0]

Execute the command:

%ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity

[Result]


-----[Print the board config pathname(s)]------------------------------------

C:\Users\jb7356\AppData\Local\TEXASI~1\CCS\
ccs1220\0\0\BrdDat\testBoard.dat

-----[Print the reset-command software log-file]-----------------------------

This utility has selected a 100/110/510 class product.
This utility will load the adapter 'jioxds110.dll'.
The library build date was 'Nov 28 2022'.
The library build time was '16:30:46'.
The library package version is '9.10.0.00080'.
The library component version is '35.35.0.0'.
The controller does not use a programmable FPGA.
The controller has a version number of '5' (0x00000005).
The controller has an insertion length of '0' (0x00000000).
This utility will attempt to reset the controller.
This utility has successfully reset the controller.

-----[Print the reset-command hardware log-file]-----------------------------

The scan-path will be reset by toggling the JTAG TRST signal.
The controller is the XDS110 with USB interface.
The link from controller to target is direct (without cable).
The software is configured for XDS110 features.
The controller cannot monitor the value on the EMU[0] pin.
The controller cannot monitor the value on the EMU[1] pin.
The controller cannot control the timing on output pins.
The controller cannot control the timing on input pins.
The scan-path link-delay has been set to exactly '0' (0x0000).

-----[Perform the Integrity scan-test on the JTAG IR]------------------------

This test will use blocks of 64 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG IR Integrity scan-test has succeeded.

-----[Perform the Integrity scan-test on the JTAG DR]------------------------

This test will use blocks of 64 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG DR Integrity scan-test has succeeded.

[End: Texas Instruments XDS110 USB Debug Probe_0]

Power cycles, reboot PC, reconnect XDS110 all didn't help or change anything.

_________________________

I ran UniFlash v8.2.0.4220 and clicked on "Unlock" and got a " [ERROR] C28xx: Flash Programmer: Error unlocking flash memory. Device is still locked" message.

Looks like my passwords got set somehow?  Caused by Power down or reset during flash programming?

Is there a way to erase all the flash including the passwords and start clean?  Or is my device bricked? 

Thanks,

-Joe

  • Joe,

    It is possible to program a password onto the device if it is reset during a flash erase operation. If that has happened, then your device is bricked. Please see this section in the TRM. 

    If you put the device in wait boot mode by adjusting the GPIOs like in the below table, you should be able to connect to the locked device. 

    You will have to power cycle the device with the GPIO37 held high and GPIO34 held low, then you can try to connect with JTAG. After power cycling the device, you can remove the connection to the GPIOs if you need to do so for the JTAG connection.

    In CCS, navigate to View-> Target Configurations. Then right-click on your target configuration and select the option to Launch the Target Configuration. Once the debug menu opens, right-click on the C28xx CPU and select Connect Target. 

    From here, you could read the registers mentioned in the first TRM screenshot that I shared to see if your device is locked. If you are able to do this, then it would confirm that a password was accidentally programmed to the device.

    Best Regards,

    Ben Collier

  • Hi Ben,

    Thanks for the reply and the information.

    Changing GPIO37 and GPIO34 signals on boot is very difficult due to our PCB.  

    I was, however, able to Connect to the target (I believe) by selecting "Continue debug launch if target connection or program load fails" checkbox in Properties->Debug->Auto Run and Launch Options->Launch Options.

    When I read the password memory at 0x3F 7FF8 it read all 0x0000s.  It looked like I could read RAM but Flash was all 0x0000s?

    Is this enough to confirm the device is locked? 

    If the device is locked, must it be replaced?

    Thanks,

    -Joe

  • Hi Joe,

    That is enough to confirm that your device is locked. Unfortunately, you will have to replace the device as there is no way to remove an unknown password.

    Best Regards,
    Ben Collier

  • Thanks Ben.  I'll get the device replaced.  

    Do you have any tips on how to prevent this?  I'm confident my power supply is stable and good.  

    Would a flakey USB Debug Probe connection possibly cause a reset during a flash erase operation?  Or a USB cable that is too long or using an extension USB cable?

    XRS/ is tied high to 3.3V through a 4.75K resistor.  Does that sound OK?

    Thanks.

  • Joe,

    Do you have a capacitor on your XRS pin? Have you scoped your power and reset signals while flashing the device? Maybe there is a short droop on the XRS pin.

    Best Regards,

    Ben Collier

  • Hi Ben,

    No, no capacitor on the XRS signal.  I'll put a scope on power and XRS/ and make sure they are clean while flashing. 

    Question: Could hitting 'Cancel' button in CCS while flashing cause this issue?

    Thanks,

    -Joe