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.

LP-EM-CC2340R53: Programming CC2340R53 via Serial Bootloader

Part Number: LP-EM-CC2340R53

Tool/software:

Hello,

I am looking to be able to program a blank CC2340R53 via the serial bootloader (UART). From what I have found, there is some tooling to do so with the SBL tool from one of TI's Github repositories (github.com/.../TI_CC2340_Linux_SBL). However, the instructions in the repo for generating a binary to program seems a little bit counter-intuitive.

For example, it prompts the user to export the binary and ccfg separately presumably from a device already running the target firmware. I am looking to be able to program the firmware via a single binary similar to how the tooling from older sdks and devices have done it, (see https://github.com/TexasInstruments/simplelink-lowpower-f2-sdk/tree/main/source/third_party/cc2538-bsl). 

Perhaps I am understanding it incorrectly, but my goal is to be able to program a .hex file via the serial bootloader. Please let me know if I am misunderstanding the process, if there is newer tooling that I am unaware of, or if the only way is to program the ccfg separately.

Thanks,

Alex Trujillo

  • Hi Alex,

    The CC2340R53 will need to program both an application and CCFG (note that the CCFG could remain static if all configurations are the same as before).  Unlike with the CC25xx/CC26xx devices, the CC23xx has a CCFG location separate from the main flash area (0x4E020000 instead of the last flash page).  Since the TI_CC2340_Linux_SBL tool only accepts binary (.bin) images, and binary images cannot have holes, a combined binary image would be quite large (>1.3 GB).  To resolve this, we split the application and CCFG into two separate binary images and flash both at the same time.  Creating the binary images could be accomplished with two post-build steps on the output (.out) file of your project.  Here is a CCS example:

    ${CG_TOOL_ROOT}/bin/tiarmobjcopy.exe "${BuildArtifactFilePath}" --only-section .ccfg --output-target binary "${BuildArtifactFileBaseName}_ccfg.bin"
    ${CG_TOOL_ROOT}/bin/tiarmobjcopy.exe "${BuildArtifactFilePath}" --remove-section .ccfg --output-target binary "${BuildArtifactFileBaseName}_app.bin"

    It may be possible to modify the TI_CC2340_Linux_SBL solution source code so that it allows .hex file inputs, which allows for holes, however I haven't looked into this enough to know for sure

    Regards,
    Ryan