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.

CC1310: Branch to ROM Bootloader over User Application

Part Number: CC1310


Hi,

We are trying to add the option to update the firmware of the CC1310 over the ROM bootloader in our CC1310 based custom boards. The problem is, there is no connection to any of the DIO pins on this custom board. So we will do a hardware revision for this feature. But for the current devices, I was wondering if there is an option to run the ROM bootloader without the backdoor pin. We only have the UART RX-TX connections to this CC1310.

Q1: Can we branch to the ROM bootloader by e.g. setting a non-volatile flag in our firmware and do a reset? 

Q2: If there is no way to run the bootloader without using DIO pins as backdoor; is there a way to use UART RX/TX pins as backdoor pin then communication pin? If I connect a cable to DIO11 and set it as bd pin, it works without any problem. But if I set the bd pin to DIO2 or DIO3 which are the UART RX and TX pin, it can not start the bootloader using these pins. I thought maybe we would have the chance to first use these pins as backdoor then if bootloader started, use them for UART.

Q3: Is there an option for Golden Image or Double Image for the ROM bootloader? We have enough space to keep 2 firmware in the flash. In case of a failure while downloading a new firmware using the ROM bootloader, can we switch to the backup app in flash?

Q3.1: If this is not possible, is there any option to validate the image in the HOST API before programming it to CC1310?

  • Hi A,

    Q1) This is not possible as far as I know.

    Q2) You should be able to use the use the TX/RX pin as the backdoor pin, see section 8.1.2 in the Technical Reference Manual. When doing this, you need to make sure to deassert the pin again before transmitting on the interface.

    Q3) This is not possible. If you need this kind of extended functionality you need to implement your own bootloader and reserve space for it in the device flash. In this scenario, we recommend placing the bootloader at the end of flash, grouped together with the CCFG section.

  • Hello M-W,

    We have been able to get to the bootloader using DIO2 (UART0-RX) pin as you mentioned. I think we were not deasserting it correctly as you said.

    Thanks!