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.

cc26xx Bootloader communication

Other Parts Discussed in Thread: CC2650

I am study in TI new product CC2650 (QFN48/7x7) and have some question about Bootloader Functionality For Update valid image.

I use SmartRF06 Evaluation Board + CC2650EM-7ID

I would communicate with an MCU over the serial interfaces on the  SSI0 peripherals.

Q1. How can i ensure CC2650 enter the ROM bootloader (even when a valid image is in the flash)??
        I hold down the SELECT button (corresponds to logic ‘0’) while I press the EM reset button on the SmartRF06EB.
        but i can't ensure CC2650 Enter  Bootloader Functionality.

Q2. When i hold down the SELECT button while I press the EM reset button, i need Removed any jumper on the SmartRF06EB??
        How many DIO i need to setup when CC2650 power on??
        What condition(H or L) about DIO ?? 

Q3. How can i use  BL_PIN_NO and BL_LEVEL??
        This is GPIO ?? which GPIO is  BL_PIN_NO??  which GPIO is  BL_LEVEL??

Q4. Do i need Select interface(UART or SSI)?? When CC2650 Enter Bootloader
        How to select interface??

Q4. Why my MCU can't get any Response even ACK(0xCC)/NACK(0x33), i always get MISO Signal is High (0xFF) when MCU send any Command.
        I would communicate with an MCU over the serial interfaces on the  SSI0 peripherals.
        My SSI parameter on MCU:  
               Signal voltage is 3.3 V,
               Pull up resistance 75K,
               SSI_CLK is 750 KHz,
               SPH set to 1 and SPO set to 1,

Q5. How can i know detail SSI waveform about MCU communicate with Bootloader??
       i would know about SSI_FSS, SSI_CLK, SSI_TX,  SSI_RX detail waveform.

  • Hi Miller,

    Before answering your questions, can you confirm what changes you made to the CCFG? Did you enable the Bootloader according to Ch 8 (Bootloader) of the TRM SWCU117A?

    The following modifications to CCFG can demonstrate the ROM bootloader on CC2650EM on SmartRF06EB:

    //**************************************************

    // Bootloader enable

    //**************************************************

    #define SET_CCFG_BL_CONFIG_BOOTLOADER_ENABLE            0xC5       // Enable

    //**************************************************

    // Bootloader pin level configuration

    //**************************************************

    #define SET_CCFG_BL_CONFIG_BL_LEVEL                  0x0        // Active low

    //**************************************************

    // Bootloader failure analysis pin number

    //**************************************************

    #define SET_CCFG_BL_CONFIG_BL_PIN_NUMBER                0x0B

    //**************************************************

    // Bootloader failure analysis

    //**************************************************

    #define SET_CCFG_BL_CONFIG_BL_ENABLE                 0xC5       // Enabled

    Procedure:

    1. Use 7x7 EM

    2. Use Flash Programmer 2 ver. 1.6.0 (FP), Force mass erase (using XDS100), do not reset the board after erase completes

    3. In FP, select the USB Serial port (COM port) and tell FP that it’s CC2650 via drop-down menu

    4. Flash via bootloader SimpleBLEperipheral with the above change

    5. Verify LCD shows “BLE Peripheral” and/or initiate connection via BTool – confirms device is running from flash.

    6. Try to connect via FP / COM port. Doesn’t work

    7. Hold SELECT and press RESET, should now be in ROM BL mode with blank LCD.

    8. Connect again via FP2 / COM port. Works.

    Best wishes

  • Hi Miller,

    As Jeff writes, I suggest you read through the bootloader chapter in the Technical Reference Manual (you will find this doc at the top of the CC26xx product pages).

    The schematic for the SmartRF06EB is found at the end of the SmartRF06EB User Guide.

    Cheers,
    Fredrik
  • Hi JXS,

    I can get address 0x0000 0000 Data that was downloaded(COMMAND_DOWNLOAD + COMMAND_SEND_DATA).
    I use CCS 6.1.0.

    Now, i want to update Flash Image via COMMAND_DOWNLOAD + COMMAND_SEND_DATA.
    But, what file format i can download to flash directly?? (*.out ?? , *.hex?? , *.Bin?? or other)
    ....
    I use Project SimpleBLEPeripheral and SimpleBLEPeripheralStack,
    and go to options and check the box for .hex file. ( check "口Enable ARM Hex Utility" )
    I can get two (*.hex) file from CCS6.1.0 after built,
    but, the two (*.hex) file data are different with data that read from Flash by COMMAND_MEMORY_READ (From Addr 0x0000 0000).
    Why ??
    ...
    How can i get correct file to update Flash Image ??
    Even, have i send wrong address??


    Best Regard,
    Miller