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.

CC2340R5: Switch to Serial bootloader

Part Number: CC2340R5
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi,

Currently in one of our projects, we are using the CC2340R5 chipsets. We flashed the devices using XDS110 initially for testing the basic functionality of peripherals but would like to flash the firmware using the Serial Bootloader via UART. 

I see that there is a SBL tool available on this GITHUB  link which implements the host sequence.

We are trying to test the SBL tool on a Linux platform. 

The current problem that we are facing is that the SBL tool is displaying the  "ERROR: baud detect  failed" message.

Is it possible to put the device into serial bootloader mode by asserting/de-asserting a boot pin?

We would expect the below steps

Step1: Host asserts/de-asserts a boot pin and resets the device

Step2: Host goes ahead with sequence mentioned in the TRM for serial bootloader on CC2340R5.

Step3: Upon completion of the firmware update, rest the device and jump to application code.

  • Hi Sandeep,

    The CC2340R5 ROM serial bootloader is entered either when a blank device is detected or the backdoor bootloader pin is held active during a device reset.  The TI_CC2340_Linux_SBL does not implement host-side control of backdoor bootload or reset pins so they must be further developed by the user.  From the CC2340R5 device side, you can configure the backdoor bootloader pin trigger DIO and level from the SysConfig file's Device Configuration -> Boot Configuration module if not using the default FCFG values (active low DIO21 from Section 8.5.2 of the TRM).

    Regards,
    Ryan

  • Hi Ryan,

    Thank you for sharing the info. Please confirm if my understandings captured below is correct.

    1. With default FCFG settings, the DIO21 acts a backdoor pin. When this pin is held high and a reset is triggered, the device enters the serial bootloader.

    2. We have the option to select any GPIO as a backdoor pin by modifying the FCFG settings using the SYSCFG file. Pin trigger level for the backdoor pin also is configurable.

    3. In our custom board, we do not have the DIO21 pin, which means that we should select some other pin as a backdoor pin and then using JTAG flash the firmware for the first time. Subsequent firmware updates can be done using the rom serial bootloader by asserting/de-asserting the newly selected backdoor pin.

    Also, could you share the memory address range for the FCFG? 

    Thanks,

    Sandeep 

  • 1. The default pinTriggerLevel is zero so the device enters the serial bootloader when DIO21 is held low during a reset.

    2. The FCFG is fixed but SysConfig can choose CCFG settings to be used instead, from which any pinTriggerDio and pinTriggerLevel can be selected.

    3. If the device is blank then the serial bootloader will be entered by default which means you would not need to use JTAG for the first programming session.  Otherwise your assessment appears to be correct.

    The FCFG and CCFG memory ranges are shared in the Memory Map (Table 3-1) of the TRM

    FCFG Factory Configuration 0x4E00 0000
    CCFG Customer Configuration 0x4E02 0000

    Regards,
    Ryan

  • HI Ryan,

    Thanks for confirming the same. This has given me a good understanding on the working of serial Bootloader.