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: Can the zigbee OTA speed be faster?

Part Number: CC2340R5
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Zigbee 安全功能

I have completed the OTA function using the routine according to the document, using C2340 and CC2652.

At present, I have some questions to consult:
Is _ota_2nd_slot.bin used for upgrading?
What is the use of onoff_switch_ota_client_onchip_LP_EM_CC2340R5_freertos_ticlang.bin?
2. Can the speed of OTA be faster? Currently, it is about one hour. I adjusted DL_OTA_IMAGE_BLOCK_DATA_SIZE_MAX according to the document
However, OTA_SERVER still responds with 32 bytes

  • Hi,

    Is _ota_2nd_slot.bin used for upgrading?

    From the F3 SDK v9.11 onoff_switch_ota_client_onchip project README (simplelink_lowpower_f3_sdk_9_11_00_18\examples\rtos\LP_EM_CC2340R5\zigbee\onoff_switch_ota_client_onchip\README.html):

    This OTA Client requires two images to be flash to the device:
    
    MCUBoot Image
    
    Example: <SDK_INSTALL_DIR>/examples/nortos/<PLATFORM>/mcuboot/mcuboot
    Signed on_off_switch_ota_client image binary. This will be writen into image slot 1 in flash.
    
    This image is created with the post build steps. Look for the file "Project name"_ota_1st_slot.bin.This image will always be uncompressed.
    
    The "Project name"_ota_2nd_slot.bin is meant for the secondary slot and may be compressed if enabled. This image is meant to be signed with a Zigbee OTA header and used in the OTA upgrade.

    What is the use of onoff_switch_ota_client_onchip_LP_EM_CC2340R5_freertos_ticlang.bin?

    This is the first binary output file before the post-build steps apply the MCUBoot imgtool to create the *_ota_*_slot.bin images, so it is an extra file as part of the build process which does not affect your OTA upgrade process.

    I adjusted DL_OTA_IMAGE_BLOCK_DATA_SIZE_MAX according to the document
    However, OTA_SERVER still responds with 32 bytes

    Can you please increase DL_OTA_IMAGE_BLOCK_DATA_SIZE_MAX in on_off_switch_ota_client.h for the F3 SDK OTA client as well as OTA_MAX_MTU in zcl_ota.h for the F2 SDK OTA server to 64, then clean and rebuild the project?

    Regards,
    Ryan

  • Hi Ryan
    Thank you for your answer. I still have two questions to ask.
    1. I changed OTA_MAX_MTU and DL_OTA_IMAGE_BLOCK_DATA_SIZE_MAX to make the speed faster. Are there any other ways to make the speed faster?

    2. When I was upgrading, I found that it seemed that I could only upgrade from the lower Version to the higher version and not from the higher version to the lower version. It seems to be related to Image Version? Is there a way to upgrade from a high version to a low version

  • 1. You can try to marginally reduce the query_timer parameter of the ZB_ZCL_DECLARE_OTA_UPGRADE_ATTRIB_LIST (i.e. the DL_OTA_UPGRADE_QUERY_TIMER_COUNTER definition in the examples).  Another option is to reduce the slot sizes in the Zigbee application's SysConfig file's MCUboot App Module, depending on the remaining flash size left of your end application build, however these region sizes will need to be understood by the MCUboot Application itself as well.

    2. You can disable "Version Check Image File" from the OtaServer tool's Options tab, and likewise disable any version checks in the application code if prevalent.

    Regards,
    Ryan