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.

F2808 Device Failure (CSM Appears Locked)

Hi,

I've been using TI F2808 Control cards to prototype and debug a new board we've been developing with a Blackhawk USB2000 debugger.  Once in a while over the past few months I would get a chip that would fail on me and give me an error when I would try to flash.  The CSM appears to be locked on these chips.  I am not using the CSM at all for any password protection.  I posted a question a while back without results, so I've lived with losing these chips every once in a while.

In the past 24 hours I've lost three more control cards.  The third one I even reverted back to debugging on the TI experimenter kit and TI XDS100v2 debugger, but that didn't help.  I also don't understand why there is no way to recover these chips.  If data protection is an issue, then an erased chip shouldn't be a concern to anyone.

I am using the flash API, but this has happened even when I haven't called any functions to the API.  The only reason i can think of that this is happening is that the flash is interrupted when downloading from CCSv5 and that is causing the device to be locked.  I have tried unlocking it with the Blackhawk Flashburn utility and all FFFF's but it won't work.

We need to develop thousands of these boards, with frequent firmware updates, and I am very concerned at this point that we will see this problem post production.

The error I am seeing is the following:

C28xx: Flash Programmer: Error erasing flash memory. Device is locked or not connected. Operation cancelled
C28xx: Flash Programmer: Error erasing Flash memory.
C28xx: Flash Programmer: Device is locked or not connected. Operation cancelled.
C28xx: Trouble Writing Memory Block at 0x3f255a on Page 0 of Length 0x4e8
C28xx: GEL: File: C:\DTI\TIWKS_V5\TI_HRD\Debug\TI_HRD_FB.out: Load failed.

All three chips that have failed recently have the same error at the same memory block.

I appreciate any help in advance,  I am really stuck at this point.

Thanks,

Omer

TI_Module_FB.zip
  • Hi Omer,

     

    Are you sure  ICs are not counterfeit? I have encountered with  counterfeit 2808 with locked CSM about year ago: 

    http://e2e.ti.com/support/microcontrollers/tms320c2000_32-bit_real-time_mcus/f/171/p/91670/511992.aspx#511992

    Roman

  • I don't believe they are counterfeit.  I was able to program them at least a few times before failure.  Also I have been purchasing from Digi-key.

    Thanks,

    Omer

  • The one thing that may be relevant is that I don't believe this has happened to me when I don't load the FLASH API.  Even though I'm loading the flash API, I still haven't been using it's functions.

    MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);

    InitFlash();

    //Copy the Flash API functions to SARAM

    MemCopy(&Flash28_API_LoadStart, &Flash28_API_LoadEnd, &Flash28_API_RunStart);

    // Set Factor and Callback for Flash API
    Flash_CPUScaleFactor = SCALE_FACTOR;
    Flash_CallbackPtr = NULL;

    //--------------------------------------

    Also I have based my program off of an older example of "Running program from internal flash"  (I now have noticed there is a version for CCSv5 that has a lot of changes in it)

    I will try to use this instead, but please help me find out why this can happen in the first place if I am not writing anything to the CSM!

    Thanks,

    Omer

  • Someone please help! :)

  • Omar,

    Even though you are not calling any FLASH API functions, the fact that you are running from FLASH means you must have flashed the device.  Otherwise, everything would already be in RAM to begin with.

    When you are programming FLASH, are you specifying the passwords? 

    To be safe, you could add something similar to "C:\TI\controlSUITE\device_support\f2806x\v130\F2806x_common\source\F2806x_CSMPasswords.asm" to your project so that your CSM passwords are always being programmed with a known value. 

    You will also need to update the CMD file for the FLASH project to have the appropriate sections defined.  For an example, you can look at a file similar to "C:\TI\controlSUITE\device_support\f2806x\v130\F2806x_common\cmd\F28069.cmd"

    Regards,
    Daniel