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.

CC2642R-Q1: Unable to Auto Reboot after OAD on-chip firmware update process

Part Number: CC2642R-Q1
Other Parts Discussed in Thread: CC2642R, UNIFLASH

Hello,
I am using CC2642R for my BLE based application. We have incorporated firmware update process in the application. We have referred to the following link:
https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__ATQuPjLa7mTe6cHhz7y-WA__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST

And have used 3 example firmwares:
1. bim_onchip
2. persistent_app
3. simple_peripheral_on_chip

The files were flashed using uniflash as per the reference link. Able to successfully update the application's firmware using Simplelink Connect App. However, the application is unable to auto-reboot (Soft reset) to move to the updated new firmware. Hard reset (Toggling the power switch) is required to run the new firmware. 

So my question was is there any additional step that needs to be performed to auto reboot and ensure that the new firmware is up and running without performing hard reset

  • Hi Raj,

    Just clarifying to better provide support, when running the demo it says that the download was successful but the version number on the terminal is not changing? The version number only changes after you perform a hard reset, is my understanding correct?

    Best,
    Josh Alderson

  • Hello Josh,

    Yes, number only changes after hard reset. Issue is once I received the message " 100 % Done ", i am unable to view the device using a standard scanner app. Only after I hard reset the hardware, the device can be seen on Scanner App.

    Regards,
    Raj

  • Hi Raj,

    Could you tell me what SDK you are using?

    The device should automatically reset after processing all pending messages after the OAD completes.
    Can you confirm for me that you are reaching SimplePeripheral_processConnEvt in the code when running the example, specifically where it calls SystemReset()?
    I would suggest either adding a print statement here or using the debugger and a break point there.

    Best,
    Josh Alderson

  • Hello Josh,

    Could you tell me what SDK you are using?


    I am using simplelink_cc13xx_cc26xx_sdk_7_41_00_17 SDK

    Can you confirm for me that you are reaching SimplePeripheral_processConnEvt in the code when running the example, specifically where it calls SystemReset()?


    SimplePeripheral_processConnEvt function is present in the simple peripheral example. The firmware successfully resets to persistent app when OAD RESET SERVICE is called. It successfully reaches "SP_OAD_RESET_EVT".

    I am facing issue with regards to reset to main firmware after successful download of image (when persistent app example code is running). There is no SimplePeripheral_processConnEvt in the persistent app firmware logic. After successful download of firmware, hard reset needs to be performed to run new firmware.

    Kindly provide guidance for resolving the above point.

    Regards,
    Raj

  • Hello Raj,

    This is a known issue for the BIM when using a launchpad device. The workaround is to do a hard reset as you have been doing, but there is a permanent fix which requires an update of the emulation software package. For more information on the issue and steps to update the emulation software (if desired) please refer to this link: Boot Image Manager (BIM) — SimpleLinkTm CC13XX/CC26XX SDK BLE5-Stack User's Guide 2.2.11.00 documentation

    B
    est,
    Josh Alderson

  • Hello Josh,

    The documentation link consisted of the following point:
    " This only affects devices connected to JTAG, such as the XDS110 on LaunchPads. This issue should not appear in field devices or devices that are not connected to JTAG in general. "

    We are using only the microcontroller and not the launchpad for our testing. So JTAG is not connected to the microcontroller. Still we are facing the above mentioned issue. Is there any workaround for the same ?

    Regards,
    Raj

  • Hello Josh,

    I have one more query. When we modify any BLE related parameter such as Extended Advertisement in the main application code, will the same parameter change need to be reflected on the persistent app code as well ??
    Because i just disabled the extended advertising of the sample simple_peripheral_onchip and the auto reboot after successful OAD functionality was not functional. This was implemented on the most recent SDK version (8.32.00.07)

    Regards,
    Raj


  • Hello Raj,

    If the BIM is not the issue, and the firmware is not the issue then I suggest you check that the persistent app is reaching the part of the code that resets the system.
    There are two calls to the SystemReset API within the persistent app, one in the timeout logic and one in the connection event processing.
    If that is not the issue, then I will have to look further into it.

    Changes to the main application code will not be reflected in the persistent app because they are two separate applications. If you wish to make a change to both, you will need to make those changes to both applications separately. additionally, this should not affect the auto reboot

    Best,
    Josh Alderson