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-Q1: CC2340R5-Q1: How to add OAD services to my project?

Part Number: CC2340R5-Q1
Other Parts Discussed in Thread: CC2340R5

Tool/software:

Hi, TI:

Below is my building environment:

Software

Version

Code Composer Studio

12.7.0.00007

SimpleLink SDK

Low power F3 SDK 7.40.00.64

COMPLIER VERSION

TI Clang 3.2.2 LTS

Now the project needs OTA function, currently ready to use TI's OAD service, through the phone to update the firmware, I have studied TI's OAD Fundamentals course, but for the cc2340R5-Q1 SDK did not find OAD ADVANCED course, and in the cc13XX 26XX SDK, there is a relevant course, detailed discussion on how to add OAD service to the in the customer's project. So how to add is OAD functionality in my project, is there any documentation on this, thanks.

have a good day!

james

2024.05.28

  • James,

    You can first start with the OAD examples provided in the SDK, and refer to the OAD section of the users guide. 

    https://dev.ti.com/tirex/content/simplelink_lowpower_f3_sdk_7_40_00_64/docs/ble5stack/ble_user_guide/html/ble-stack-5.x-guide/ble5-oad-index-mcuboot.html

  • Hi, Evan:

    Thanks for your reply quickly.

    I have gone through this course over and over again and have not found this document for what is mentioned in the course, please help me see how to get this document.

    This article can be found in the section on OAD APPLICATION.

    have a good day!

    James

    2024.05.29

  • Hi, Evan:

    I tested the method of updating the IMAGE via BLE and cell phone as  the documentation you gave. I am using the DUAL IMAGE example. When I tested using the MCUBOOT.HEX file provided by TI, everything works fine. All functions work, but if I compile the MCUBOOT.hex file to test it using the MCUBOOT source code provided by TI, the bootloader can't copy the bin file downloaded through the phone from slot2 to slot1, can you help me to see how to set the parameters of mcuboot? Or can you provide your mcuboot source code. Thank you!

    have a good day!

    James

    2024.05.30

  • Part Number: CC2340R5-Q1

    Tool/software:

    Hi, TI:

    Below is my building environment:

    Software Version
    Code Composer Studio 12.7.0.00007
    SimpleLink SDK Low power F3 SDK 7.40.00.64
    COMPLIER VERSION TI Clang 3.2.2 LTS

    Our product now needs to use the OAD service to update the firmware, I have taken the OAD course you provided and tested the demos mentioned in your course, I tested the dual_image project. Now I need to add the OAD service to our app, in the document you provided it is mentioned that the project of ble_basic_dual_image is changed through the project of ble_basic, I compare the difference between the two projects and found that it is just adding some oad files, I follow the difference I found out by comparing and add these files of OAD to the ble_basic project, and then I add the OAD files to the ble_basic project. I added the OAD files to the ble_basic project according to the differences I found, and the oad service didn't run, can you provide some guidance? Thanks!

    have a good day!

    James

    2024.06.01

  • Hi James,

    Thanks for checking the resources we sent. Merging your thread to the same thread it originated from since it's largely the same issue. I've assigned a resource here to help, but it may take a few days to formulate a response. Please allow us this time. Thanks!

  • Hi, Evan:

    It's been 10 days, any updates? Our project now needs to use monitor's function, and also need to add OAD's service, but monito's function is based on micro stack's API, while OAD's function is based on BLE stack, the same project can't use two ble stacks at the same time!How should we add the oad service to monitor's project?Can you guide us?

    have a good day!

    James

    2024.06.12

  • Greetings,

    The connection monitor and the OAD projects are very different from each other. The connection monitor works on the microBLE stack which currently does not support OAD.

    As for the issue with adding service to the Basic_BLE project, have you also checked if there are any linker file differences? Additionally, have you checked what the post-build script does for the OAD example with regards to the version number, and it's importance?

    Best,
    Achyut Ray

  • James, 

    Connection monitor is not a BLE stack nor BLE role. It's a proprietary piece of software that is custom built to simply just track connections. It's usually a dedicated device that only runs connection monitor and all customers we have worked with update the software on the connection monitor nodes via a LIN or CAN bootloader.

    From there, I'll let Achyut help you on the OAD enablement on basic_ble. 

  • Hi, Achyut:

    Thanks for you help!We can now add the OAD service to the Basic_BLE project, but my MCUBOOT source code compiles differently from the HEX file you provided, can you provide us with your MCUBOOT source code for reference?Thanks!

    have a nice day!

    James

    2024.06.13

  • Hi, Evan:

    Thanks for your reply.Since monitor's project and oad service's code can't be added together, we are currently ready to put three bin files into flash, one is mcuboot, one is monitor's APP, and one is oad service app, and we can control the startup of that APP in mcuboot, so can we achieve the purpose of updating monito app as well.

    have a nice day!

    James

    2024.06.13

  • Greetings James,

    The source code for MCUBoot project should be available to you when you import the MCUBoot into your IDE from under the examples/nortos/LP_EM_CC2340R5/mcuboot.

    Best,
    Achyut Ray

  • Hi, Achyut:

    Thanks for you reply.

    I can find this source code, what I want to express is that the HEX file I compiled with this source code is not the same as the HEX file provided by TI in hexfiles to run the result, have you changed the source code, can you give us a reference?

    Also, in the Bootloader Configration option above picture, these settings are valid for other apps, but not for mcuboot, This means that every time before MCUBOOT is run, the rom boot is run first, so how do I set it up to only run MCUBOOT and not the rom boot? 

    have a nice day!

    James

    2024.06.18