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.
Hello Team,
We are working on hardware design using CC2340R5 for our BLE module & want to have minimum components and exposed pin count.
My main concern is regarding the production programming of the module, as per my understanding we will need the following pins
But according to datasheet the CC2340R5 have internal bootloader, which enables the user to program through serial UART interface only (*Tx/Rx pins), just want to know the following things:
1. How to enable internal bootloader, Is there any GPIO which we will need to control at boot up to enter into bootloader mode?
2. which TI tools will be required to program the binary files if we connect serial UART pins through FTDI serial USB converter.
Please let me know if you need more information.
Regards,
Harinder Singh
Hi Harinder,
Thank you for reaching out. We are looking into your queries and will get back to you as soon as possible.
Best Regards,
Jan
Hi Harinder,
First of all, allow me to provide more details on the signals required to flash the device.
- Assuming you are using the SWD interface, only the VCC, GND, SWDIO and SWCLK signals are required. You can refer to Figure 6. on this page to find more details and test this on your own.
- If you decide to use instead the serial bootloader (which can be SPI or UART based), you need the following signals: VCC, GND, nRST, [UART RX, UART TX] OR [SPI MOSI, SPI MISO, SPI CLK] at a minimum.
With these elements being clarified, here are the answers to your questions :)
1- The ROM serial bootloader is entered (among others) when the device's CCFG is blank or incorrect. In other words, when the device is powered on for the first time (and until it is flashed with a valid CCFG), it will allow to use the ROM serial bootloader.
There is also the possibility to access again the ROM serial bootloader using the so called backdoor pin.
2- The functioning of the ROM serial bootloader is described in the technical reference manual (https://www.ti.com/lit/pdf/swcu193), chapter 8.
Please let us know if you need further details.
Best regards,
Dear Sir,
@Clément Thanks for your quick & effective response response..! you are always up to the point
I am clear regarding the pins that I want to use for programming using the internal bootloader (*serial UART)
I want more clarity on the following things
Let's discus one by one!
1. Invoke ROM serial bootloader using the so called backdoor pin
Generally MCU's have BOOT pins whose status after reset invokes internal bootloader but I didn't find any specific pin for this purpose with respect to CC2340R5, can you please point which DIO or Pin no. will serve the purpose of invoking internal bootloader so that user can reflash the firmware if required. I didn't find the backdoor pin related information in the datasheet.
Do we need to configure any pin for this or it's preconfigured by default? if yes what's the default pin?
Acc. to CC23xx, CC27xx Technical Reference Manual (TRM) :
Acc to CC23xx, CC27xx Technical Reference Manual (TRM) as per default settings - (*Is it correct?)
CC2340R5 Pinout - QNF40
Backdoor information explained in CC2538/CC26x0/CC26x2 Serial Bootloader Interface (Rev. D):
2. Which TI tool I will use for programming the binary or hex files ?
Do I need to program CCFG separately?
Kindly please specify the tool name which will operated on system/PC end operate in serial interface (* for example Uniflash works for SWD interface)
Will CCFG will need special programming process or it will be part of firmware itself like the way it works.
Basically, once we get the raw CHIP, do we need to anything special or just flashing the firmware binary file will be sufficient?
Please let us know if you need further details.
Best regards,
Harinder Singh
Hi,
1- Any PIN can be defined as backdoor pin. You can use SysConfig to configure this.
2- Technically, there is no need for specific TI tools as you basically have to send the UART commands as defined in the user's guide. However, to ease this, we are working on a tool that should be released in the upcoming months.
Best regards,