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/TMS320F28335: [Error] C28xx: File Loader: Verification failed

Part Number: TMS320F28335
Other Parts Discussed in Thread: UNIFLASH, C2000WARE

Tool/software: Code Composer Studio

I have had an issue switching from RAM programming to a Flash programming on a F28335.

The problem occured after erasing flash and attempting to program the .text section into flash at 0x300000 as shown below:

Searching around for this error led me to this forum post : https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/736505?TMDSHVRESLLCKIT-Erasing-Flash-Failed-C28xx-Error-occurred-during-flash-operation-Timed-out-waiting-for-target-to-halt-while-executing-FlashAPIInterface2802xV2-00-out

As suggested I tried using the Depletion Recovery tool in UniFlash which completed successfully:

This still led to no success at programming the device. My device was configured to Boot to Flash, so I switched the boot mode to 'Branch to boot check' which i assume is boot to wait based on this post:

https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/496497?Timed-out-waiting-for-target-to-halt

This causes a slightly different error for a verification failure at the start of the flash memory:

To do some further digging i checked the flash memory using UniFlash after the failed programming verification to see if any values were stored. It appears that they were in this case

I tried erasing the flash in sector H manually using UniFlash to ensure that the erase operation is working:

I also checked to make sure that the CSM password was not erased during the operation. It appears to be intact and still the default 0xFFFF values. I have included UniFlash and CCS screenshots to make it easier to read.

Its looking like I'll have to replace the device, but I am open to suggestions before I try doing that.

Thanks,
Erick

  • Erick,

    Since you confirmed that the Flash is reflecting correct contents for erase and program operations and that the password locations are not programmed, I don't think you have to replace the device.  

    Quick question: Once you changed the boot mode, what is the operation that you tried that caused the verification error?  A program operation or a verify only operation?  This will help us understand the steps that caused this.

    I will assign this to a F28335 Flash expert to help you further. 

    Thanks and regards,
    Vamsi

  • I have tried several methods that all generate the verification error:

    UniFlash Verify Image

    UniFlash Load Image

    CCS Program and Debug

    I am still able to run image using a RAM only linker file

    Thanks,
    Erick

  • Erick,

    Thank you for the info.

    Our team will get back to you in a day or two.

    Thanks and regards,
    Vamsi

  • Erick,

    I think you failed to upload the Images you were planning to attach.

    Regards,

    Manoj

  • Hi Erick,

    Have you made any progress on this issue? Can you please re-upload the images you had intended to? It seems they did not upload properly the first time.

    Have you tried using Code Composer Studio to program / verify / erase the flash of your device? Maybe trying that will yield different results or messages that can better debug the issue.

    Best,

    Kevin

  • The images are uploaded successfully on my end, I can see them in the forum post on my computer as well as my phone. I will try to edit the post and re-upload to see if that helps.

    --

    Kevin,

    I have tried using code composer to do the load as shown in my original post. Erase completes successfully, and then the program fails during the text section verify at the beginning of flash memory at location 0x3000000 because values don't match the map file. That's what led me to checking if the code security module was preventing the programming, but that doesn't seem to be the case.

    Thanks,
    Erick

  • I changed some debug configurations to allow me to connect to the target even after the verification fails and obtained some results.

    Program/Memory Load Ooptions:

    Launch Options:

    Flash Settings:

    These settings allow me to connect to the device without erasing memory and not verifying. Even if the program fails. As seen here CCS believes it is programming the flash sectors:

    Here are several screen shots of the memory browser windows at different locations. It appears that some areas are (0x0000 || ITRAP0) or (0xFFFF || ITRAP1) after attempting to write to flash. This is not the results I was getting previously when I loaded a program through a RAM configuration and attempted to view the flash memory using the memory browser. 

    Some areas are completely intact such as this function:

    This section has ITRAP interspaced between some commands:

    A final example section with ITRAP1 filled in:

    I tried using the same setup with erase first, but got very similar results. Hopefully this information is helpful.

    Thanks,

    Erick

  • Hi Erick,

    To verify that it isn't a problem with your project, can you try programming and running the flash example within C2000ware. Located at the below directory:

    C:\ti\c2000\C2000Ware_2_00_00_03\device_support\f2833x\examples\flash_f28335

    Set all your Program/Memory Load Options to the default settings, with verification.

    Try launching your F28335 Target Config --> Connect to the target --> Load Example_2833xFlash project

    Let me know what results you have.

    Best,

    Kevin

  • Hi Erick,

    Any update on this issue? Were you able to resolve it, or are you needing further support from our end?

    Best,

    Kevin

  • Kevin,

    I had to wait some time for C2000ware to get installed by IT and then I ran into some include problems with the projects that took some time to resolve. I did get it to compile and link however.

    I ensured that the Flash Programming settings were reset to the default ones as suggested before proceeding.

    When I try and load the project I get almost the same issue, just occurring at t a different memory location. The flash erase executes and then when trying to write and verify the test section the program load fales as seen here in this picture:

    Thanks,
    Erick

  • Hi Erick,

    Your target configuration file matches your device exactly correct?

    Are you able to connect to the device and use the On-chip Flash Programmer within CCS to verify the flash? Can you erase it OK with this tool as well?

    Launch target confic --> Connect to device --> Tools at top --> On-chip Flash Programmer

    Best,

    Kevin

  • Kevin,

    I am able to launch my configuration, connect to the target using the debug perspective, and launch the On-Chip Flash Programmer tool. 

    I don't see a method for doing a verify only, but if I run the erase functionality on all sectors that succeeds according to CCS.

    I am currently having a second board assembled to try and identify if there is some kind of board issue. I can't seem to duplicate this problem on some of the devkits I have available or a custom board with an F28377S using the same debug probe.

    I also tried converting a program that was written for the F28377S in flash that programs successfully to an F28335 program. That fails to program on the F28335 with the same flash verification error.

    Thanks,
    Erick

  • Hi Erick,

    Sorry for the delay in responding. After erasing can you inspect the flash sectors using the memory browser and see that everything is showing 0xFFFF, including the passwords. After running the Erase, Program, Verify sequence in CCS does the flash sector (A) at 0x33 8000 show proper data?

    You can change the Flash programming sequence in the "Flash Programming Settings" in your screenshot. It defaults to Erase, Program, Verify as you have checked.

    It looks like someone else had run into a similar issue in the below thread, can you look through the responses and linked wiki pages to see if there's anything related to your setup?

    https://e2e.ti.com/support/tools/ccs/f/81/t/667611

    Please let me know how the 2nd board works for you.

    Best,

    Kevin