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.

TMS320F28027: C28xx: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in reset.

Part Number: TMS320F28027

Dear All,

I am using TMS320F28027 and using a JTAG emulator + CCS to code it. I want to dump program into the flash memory of a new controller.

In the software part, the code is built in CCS without any errors and the JTAG connection to the device is also verified by CCS. When launching the debugger mode, I get pop up for "program load error". I also get multiple errors, starting with one mentioned in title - C28xx: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in reset.

In the hardware part, Reset pin is pulled up to 3.3 V using a 2.2k resistor, but the voltage at this pin is always at around 100 mV when connected to JTAG. This voltage does not toggle when seen using oscilloscope. The TRST pin is connected to the JTAG and pulled down by 2.2k. The GPIO36 and GPIO37 are left floating for emulation boot mode. I have also tried other boot modes. The 3.3 V is coming properly on the ceramic capacitors. 

In the hardware, I have also tried shorting the reset pin to 3.3 V. This gives the error that device is not connected or locked. After removing the short and connecting 2.2 K pull up, the "held in reset" error popped up again. 

Any help in this regard will be much appreciated. Many thanks!

  • Hi Nachiketa,

    Is this TI EVM or your custom board?

    Thanks & REgards,

    Santosh

  • Hello Santosh, Thank you for your response. This is my custom board. I created it with reference from the TI launchpad. 

    We are using this board and TI C2000 controllers for over 8 years now. This is the first time we are facing this issue. Can you please help?

  • In continuation, I also tried to put device in the wait boot mode as suggested here. I also checked the voltages at the respective pins using scope. The same error is popping up again - C28xx: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in reset.

  • Nachiketa,

    Is this new board, or it was working before and stropped working? 

    the voltage at this pin is always at around 100 mV when connected to JTAG

    It looks like something short. You may need to review the board power supply portion.

    Which emulator you are using?

    Thanks & Regards,

    Santosh

  • Thank you, Santosh for your response. 
    This board is new and it is not worked from the first attempt. I have checked the PCB, it seems fine. 

    I have also tried shorting the RESET pin to 3.3 V. If there were any fault with the PCB power section, the 3.3 V supply would fail. But it did not happen. After removal of the short and connecting pull-up resistor to the RESET pin - the same error "device held in reset" popped up again. 

    A few years ago, another person has faced exactly the same issue. The voltage at the RESET pin is 0.1 V and JTAG connectivity is verified. Please check - https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/674038/ccs-tms320f28027f-failed-cpu-reset-error--1137-0x6-device-is-held-in-reset

    I am using the XDS100V1 JTAG emulator. 

    Any help on this point will be much appreciated. 

  • Nichiketa,

    I'd like to try and connect to the device w/o using the "launch debug" button, or from a target project, the reason is that method combines several steps/actions and if one fails we don't really have a good indication what is causing the issue:

    • Please put the device in 'Wait Boot' mode.
    • Let's double check the target config file, has the correct device(F28027) and emulator xds100v1
    • Once this is saved, you should see a button in that same setup window to "Test Connection"  let's run  this and see what the results are.
    • Assuming the "Test Connection" successful, as you have the device in Wait Boot mode, if it fails we can debug differently, let me know.
    • At this point we have verified the connection is good.  Let's launch the connection fully by right clicking on the .ccxml and picking "Launch Target Config"
    • This should bring up the target and CPU listing, you'll then want to click on the CPU and pick "connect"
    • Once we are here, we can try to load your project(manually) by going to the Run->Load Program.

    Let's see where we get in the above. and we can go from there.

    Thanks & Regards,

    Santosh

  • Thank you, Santosh for your response.

    The "Test Connection" was successful. I also launched the Target Config.

    After right clicking on the CPU in debug window (top left), I clicked on "connect Target".

    The errors resulting after this step are shown in the figure below. 

  • Nachiketa,

    Now let's make sure it is not trying to run any code. Please put the board in in 'Wait-Boot' mode.

    Also can you check XRS pin if it is really held-in reset?

    Thanks & Regards,

    Santosh

  • Hello Santosh, I found my mistake. It was a silly one actually. 
    The power supply in the board was giving 3.3 V to Vdd pins. This should not be done. 
    After doing some manual adjustments, the Vdd pins now show 1.8 V, i.e. correct voltage generated by the internal regulator. 

    Thanks for your prompt response on this issue. This actually gave me confidence in the TI support system for budding engineers.