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.

Error when programming custom CC2650 Board

Other Parts Discussed in Thread: CC2650

I am having trouble programming and debugging a custom CC2650 board. It is supposed to run a BLE observer application. For simplicity another basic application is used to get started with the custom board.

I am using the CC2650 7x7 chip and programming it with a XDS110 on a CC2650 Launchpad v1.2 and connected by JTAG to our custom board.

When debugging the device in CCS6.2.0.00050 the following errors are received:

Cortex_M3_0: Can't Run Target CPU: (Error -2134 @ 0x0) Unable to control device execution state. 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 6.0.407.3)


Cortex_M3_0: JTAG Communication 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 6.0.407.3)

Following this guide: processors.wiki.ti.com/.../CC26xx_HW_Troubleshooting
I have checked the following voltages on the device:
VDDR: 1.67V
VDDS: 3.28V
DCOUPL: 1.27V

When using the device with SmartRF Flasher 2 the connection is OK and the hex file can be programmed and verified with no errors, but the code won't run.
Our application is the RTOS PWMled_CC2650_launchXL example, built in CCS6.2.0.00050.

Several lower JTAG clock cycles have been tried without success.

The application has also been built using the internal 32Khz oscillator without success.

Any guidance is helpful, thank you!board.pdf6131.schematic.pdf

Best regards
Carl

  • Hello Carl,
    Have you reviewed and tried the tips given in chapter "Connect evaluation kit" in simplelink academy:
    software-dl.ti.com/.../ble_01_basic.html
    software-dl.ti.com/.../overview.html

    I am actually still running on CCS version 6.1.3. I can try to upgrade and verify if it works for me.
  • Hi Erik,
    The guides were informative but I am afraid they are not what I was looking for. I have experience using the launchpad but my question is concerning the problems with my custom board.
  • Hello Carl,

    I don't have an good idea of what the root cause might be yet. Some bullets below might seem a bit desperate, but bear with me.

    • Your Schematic looks ok.
    • Can you show me how you connect the debugger to your board?
    • I am not familiar with the PWMled_CC2650 application. Where is this from?
    • Have you tried to run the basic simpleBLEPEripheral code from our latest ble sdk?
    • Have you made sure to port the board file correctly for your custom board?
    • Did yous specifically look at the "Expand instructions for manual debugger selection in CCS Desktop" in the guide i referenced above? Try the "Test connection" feature of your target config. You can try to issue a mass erase with SmartRF Flash programmer before doing this.
    • Have you tried to use both cjtag 2-pin and 4-pin mode for the target configuration in CCS?
  • Hello Erik,

    The PWMled application is one of the official TI RTOS examples in CCS.

    I am able to upload the simpleBLEperipheral stack but simpleBLEperipheral application does not work on our custom board, that example works on our Launchpad though.

    The received error codes are the same as mentioned in the first post.

    In the design of the custom board the launchpad design was followed for all used pins, meaning that all pins are the same as on the launchpad.

    The difference is that the external flash is not used on our board. Are there many changes that have to be done to the board file to take this into account? Do other files need to be changes as well?

    In the following FAQ it says that the internal flash is not used when using SmartRF flasher 2, is that the case when debugging with CCS too? source: 

    Using smartRF flasher 2 the target has been mass erased

    The test connection has been tried before, it gave the following errors:

    [Start: Texas Instruments XDS110 USB Debug Probe_0]

    Execute the command:

    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity

    [Result]

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

    C:\Users\Martin\AppData\Local\TEXASI~1\CCS\

       ti\0\0\BrdDat\testBoard.dat

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

    This utility has selected a 100- or 510-class product.

    This utility will load the adapter 'jioxds110.dll'.

    The library build date was 'Jul 27 2016'.

    The library build time was '18:31:37'.

    The library package version is '6.0.407.3'.

    The library component version is '35.35.0.0'.

    The controller does not use a programmable FPGA.

    The controller has a version number of '5' (0x00000005).

    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 XDS110 with USB interface.

    The link from controller to target is direct (without cable).

    The software is configured for XDS110 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).

    -----[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 XDS110 USB Debug Probe_0]

    I tried both cjtag 2-pin and 4-pin mode, unfortunately this did not solve the problem.

    In the config file (ccfg.c), do I have to update anything since I am only using internal flash?

    Thanks for your advice.

    Carl Christian

  • Hello @Carl,

    Error 2131 occurs only when your IC's ground connection is not proper.

    Make sure that IC;s only Ground connection DAP pad is connected to GND. Or make small 1mm or 1.2mm dia drill on PCB below IC carefully and connect it to GND.

    It should work if issue with hardware.

    It worked for me.

    Regards,

    Sharad