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.

TMS570LS3137: Controller resetting itself continuously. Unable to connect XDS100v2 emulator (BH-USB-100v2-ARM from Blackhawk).

Part Number: TMS570LS3137

Hi,

We have a “TMS570LS3137” Texas Hercules Safety-Microcontroller-based board.

  1. This board was working fine.
  2. A few days ago we tried to load a program using the bootloader option to this board. We were successful in doing so. But after a couple of flashing through the bootloader, one time it so happened that the bootloader process was aborted abruptly. Then we were not able to load the program again through the bootloader.
  3. Then we tried to load the program through your “BH-USB-100v2-ARM” emulator. But it showed some errors.
  4. We then tested the connections using the “Test Connection” feature in the Code Composer Studio. The test passed successfully, which means that the connections are alright.
  5. We then tried to program other working boards with the same emulator setup and we were successful in doing so, implying that the emulator and the drivers are all fine.
  6. But we are not able to program this one particular board. Could you please help us in this regard? It seems like the microcontroller has locked itself from further updates to the flash or the controller is “held in Reset” for some reason.
  7. This is an old board and we are not sure about the emulator that was used to flash this board initially. Is it possible that the emulator locked the flash after the initial program load? 
  8. Also, I monitored the nRST pin of the Microcontroller. This pin is supposed to be always high. But this pin is momentarily going low for every 3 to 4 sec. This means that the controller is resetting itself continuously.

Please help us in resolving this issue.

And we see that Texas has stopped support for XDS100v2. Does the newer XDS110 have more features that can help us in resolving this issue?

Thanks and Regards,

Krishnananda

[Start: Texas Instruments XDS100v2 USB Debug Probe_0]

Execute the command:

%ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

[Result]


-----[Print the board config pathname(s)]------------------------------------

C:\Users\KRISHN~1\AppData\Local\TEXASI~1\
    CCS\ccs1120\0\0\BrdDat\testBoard.dat

-----[Print the reset-command software log-file]-----------------------------

This utility has selected a 100/110/510 class product.
This utility will load the adapter 'jioserdesusb.dll'.
The library build date was 'Mar 17 2022'.
The library build time was '15:43:48'.
The library package version is '9.7.0.00213'.
The library component version is '35.35.0.0'.
The controller does not use a programmable FPGA.
The controller has a version number of '4' (0x00000004).
The controller has an insertion length of '0' (0x00000000).
This utility will attempt to reset the controller.
This utility has successfully reset the controller.

-----[Print the reset-command hardware log-file]-----------------------------

The scan-path will be reset by toggling the JTAG TRST signal.
The controller is the FTDI FT2232 with USB interface.
The link from controller to target is direct (without cable).
The software is configured for FTDI FT2232 features.
The controller cannot monitor the value on the EMU[0] pin.
The controller cannot monitor the value on the EMU[1] pin.
The controller cannot control the timing on output pins.
The controller cannot control the timing on input pins.
The scan-path link-delay has been set to exactly '0' (0x0000).

-----[The log-file for the JTAG TCLK output generated from the PLL]----------

There is no hardware for programming the JTAG TCLK frequency.

-----[Measure the source and frequency of the final JTAG TCLKR input]--------

There is no hardware for measuring the JTAG TCLK frequency.

-----[Perform the standard path-length test on the JTAG IR and DR]-----------

This path-length test uses blocks of 64 32-bit words.

The test for the JTAG IR instruction path-length succeeded.
The JTAG IR instruction path-length is 6 bits.

The test for the JTAG DR bypass path-length succeeded.
The JTAG DR bypass path-length is 1 bits.

-----[Perform the Integrity scan-test on the JTAG IR]------------------------

This test will use blocks of 64 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG IR Integrity scan-test has succeeded.

-----[Perform the Integrity scan-test on the JTAG DR]------------------------

This test will use blocks of 64 32-bit words.
This test will be applied just once.

Do a test using 0xFFFFFFFF.
Scan tests: 1, skipped: 0, failed: 0
Do a test using 0x00000000.
Scan tests: 2, skipped: 0, failed: 0
Do a test using 0xFE03E0E2.
Scan tests: 3, skipped: 0, failed: 0
Do a test using 0x01FC1F1D.
Scan tests: 4, skipped: 0, failed: 0
Do a test using 0x5533CCAA.
Scan tests: 5, skipped: 0, failed: 0
Do a test using 0xAACC3355.
Scan tests: 6, skipped: 0, failed: 0
All of the values were scanned correctly.

The JTAG DR Integrity scan-test has succeeded.

[End: Texas Instruments XDS100v2 USB Debug Probe_0]

  • Hi Krish,

    The problem might be caused by the code you have programmed. The code in the flash makes the CPU enter an exception state repeatedly, and the CPU is not able to enter a debug state.

    Please try this procedure to let CPU enter a debug state:

    1. Open the target configuration window, and launch the selected the configuration
    2. Switch to debug window.
    3. Press the reset (nRST) button and hold it.
    4. Click “Connect Target” immediately after you release the nRST button.
    5. The board should be connected after couple tries.
  • Hi,

    Thanks for your reply. I had tried this method before without any success. I tried again now many times. But still unable to connect.

    CortexR4: Trouble Reading Memory Block at 0xf008015c on Page 0 of Length 0x4: (Error -242 @ 0x0) A router subpath could not be accessed. The board configuration file is probably incorrect. (Emulation package 9.7.0.00213) 
    CortexR4: Error initializing flash programming: Target failed to read 0xF008015C
    CortexR4: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.7.0.00213) 
    CortexR4: Unable to determine target status after 20 attempts
    CortexR4: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
    Dap: Error: (Error -242 @ 0x0) A router subpath could not be accessed. The board configuration file is probably incorrect. (Emulation package 9.7.0.00213) 
    CortexR4: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.7.0.00213) 
    CortexR4: Unable to determine target status after 20 attempts
    CortexR4: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
    Dap: Error: (Error -242 @ 0x0) A router subpath could not be accessed. The board configuration file is probably incorrect. (Emulation package 9.7.0.00213) 
    CortexR4: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.7.0.00213) 
    CortexR4: Unable to determine target status after 20 attempts
    CortexR4: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
    CortexR4: Error connecting to the target: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.7.0.00213) 
    Dap: Error: (Error -242 @ 0x0) A router subpath could not be accessed. The board configuration file is probably incorrect. (Emulation package 9.7.0.00213) 
    Dap: Error: (Error -242 @ 0x0) A router subpath could not be accessed. The board configuration file is probably incorrect. (Emulation package 9.7.0.00213) 
    CortexR4: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.7.0.00213) 
    CortexR4: Unable to determine target status after 20 attempts
    CortexR4: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
    Dap: Error: (Error -242 @ 0x0) A router subpath could not be accessed. The board configuration file is probably incorrect. (Emulation package 9.7.0.00213) 
    CortexR4: Error: (Error -1170 @ 0x0) Unable to access the DAP. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 9.7.0.00213) 
    CortexR4: Unable to determine target status after 20 attempts
    CortexR4: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
    IcePick: Error: (Error -150 @ 0x0) One of the FTDI driver functions used during configuration returned a invalid status or an error. (Emulation package 9.7.0.00213) 
    IcePick: Unable to determine target status after 20 attempts
    IcePick: Failed to remove the debug state from the target before disconnecting.  There may still be breakpoint op-codes embedded in program memory.  It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
    Dap: Error: (Error -154 @ 0x0) One of the FTDI driver functions used to write data returned bad status or an error. (Emulation package 9.7.0.00213) 
    CortexR4: JTAG Communication Error: (Error -154 @ 0x0) One of the FTDI driver functions used to write data returned bad status or an error. (Emulation package 9.7.0.00213) 
    

  • Hi Wang,

    Please do let me know if there are any other methods to get the controller out of this exception state.

    And, does the newer XDS110 have more features that can help us in resolving this issue? I don't have one. I need to purchase.

    Meanwhile, I shall try the method you mentioned now as many times as possible.

    (I assume pressing the reset button means shorting nRST to GND)

    Thank You.

  • I assume pressing the reset button means shorting nRST to GND

    Yes, you are correct. 

  • Can you please try the following steps:

    1. From the View menu in CCS open the Target Configuration View.
    2. Find the .ccxml file that is part of your project.
    3. Right click on it and choose “Launch selected configuration”. This will start a debug session in CCS but won’t connect to anything yet.
    4. When the debug view opens click on the top level node in the tree (it will be the name of the .ccxml file). Select “Show all cores”.
    5. Under “Non debuggable devices” select the one that ends in ICEPick_C.
    6. Click on the connect button on the toolbar.
    7. Open the registers view.
    8. If you expand core registers. Do the TAP registers have values other than 0 or 1?
    9. Next select the DAP under “Non debuggable devices” and see if you can connect to that.
  • Sorry for late response.

    I assume "connect button" mentioned in step 6 of your above post is "Connect Target". 

    When I did so this error occurred: 

    Error connecting to the target:
    (Error -2131 @ 0x0)
    Unable to access device register. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK).
    (Emulation package 9.7.0.00213)

  • I tried again using your "Force Reset" method mentioned in your first post to read the Control Registers. Below are the results. All TAP registers are zero usually.

    521177 2
    R IP_TAPID 0x0000000B 0x4B8A002F
    R IP_IPCODE 0x0000000B 0x2A231CC2
    R IP_USERCODE 0x0000000B 0x802AAD25
    R IP_CNTL 0x0000000B 0x00000000
    R IP_CONNECT 0x0000000B 0x00000006
    R IP_LINKMODE 0x0000000B 0x00000000
    R IP_SYS_CNTL 0x0000000B 0x00000000
    R IP_PIN_CFG 0x0000000B 0x00000000
    R IP_TAP_CNTL_0 0x0000000B 0x00000000
    R IP_TAP_CNTL_1 0x0000000B 0x00000000
    R IP_TAP_CNTL_2 0x0000000B 0x00000000
    R IP_TAP_CNTL_3 0x0000000B 0x00000000
    R IP_TAP_CNTL_4 0x0000000B 0x00000000
    R IP_TAP_CNTL_5 0x0000000B 0x00000000
    R IP_TAP_CNTL_6 0x0000000B 0x00000000
    R IP_TAP_CNTL_7 0x0000000B 0x00000000
    R IP_TAP_CNTL_8 0x0000000B 0x00000000
    R IP_TAP_CNTL_9 0x0000000B 0x00000000
    R IP_TAP_CNTL_10 0x0000000B 0x00000000
    R IP_TAP_CNTL_11 0x0000000B 0x00000000
    R IP_TAP_CNTL_12 0x0000000B 0x00000000
    R IP_TAP_CNTL_13 0x0000000B 0x00000000
    R IP_TAP_CNTL_14 0x0000000B 0x00000000
    R IP_TAP_CNTL_15 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_0 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_1 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_2 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_3 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_4 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_5 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_6 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_7 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_8 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_9 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_10 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_11 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_12 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_13 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_14 0x0000000B 0x00000000
    R IP_TST_TAP_CNTL_15 0x0000000B 0x00000000
    

    But sometimes TAP registers show values other than 0 or 1 (with values highlighted yellow) but could not capture the screen shot because almost always the values are 0.

    And could not connect to DAP registers. Tried the "Force Reset" method many times. But unable to connect.

  • Dear Wang,

    In your first post you had mentioned about nRST. Can I try the same with nPORRST?

  • Dear Wang,

    The issue is fixed now. The problem was that there was Watchdog reset IC present the PCB which I was not aware of. After disabling that Watchdog IC the issue is fixed. Able to connect and load program through emulator.

    Thanks a lot for your support.