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.

Difficulty reconnecting after locking F28335

Other Parts Discussed in Thread: CCSTUDIO

I have CCS 3.3 and am using the C2000 series Spectrum Digital XDS510LCUSB for a TMS320F28335ZHAA design.

 

I can compile, flash and verify the software runs correctly on our board, from flash but when I use the F28xx On-Chip Flash Programmer tool in CCS and enter the hexadecimal key and lock the processor, I have rarely ever been able to reconnect to the processor to unlock and reprogram it.  The processor continues to execute the software and appears to not respond to the XDS510.

 

If I do not lock the processor, I have little of any troubles connecting and reprogramming the boards, but once the chip has been locked, I rather consistantly see this error message:

 

Error connecting to the target:
Error 0x80000200/-1135
Fatal Error during: OCS,
Unrecoverable emulation error

I/O Port = 510

Board Name: F28335 XDS510USB Emulator_1
Cpu Name: TMS320F2800_0

 

The problem is not 100% consistant and I have been able to unlock at least one processor before and reprogram it, but this has been very rare.

  • Steve,

    The code security module (CSM) on the 2833x will disconnect the JTAG if it is connected and an access is made to secure memory.  A byproduct of this is when the device first powers up, before CCS is connected, the CSM may disable the JTAG.  To prevent that from occuring, there are two solutions:

    1) use an emulator that supports wait-in-reset.  I believe the emulator you are using has this.  It uses the EMU0/EMU1 to hold the device at the reset vector until JTAG takes control.  (in SDconfig, emulator folder, make sure to click on the "Perform C28x style wait-in-reset" box)

    2) use the "check boot mode" option in the boot loader that emulates a "wait-in-reset".   Basically this boot mode keeps the code from running into secure memory until you can connect JTAG.

    For more information check the following sources:

    TMS320x2833x, 2823x System Control and Interrupts Reference Guide (sprufb0):  http://www.ti.com/lit/sprufb0 and the TMS320x2833x, 2823x Boot Rom Reference Guide (spru963): http://www.ti.com/lit/spru963 .

    Cheers

    Lori

  • Thank you for the reply, Lori.

     

    I ran SDConfig utility and checked the "wait-in-reset" option, though it didn't appear to change the situation.  The processor still runs the flashed and locked code but I can't connect to it with the emulator (this occurs on most every locked board, though I've occassionally "got lucky" and was able to unlock and reflash a board).  There was also an issue during production in that ~15% of the processors that the boards were built with had a similar problem in that I couldn't connect to them at all.  Once these processors were replaced, the boards worked fine and I could flash and execute code etc. ... until they were locked.

     

    There was a supply issue at the time for the F28335 processors and so I'm not certain if there was a silicon change at the time, though I'm very familiar with the F2xxx family and could very likely be doing something wrong or there could be a boardline electrical condition on the board that some parts find more aggrevating than others, so there may be an additional board design and/or silicon rev. issue involved.

     

    In SDConfig, when I run Configuration/Verify, I get:

    ** Using emulation application from directory c:\ccstudio_v3.3\drivers
    ** Checking for a valid emulator/eZdsp

      $$ You are connected to:
      $$ EmuProductName=XDS510USB
      $$ EmuPortAddr=0x510
      $$ EmuPortMode=USB
      $$ ProductId=510
      $$ ProductVersion=84

    If I run the Emulator/Test, I get an additional JTAG error:

     ** Emulator Scan Test

    ERROR >> JTAG IR scan test failed

  • An additional note:  I don't particularly care about unlocking the processor, if there's just a way to reprogram the processor that doesn't require replacing it.

     

    Alternately, is there a way to protect the software from being viewed without locking the JTAG?  We just want to keep the code from being copied, but don't particularly care about disabling the JTAG.

  • I received a reply from Tim Love and it looks like it was the problem - I haven't fully verified that everything else is working ok, but I was able to unlock and reflash one of the processors by pulling GPIO84 low to disable it from booting from flash.  After that I could connect, unlock and reflash the processor.

  • solution 1. If the boot pins are configured as Boot Mode : Jump to Flash, emulator used is XDS510LC with "Perform C27x style wait- in -Reset" and the default "Disable certain emulation polling" box checked. It is not possible to reconnect with the code locked processors. Using ezdspF28335 board or with our custom made board. Are the settings are right? Am I not configuring it right. Solution 2: works with reconfiguring the boot pins.