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.

CC2652R: onchip OAD upgrade issue

Part Number: CC2652R
Other Parts Discussed in Thread: UNIFLASH, SYSCONFIG

Hi team,

Here's 4 questions from the customer may need your help:

1. As described in BIM for on-chip OAD in the OAD section of the BLE5-Stack User Wizard, after a reset, BIM determines which application is executed based on the parity of 0 in the mirror authentication field (4 bytes) in the image header after a reset. This mirror authentication field is in the user application, will it be modified during the OAD process? And what about the verification field as a shared RAM variable?

2. A permanent application for upgrade implements the OAD configuration file, is it need to be manually loaded into the chip with uniflash? Also, how is the address in its flash determined?

3. Simple_preipher_CC26x2R1_LAUNCHEL_tirots_ticlang Engineering can be found in TI DEVICES -> Device Configuration in the syscfg file and to configure CCFG. CCFG can also be configured in the bim project, so will the CCFG set in the bim be overwritten by the bim first and then the simple_preipheral project? Or do simple_preipheral projects first, and bim, will overwrite the CCFG set in simple_preipheral?

4. When the on-chip OAD is upgraded, is the downloaded program placed in the free flash area? How does it know which flash regions are idle? Does it tell if the free flash can fit the downloaded program before downloading?

5. CC2652R1 has a total of 352 KB, the last sector 8 KB needs to be left for the BIM program, and then 344KB of flash is left, 120KB of permanent application and 140KB of simple_preipheral. There is only 84KB left to accommodate another upgraded simple_peripheral program, but it's not enough.

Could you help check this case? Thanks.

Best Regards,

Cherry

  • Hi,

    The latest updates are as follows:

    Regarding 1: This image verification field is on page 0 of the user application image header at 0x00000000 by looking at the implementation in the main function in bim_main.c in the bim_onchip project. The BIM starts by scanning it first, and runs the user application directly if various checks pass (including CRC, security verification, even 0 of authentication fields, etc.). If there is an error, continue looking for a persistent application, run it if found, or go into low power if not found.

    Regarding 2: A persistent application needs to be manually flushed, named persistent_app, In \ti\simplelink_cc13x2_26x2_sdk_5_20_00_52\examples\rtos\CC26X2R1_LAUNCHXL\ble5stack, the default address is 0x38000. Configured in persistent_app

    Regarding 4 and 5: The downloaded program directly overwrites the previous application, That is, the download starts on page 0, so by default, programs smaller than 0x38000 can be accommodated.

    And could you help please look at the issue 3? Thanks.

    Best Regards,

    Cherry

  • Hey Cherry,

    Thank you for your patience, I apologize for the delayed reply during the holiday period.

    Simple_preipher_CC26x2R1_LAUNCHEL_tirots_ticlang Engineering can be found in TI DEVICES -> Device Configuration in the syscfg file and to configure CCFG. CCFG can also be configured in the bim project, so will the CCFG set in the bim be overwritten by the bim first and then the simple_preipheral project? Or do simple_preipheral projects first, and bim, will overwrite the CCFG set in simple_preipheral?

    Although this option appears in SysConfig, I found it was not selectable in the simple_peripheral on chip oad project (tested on SDK 5.30). The BIM owns the CCFG area for on chip OAD, so the conflict mentioned is avoided. I was not able to select the "Enable SysConfig CCFG Configuration" checkbox.

    Please let me know if you have any unanswered questions I can help with.

  • Hi Ammar,

    Thanks for your support again!

    The SDK they use is version 5.20, and they can  configure CCFG in simple_peripheral_oad_onchip.syscfg, please see the figure below:

    Best Regards,

    Cherry

  • Hey Cherry,

    After further inspection, although these options appear to be configurable using SysConfig, you'll find that the tool does not generate the required files (ti_devices_config.c) to override the entries. This means that any change in SysConfig will not be made to the CCFG for the simple_peripheral_oad_onchip application.

    This is a bit misleading, but it looks like during the last SDK update to 5.30 we have addressed this.

    Hope this helps.

  • Hi Ammar,

    Thanks for your help again! It did resolve the issue here.

    Best Regards,

    Cherry