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.

CC2540: OAD Manager on USB Dongle Getting Serial Port Error from Serial Boot Loader Tool

Part Number: CC2540

Hello All,

I am trying to modify the OAD Manager project to work on the CC2540USB Dongle. (If this already exists somewhere I will humbly accept downloading this project)

My problem is that when I load the Serial Boot Loader Tool (v1.2), I get a SERIALPORT_ERROR after about 30 seconds of trying to connect.

On Serial Boot Loader Tool (v1.3.2): I Load the Port through the Port Settings, then click "Open." "Port Open" is displayed in the bottom right. After a short time I get repeated "Write Data Error Port Number = COM23 The write timed out." and "Device Command Response Timeout Operation State = Handshake".

  • I am using BLE-CC24x-1.4.2.2
  • I have modified the OAD Manager code so that pressing a pushbutton replaces the "joystick down" key to call the sblRun() function.
  • I have tested this by turning an LED on and calling the sblRun() function and seeing the function entered in the debugger (infinite loop).
  • I am using the CC254x_BLE_HCI_TL_cent.lib and CC2540_BLE_cent.lib.
  • I have added NPI (npi.c and npi.h) 
  • I have replaced HAL Target CC2540EB with the CC2540USB  (usb cdc, not hci)
  • My defined symbols are as follows:

OAD_IMG_B_PAGE=59

INT_HEAP_LEN=2900
OSAL_CBTIMER_NUM_TASKS=1
HAL_SBL_BOOT_CODE
xPOWER_SAVING
HAL_KEY=TRUE
HAL_DMA=TRUE
HAL_LED=TRUE
HAL_LCD=FALSE
HAL_UART_USB=1
HAL_UART_DMA=0
HAL_AES_DMA=TRUE
HAL_UART=1
HAL_UART_ISR=1
HAL_UART_ISR_RX_MAX=54  // Needed to avoid Error[e104]: Failed to fit all segments into specified ranges.
HAL_UART_ISR_TX_MAX=54  // Needed to avoid Error[e104]: Failed to fit all segments into specified ranges.

Things that work OK that you might be wondering:

  • Everything compiles fine.
  • I am able to see the TI CC2540 USB CDC Serial Port (COM23) in my device manager.
  • I am able (through a separate iteration of code) to view serial data in Tera Term that is called from HalUARTWrite() in my software.

Is there any recommendations on how I can get this program to work with the Serial Boot Tool?