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.

TMS320f28335 reset error

Other Parts Discussed in Thread: TMS320F28335, CONTROLSUITE

how to resolve following error?

After i did some changes to "LED Blink example" of F28335 and tried to debug, it is giving following error.

and now it is not accepting original example code also.

aC28xx: Flash Programmer: Warning: The configured device (TMS320F28335), does not match the detected device (). Flash Programming operations could be affected. Please consider modifying your target configuration file.
C28xx: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: Trouble Reading Register PC: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: Trouble Reading Register ST1: (Error -1137 @ 0x6) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: GEL: Error while executing OnReset(1): Target failed to read register ST1 at (ST1&~(0x0100)) [f28335.gel:312] at C28x_Mode() [f28335.gel:38] at OnReset(1) .
C28xx: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: Trouble Reading Register PC: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: Trouble Reading Register ST1: (Error -1137 @ 0x6) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: GEL: Error while executing OnReset(1): Target failed to read register ST1 at (ST1&~(0x0100)) [f28335.gel:312] at C28x_Mode() [f28335.gel:38] at OnReset(1) .
C28xx: Trouble Writing Memory Block at 0x9000 on Page 0 of Length 0xd80: (Error -1137 @ 0x9002) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: GEL: File: F:\Ashish\ccs\a1\Debug\a1.out: Load failed.C28xx: Flash Programmer: Warning: The configured device (TMS320F28335), does not match the detected device (). Flash Programming operations could be affected. Please consider modifying your target configuration file.
C28xx: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: Trouble Reading Register PC: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: Trouble Reading Register ST1: (Error -1137 @ 0x6) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: GEL: Error while executing OnReset(1): Target failed to read register ST1 at (ST1&~(0x0100)) [f28335.gel:312] at C28x_Mode() [f28335.gel:38] at OnReset(1) .
C28xx: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: Trouble Reading Register PC: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: Trouble Reading Register ST1: (Error -1137 @ 0x6) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
C28xx: GEL: Error while executing OnReset(1): Target failed to read register ST1 at (ST1&~(0x0100)) [f28335.gel:312] at C28x_Mode() [f28335.gel:38] at OnReset(1) .
C28xx: Trouble Writing Memory Block at 0x9000 on Page 0 of Length 0xd80: (Error -1137 @ 0x9002) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)

  • Hi Ashish,

    Are you using the experimenter's kit? Also, what you can try doing is... delete the project -> Load a different project -> Build and debug. I hope you did not edit the original one itself; if so you'll have install controlSuite again to restore the code.
    Let us know what your observations are.

    Regards,
    Gautam
  • yes,i am using F28335 experimenter kit. I tried different project from control suite- device support-f28335-v133 ,also. I edited original one before, keeping copy of that original in another folder, which i restored again at same place, deleting edited one. Now,no code is running. maybe, i deleted some important lines at that time, so that device has gone in permanent reset mode and it is not coming out of it. pls help.
  • Ashish, try this: Delete the workspace and create a new one. Then try importing a project that you've not till now.

    Regards,
    Gautam
  • tried new workspace also.but still not working.
    i forgot to give one observation before.it is as follows,
    when it was working fine, only 2 green LED 1. on docking station near switch and 2. LD1 on control card were glowing.
    now,when i am switching it on at that time only LD3(RED) also glowing. there should be some connection between error and this RED LED.

  • Are the boot switches on the controlCard in the correct position? Refer "F28335 controlCARD-InfoSheet" that can be found here: C:\ti\controlSUITE\development_kits\~controlCARDs\CC2833xHWdevPkg

    Regards,
    Gautam
  • in sw2 all are in ON position. I havn't changed anything from time of working fine to time it is failing except some lines of code,that also i removed some lines in main code of "LED blink" example for understanding purpose.
  • following is code i used which lead to failure.

    #include "DSP28x_Project.h"

    void main(void)
    {

    EALLOW;
    GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 0;
    GpioCtrlRegs.GPBDIR.bit.GPIO32 = 1;
    EDIS;

    for(;;);
    }


    obs1) LD3(RED),which is on forever now, is connected to IC SN74LVC2G07DBVR(duel buffer) in schematic. does that give any clue?
  • e2e.ti.com/.../204791
    this one gives solution of boot mode change. should i go for it?
  • You can try... also check the TRST pin status.
  • Hi Ashish

    The strongly reminds me of problems I had, although not with the experimenter kit. We are using the TMS320F28335 as the controller in one of our products.

    In the early days, before we really understood the hardware, we found that we sometimes reset or powered down the TMS320F28335 during a Flash erase or reprogram. This can leave the flash set to all zeros (as I understand it, a flash erase drives all bits to zero, then pulls them back up to one). If sector A has been set to zero, this includes the password locations. The bad news is that, if this is the case, there is no way out. The processor is “bricked” and can never be reprogrammed.

    I don’t know if this has happened in your case, but we got all sorts of odd error messages, that were clearly wrong. One of the most common was “Warning: The configured device (TMS320F28335), does not match the detected device ()”.

    One way to check for this, is to ground one of the boot pins so that the processor boots to a mode where it is waiting for something, for example SCI-A boot, see TI document sprufb0. I found that we could then connect via JTAG/debug. If all the flash read as zero, and all the secure-zone RAM (L0 to L3), we took that as proof of a “bricked” processor that needed to be replaced.

    Hope this has not happened to you.

    Regards.
  • i have checked in flash setting, mode is erase,program,verify and all the sectors are marked. so what is conclusion?

  • by default above setting for flash is set for every example project.
    the board was working fine for apprx. 10 times. only after doing modification in main code and debugging it has caused problem.

  • If my suggestion is correct (and it is only a suggestion, I may be wrong), then there is probably nothing wrong with your settings, you have just been unlucky. We got this problem due to unexpected resets of the processor during flash erase / program, due to problems with our other hardware. We were using the erase/program/verify setting, with all code security passwords set to FFFF. Code Security is explained in section 4 of SPRUFB0, but I never found it very easy to understand.

    Have you tried SCI-A boot by grounding GPIO 84 before applying power to the Experimenter Kit? My hope is that this will allow the debugger to connect.

    I repeat that I am only guessing that you have set the passwords to zero, but your fault looks very like what we had. If it is the same problem, there really is no way to get the device working again.
  • for SCI-A boot, can i use USB only or do i need to use JTAG debugger?

  • Ashish you can very well use the virtual com port through USB.

    Regards,
    Gautam
  • gautam, without boot loader can i use SCI communication? or i am not getting this concept properly. please elaborate.

  • Before going there... you didn't reply for my previous query on TRST pin status.
  • TRST pin is set constant at 3.3V. i checked using CRO.

  • Hi Ashish,

    Gautam may now have a solution for you, but anyway I will explain further what I found.  This was in discussion with our local (UK) representative.  For a long time we had no idea what was happening.

    (1) When the processor boots, by defaults it boots to flash. If the flash is all zeros, then it tries to execute instruction 0000 0000 and so resets.  As a result we saw the XRS showing continuous, repeated resets
     -------_--------_ -------_--------_ -------_--------
    I think the low was very short, much less than 1 microsecond.

    (2) Using SCI-A boot mode makes the processor wait for communications instead of jumping to flash, so it does not reset.  There is no need to actually do any SCI comms.

    (3) The steps I used were:
        (a) Ground GPIO 84
        (b) Power the processor
        (c) From the “Target Configurations” view, launch a a configuration (right-click the .ccxml file)
        (d) Connect to the processor
        (e) Use the memory browser to look at values in flash and secure RAM.
    I my case, without step (a), I could not get step (d) to work.  All using Code Composer (I assume you are).

    (4) The Experimenter Kit uses the USB for power and for JTAG, so step (b) should be just plugging it in.

  • Ashish do try out what Giles has suggested! Something I've not tried.... but would be great if works :)
    Now, after evaluating your situation the device is neither in reset nor is there any hardware faults! JTAG port seems to be well connected and still there's no communication with the device ie emulator is not even identifying it!
    This can happen if the device is in permanently locked condition which can happen due to power failure/interruption during erase operation.

    Regards,
    Gautam

  • Giles, i have changed mode using SW2 available on control card. still same error continues.
    Gautam, if device is in permanently locked condition, then is there any way out?

  • If you still get the same error, then I think the problem is not that the password has got accidentally set. The steps I gave always allowed us to connect. We were not using the Experimenter Kit, but that should not make a differences. It looks like it is some other problem, and I'm afraid I can't help. Whenever we got the "does not match the detected device" error it was due to a reset during flash erase/program that had set the password.
  • Nope, Ashish! You'll have to replace the device.

    Regards,
    Gautam

  • is there no way other than 100$+shipping charge?

  • Why dont you order samples?

  • will it be possible to debug code on device using XDS560 emulator?

  • Yes, why not! XDS560 does support C2000 family.

    Regards,
    Gautam
  • Gautam, I am asking for our case where we are not able to do that using USB emulator.will it be possible to debug code on device using XDS560 emulator or that will also give same reset error?

  • Ohh... nope replacing the IC is the best option.
  • in example"LED blink" one function named "InitSysCtrl()". I commented that also (last code running on device). can that be the reason of device failure, because it disables watchdog?
  • Nope! that is a very critical init routine. Instead you can uncomment DisableDog(); routine.

    Regards,
    Gautam