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.

CCS/CC2650: Cannot download a firmware into CC2650 over an external serial interface

Part Number: CC2650

Tool/software: Code Composer Studio

For the purpose of mass production,programming the flash memory in CC2650 over an external serial interface is very much needed.A recent verification job has been done on the evaluation board SmartRF06 with a ARM based low-power RF wireless MCU CC2650.The board has an on board JTAG debugger XDS100V3 that can provide a virtual serial interface to the host computer.

The experiment turns out to be depressing.The virtual serial interface can establish  a successful connection to CC2650 rendered in bootleader mode and subsequent operations can thus be performed without an error.However,when leaving the virtual serial interface and connecting the chip directly through an external,independent serial interface,the programming tool provided by TI christened as “SmartRF Flash Programmer 2” then tells an error which indicates a communication establishment failure.As per the related technical documents,This is probably caused by a failure in negotiating the baud rate with the host computer who initiates an access request.The protocol to access CC2650 in bootloader mode has it that the host computer should send two consecutive  bytes 0x55 0x55 to start a connection to the chip which then will send back an ACK (a fixed value which is 0x00 0xCC) in response.  As shown in the picture below ,the programming software on the host side takes a wrong response which is 0x80 0xEC instead of 0x00 0xCC.

More surprisingly,a wave form captured by oscilloscope tells a different story.The response from CC2650 right after receiving 0x55 0x55 is exactly what it is supposed to be.

(a received wave form from the serial comm line,RF1.9_UART_TX) 

Beside this programming software,trying  to send a 0x55 0x55 sequence to the CC2650 in its bootloader mode  with another serial communication software will also prove the connection being established properly.

So,does the software SmartRF Flash Programmer 2 have a special bond with XDS100v3 so that it can work seamlessly with it either through a JTAG debugger or a virtual serial port?If not,what's the problem then?Where does the problem lie?Can you pinpoint it?

Thx,So many.

Yan Jie

A software engineer at the Sumavision Corp.

  • Hello Yan,

    For mass production TI recommends using a production programmer that is designed for large scale manufacturing environments. Some suggested production programmers are listed in the "Complete Tools Overview" article on the TI BLE Wiki.

    I'm not sure where your procedure is incorrect, but I can confirm the following procedure works with SmartRF Flash Programmer 2 v1.7.5 and the SmartRF06 + CC2650EM_7ID:

    1. Force mass erase the CC2650EM_7ID using the XDS100v3 (wrench icon). This will replicate the erased state of flash memory for new CC26xx devices
    2. Select USB Serial Port and set device type to CC2650
    3. Program valid hex image using ROM serial bootloader => SUCCESS

    Best wishes