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.

Unable to program cc2650 after flash programmer 2 crash

Other Parts Discussed in Thread: CC2650, SEGGER

Hello forum,

I'm currently setting up Contiki on a custom designed board using cc2650. The board has an embedded FT2232h for jtag debugging using OpenOCD. Until yesterday the setup was the following:

- Compile contiki on linux (make launched from eclipse)

- copy .bin file to windows for flash using Flash Programmer 2 (FP2) + srf06EB as programmer (JTAG header present on target)

- connect target to linux for debug in eclipse (openOCD + onboard FT2232H)

This worked well during two days (~20 times), however, yesterday, during the process, FP2 crashed, and now can't detect the target cc2650 (shows "unknown") if I'm right clicking on the "unknown" target (which should be my cc2650) and click "connect", FP2 just simply crashes. (making the same on other COM ports just gives "failed to create device object error").

Diagnostic:

SRF06EB: the programmer still works when using the cc2650EM.

Target board: I'm still able to debug the target board, OpenOCD connects without any issue, GDB can list internal registers of the Cortex, and I can step into the code in eclipse. So the target cc2650 doesn't seem to be dead. Voltages are also normal.

I gave CCSv6 a try and used "Verify" when creating a new project, here is the output:

[Start]

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:\$USER$\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 'jioserdesusbv3.dll'.
The library build date was 'Feb 18 2015'.
The library build time was '23:56:50'.
The library package version is '5.1.641.0'.
The library component version is '35.34.40.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).

An error occurred while hard opening the controller.

-----[An error has occurred and this utility has aborted]--------------------

This error is generated by TI's USCIF driver or utilities.

The value is '-275' (0xfffffeed).
The title is 'SC_ERR_SCAN_POLL_BUSY'.

The explanation is:
The attempt to poll a target device exceeded its timeout limit.
The utility or debugger has requested that a target device be
repeatedly accessed for a specific data or status value.
This has failed because the built-in limit for the maximum number
of attempts when polling the JTAG scan-path has been exceeded.

[End]

needless to say that using the cc2650EM everything just works fine.

I there any possiblity that the chip refuses connectction over c-JTAG (when using XDS100v3, openOCD uses JTAG) ?

So for now I'm quite blocked in my work because of this tool issue...

Cheers,

Dorian

[EDIT]: Typos

[EDIT2]: A few hours of frustration later...

I hooked an IAR J-Trace to the board, Segger's Jlink isn't able to communicate either:

PROMPT>"C:\Program Files (x86)\SEGGER\JLink_V500g\Jlink.exe" -if jtag
-device CC2650F128
SEGGER J-Link Commander V5.00g ('?' for help)
Compiled Jul  6 2015 19:46:26
Info: Device "CC2650F128" selected.
DLL version V5.00g, compiled Jul  6 2015 19:45:53
Firmware: J-Trace Cortex-M Rev.3 compiled Mar 30 2015 13:52:25
Hardware: V3.10
S/N: 183200345
OEM: IAR
Emulator has Trace capability
VTarget = 3.267V

****** Error: CC2538 (connect):Can not find ICE-Pick (IDCODE mismatch). Expected
 0x0B00002F, found: 0xFFFFFFFF

****** Error: CC2538 (connect):Can not find ICE-Pick (IDCODE mismatch). Expected
 0x0B00002F, found: 0xFFFFFFFF
Can not connect to target.
Failed to identify target. Trying again with slow (4 kHz) speed.

****** Error: CC2538 (connect):Can not find ICE-Pick (IDCODE mismatch). Expected
 0x0B00002F, found: 0xFFFFFFFF

****** Error: CC2538 (connect):Can not find ICE-Pick (IDCODE mismatch). Expected
 0x0B00002F, found: 0xFFFFFFFF
Can not connect to target.
No device found at all. Selecting JTAG as default target interface.

In fact OpenOCD complains for the same kind of issues: the chip doesn't give the expected IDCODE (sees 0x00000000) but it doesn't seem to be blocking for it.

Is there any risk to brick only the JTAG part ??