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.

CC2640: Programming/erase failure with xds110

Part Number: CC2640
Other Parts Discussed in Thread: UNIFLASH

I have a cc2640 based design (LSR's SaBLE-x devboard). I attached xds110 debugger, and everything went well for days now (i can program it, debug it, etc.) until today. I've accidentally erased "all unprotected pages" instead of "pages in image" via SmartRF Flash programmer 2. Since then the SmartRF Flash programmer can see the xds110 as a connected device and the cc2640 too, but when I try to connect it this happens:

>Initiate access to target: XDS-L3003278.
>Create XBAL object failed: Target connect failed
>Failed to create device object.

In CCS:

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 6.0.407.3)

I've tried Uniflash tool, but it is the same on linux and on windows too (like CCS).

Of course I've power cycled, tried different USB port, USB cable, everything, even openOCD. 

Flash programmer after a connection and a forced mass erase attempt:

The hardware setup is exactly the same as the LSR's user guide last page shows. The last used firmware was a hardly modified SimpleBLEPeripheral.

Please help me to know how I can program this board again.

Thanks in advance,

Zoltán

  • Hello Zoltán,

    If you are unable to access the CC2640 over JTAG then it means you have some issue with your debugger JTAG connection or there is some fault in our dev board, i.e., power is not being supplied. Can you work through the check items on the HW troubleshooting article on the TI BLE Wiki?

    Also, what was the last hex file that you programmed, was it the 480-0040-R1.1.hex file? If so, can you copy / paste the last few lines of the hex file?

    Best wishes
  • Thank you for the fast answer.

    I checked the initial board bringup part of the HW troubleshooting guide. The JTAG lines are OK, and the power is connected to the module, the current is about 6mA which looks fine. But as you can see at the screenshot the Smart Flash programmer is recognizing the cc2640 at the end of the chain, so I assume some basic communication is working on the JTAG interface. 

    The last hex was a modified SimpleBLEPeripheral. The last 8 lines are the following:

    :2069E80000010020006900007801002028690000A401002048690000C801002060690000B3
    :206A0800E40100207069000008020020806900000002002090690000EC010020A06900004C
    :146A2800F0010020B0690000F8010020C069000000000020CE
    :020000040001F9
    :20FFA80000008001100082FFFDFF58003AFFBFF3FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF8
    :20FFC800FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC5FFFFFFFFC5FFFFFFC5C5C5FF5B
    :18FFE800C5C5C5FF00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC3
    :00000001FF

    But I can't stress it enough that everything worked (CCS program, debug) until I have chosen "Erase all unprotected pages"  in SmartRF Flash Programmer, without "program" or "verify" options selected. From that point only the "Create XBAL object failed: Target connect failed" message I can get.
    To be 100% correct I have two SaBLE-x devboard, and both of them producing the same symptoms. 

    Thanks,
    Zoltán

  • Hi,

    I have a minor update for my problem, using the dbgjtag tool I've succeeded to make DR and IR integrity scan-test and it was successful, so I assume the hardware is OK.

    Cheers,
    Zoltan

  • A second PC has solved the situation. I can't really imagine how it is possible, everything is the same, but different output. Uniflash tool has succeeded to restore the original firmware on the second PC, and now I can program/debug etc. with the first PC... Unbelievable.