[SOLVED] CC2650 JLinkExe connection issue

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • [SOLVED] CC2650 JLinkExe connection issue

    I'm trying to connect to a TI CC2650 mounted on the TI smartRF06 board. I've pulled the headers to put the board into external debug mode and I'm connecting with a 10-pin cable.

    Running

    JLinkExe -if jtag -device CC2650F128


    I've managed to get it to work about 5 times in about 200 attempts. Below is the output from one of the successful ones and also the output from the most common failure. I've tried two JLinks, 2 cables, 2 different boards and 2 laptops and get the same results. I've tried in Windows and in OSX.

    I've found that sometimes setting the speed to 10kHz, resetting the interface to jtag inside JLink and performing a reset with 'r' works, but that's also a very random process, mostly I get the same errors. I've found one test board works slightly more often than another but it's marginal.

    Clearly this device is supported and does work but it seems very random and doesn't work way more often than it does. What else can I try here, are there other parameters I can specify to help this along?


    This is the output from one of the very few working ones


    JLinkExe -if jtag -device CC2650F128

    SEGGER J-Link Commander V4.98 ('?' for help)
    Compiled Mar 20 2015 18:38:32
    Info: Device "CC2650F128" selected.
    DLL version V4.98, compiled Mar 20 2015 18:38:24
    Firmware: J-Link Lite-Cortex-M V8 compiled Jul 17 2014 11:40:12
    Hardware: V8.00
    S/N: xxxxxxxxxxx
    Feature(s): GDB
    VTarget = 3.313V
    Info: TotalIRLen = 10, IRPrint = 0x0011
    Info: Found Cortex-M3 r2p1, Little endian.
    Info: FPUnit: 6 code (BP) slots and 2 literal slots
    Info: CoreSight components:
    Info: ROMTbl 0 @ E00FF000
    Info: ROMTbl 0 [0]: FFF0F000, CID: B105E00D, PID: 000BB000 SCS
    Info: ROMTbl 0 [1]: FFF02000, CID: B105E00D, PID: 003BB002 DWT
    Info: ROMTbl 0 [2]: FFF03000, CID: B105E00D, PID: 002BB003 FPB
    Info: ROMTbl 0 [3]: FFF01000, CID: B105E00D, PID: 003BB001 ITM
    Info: ROMTbl 0 [4]: FFF41000, CID: B105900D, PID: 003BB923 TPIU-Lite
    Found 2 JTAG devices, Total IRLen = 10:
    #0 Id: 0x4BA00477, IRLen: 04, IRPrint: 0x1, CoreSight JTAG-DP (ARM)
    #1 Id: 0x8B99A02F, IRLen: 06, IRPrint: 0x1, TI ICEPick
    Cortex-M3 identified.
    Target interface speed: 100 kHz



    However most of the time I'm failing to connect - the most common sequence is something like this


    JLinkExe -if jtag -device CC2650F128
    SEGGER J-Link Commander V4.98 ('?' for help)
    Compiled Mar 20 2015 18:38:32
    Info: Device "CC2650F128" selected.
    DLL version V4.98, compiled Mar 20 2015 18:38:24
    Firmware: J-Link Lite-Cortex-M V8 compiled Jul 17 2014 11:40:12
    Hardware: V8.00
    S/N: xxxxxxxxxx
    Feature(s): GDB
    VTarget = 3.306V

    ****** 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.
  • Hi,

    Please note, that J-Link Lites may only be used with the board they were shipped with.

    www.segger.com/jlink-lite-cortexm.html wrote:

    Licensing
    J-Link Lite CortexM is only delivered and supported as part of a starter kit, which includes an evaluation board. It is not sold separately.
    It may only be used with the evaluation board it came with. Support is given via the eval board manufacturer and via SEGGER forum.

    Could you try connecting with another J-Link model?

    Best regards
    Johannes
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • SEGGER - Johannes wrote:

    Hi,

    Please note, that J-Link Lites may only be used with the board they were shipped with.

    www.segger.com/jlink-lite-cortexm.html wrote:

    Licensing
    J-Link Lite CortexM is only delivered and supported as part of a starter kit, which includes an evaluation board. It is not sold separately.
    It may only be used with the evaluation board it came with. Support is given via the eval board manufacturer and via SEGGER forum.

    Could you try connecting with another J-Link model?

    Best regards
    Johannes


    I did - as per the original post I tried two different JLink models (LiteM and Base), two cables, two everything, in every combination. I took the screen grabs above from the Lite because that was the only one I got to connect at all, even once. The Lite was actually the better of them. I have a board with a JLink OB with debug out on it too, but I don't have a cable which fits and having failed with the last two, wanted to see if I can get a little help before going hunting for one and failing with that too. I could hook the OB up temporarily with some jumpers but it's going to be rather wobbly.

    Do you have anything else I can try? Should this work? Is there a reason it's so intermittent and sometimes works, sometimes doesn't. Are there some more parameters I can try adding? My first thought was that the board isn't getting out of the startup cJTAG mode most of the time but when it does, it works ok.
  • Hi,

    Okay. The OB will probably give the same results, so it might not be worth the work to hook it up.

    We just gave the CC2650 a try with a J-Link BASE and everything is working. We were always able to connect to the device.

    Might it be possible that there is some application running on your device, configuring the device to disable the debug interface, going into low power mode or something similar?

    Best regards
    Johannes
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • SEGGER - Johannes wrote:

    Hi,

    Okay. The OB will probably give the same results, so it might not be worth the work to hook it up.

    We just gave the CC2650 a try with a J-Link BASE and everything is working. We were always able to connect to the device.

    Might it be possible that there is some application running on your device, configuring the device to disable the debug interface, going into low power mode or something similar?

    Best regards
    Johannes


    Sorry for the slow reply, it's taken a few days to get back to looking at this, I got a little frustrated with it and left it alone for a while.

    Yes there was an application running on the device, it's the one it ships with, a bluetooth test app. That does not put the device into low power mode nor disable debug as far as I can tell. I was able, with the onboard XDS100v3 which ships on the board, using windows, to connect to the device reliably, halt it, look at memory, registers etc. So clearly the board is debuggable in that state, however JLink has issues connecting except very occasionally.

    I finally wiped the flash clean using the XDC100v3. Now, indeed, I'm able to connect to the board and have managed to get a simple example on it.

    So now I have two boards, one with the demo app on it, one without, one I can connect to with JLink, one I can't. I can reliably connect to both of them with the on-board XDS100v3. I would like to get a little further with this if possible, my concern is that if I have more than a simple blinky app on the device, I'm going to have the same problem. I think the Segger should be able to connect to the board with the demo app running.
  • I asked TI about this - there's nothing about the demo code that they ship running on the board which either puts the chip into non-debug mode nor a low-power mode and a compatible external debugger should be able to connect. They point out the on-board XDS debugger works reliably and suggest therefore it's a JLink issue.

    I have the hex file for the software which is supplied on the board when shipped. So I put it back on to have another test. I had some issues getting loadfile to work, took a couple of attempts, but got the test code back on (hex file attached). And indeed after power-cycling the board I again couldn't connect to it in the same way. I eventually had to boot windows and use the TI smartlink XDS program in order to get back onto the board and erase the code again. Once I'd done that, JLink works again, I can upload my code and run and .. all fine.

    I have reproducible steps on two boards to get them into a state none of my JLinks can connect whereas the on-board TI debugger is always able to do so. When the JLink is connected, it's fine, works wonderfully, but it would be very helpful to have the connection issues resolved, or if it's a TI issue, something I can take back to them.

    Hardware here is a SmartRF06 Evaluation board with the CC2560EMK daughter board mounted. TI-provided demo hex file attached, zipped.
    Files
  • So in the end, Johannes you were correct. I got a fresh reply from someone different at TI yesterday saying that actually, yes, the demo code *does* use a low-power mode on startup which disables debug. They tell me that the XDS100 and I-Jet debuggers set a force flag on the scan chain to prevent the debug interface being turned off. They also tell me they're already working with Segger on this.

    That's what I wanted to know - I'll keep an eye out for updates to the drivers. Everything else as far as I can tell works just fine and the board, once connected, is super under the segger debugger.
  • Hi,

    Sorry, it took a while before we had a chance to implement a fix for the low-power mode issue.
    Will be implemented in V5.02b which is going to be released within the next hour.
    segger.com/jlink-software.html


    Best regards
    Alex
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.
  • JLink-Base with CC1350 LaunchPad - Help?

    Connecting to the TI CC1350 with JLinkExe -if jtag -device CC1350F128 -speed 50 still gives me the following error:


    SEGGER J-Link Commander V6.31a (Compiled Feb 12 2018 10:23:49)
    DLL version V6.31a, compiled Feb 12 2018 10:23:40

    Connecting to J-Link via USB...O.K.
    Firmware: J-Link V9 compiled Feb 2 2018 18:12:38
    Hardware version: V9.30
    S/N: xxxxxxxx
    License(s): GDB
    VTref = 3.291V
    Device position in JTAG chain (IRPre,DRPre) <Default>: -1,-1 => Auto-detect
    JTAGConf>
    Device "CC1350F128" selected.


    Connecting to target via JTAG
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000

    ****** Error: InitTarget(): PCode returned with error code -1

    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000
    InitTarget: Can not find ICE-Pick (IDCODE mismatch). Expected 0x0B00002F, found: 0x00000000

    ****** Error: InitTarget(): PCode returned with error code -1

    Cannot connect to target.

    Has this fix for low-power mode been implemented for the CC1350 chip?-- is there a workaround if not?

    Thanks!
  • Hello,

    Please do not reopen ancient threads.
    The setup are software and hardware wise not comparable.
    Your post will be moved into a new thread to discuss your exact setup further.

    This thread will be closed now.

    Best regards,
    Nino
    Please read the forum rules before posting.

    Keep in mind, this is *not* a support forum.
    Our engineers will try to answer your questions between their projects if possible but this can be delayed by longer periods of time.
    Should you be entitled to support you can contact us via our support system: segger.com/ticket/

    Or you can contact us via e-mail.