Issue with MCUboot integration in Zigbee R23 project for nRF54L15

Dear Nordic Technical Support,
I'm writing to report an issue I'm experiencing when trying to integrate MCUboot with a Zigbee R23 project for the nRF54L15 platform.
Issue Description: When attempting to build a basic Zigbee R23 project with MCUboot support (without any FOTA functionality yet), the build process fails during the MCUboot compilation phase. The main application builds successfully, but the bootloader build fails with the following error:
C:/ncs/ZB_for290_R23_031/ncs-zigbee/subsys/osif/zb_nrf_pwr_mgmt.c:9:10: fatal error: zboss_api.h: No such file or directory
9 | #include <zboss_api.h>
| ^~~~~~~~~~~~~
compilation terminated.
Environment:
  • Hardware: nRF54L15 Development Kit
  • SDK: nRF Connect SDK with Zigbee R23 add-on (ZB_for290_R23_031)
  • Build system: West/CMake
Steps Taken:
  1. Created a basic Zigbee R23 project that builds successfully without bootloader
  2. Added MCUboot configuration through sysbuild.conf with SB_CONFIG_BOOTLOADER_MCUBOOT=y
  3. Created configuration files in the sysbuild directory to disable components that shouldn't be needed for the bootloader:
    • Added mcuboot.conf with CONFIG_SERIAL=nCONFIG_SPI=nCONFIG_SPI_NOR=n, etc.
    • Attempted to disable Zigbee components in the bootloader with CONFIG_ZIGBEE=nCONFIG_ZIGBEE_ADD_ON=n
Despite these configurations, the build system still attempts to include Zigbee libraries in the bootloader build, which causes the compilation error.
Goal: My ultimate goal is to implement FOTA updates in my Zigbee R23 application, but I'm currently blocked at this initial stage of just integrating the bootloader.
I would appreciate any guidance on how to properly configure the build system to exclude Zigbee components from the MCUboot build, or any other approach to resolve this issue.
Thank you for your assistance.
Best regards, Andris M.
Parents
  • Hi, 

    Update the information from the team:

    FOTA is a mandatory feature but at least for now not supported. We have it on our roadmap in Q2'2025. 

    Regards,
    Amanda H.

  • Hello Amanda,

    I'm still very interested in implementing Zigbee FOTA and hope your roadmap is progressing without delays.
    I have completed the DFU and FOTA modules in the DevAcademy, and today I tried to implement Zigbee FOTA using SDK 0.4.0 of the Zigbee r23 library.


    White check mark Progress so far

    I managed to:

    • Integrate MCUboot using the modern sysbuild.conf approach

    • Launch the Zigbee sample firmware using the bootloader

    • Configure SB_CONFIG_BOOTLOADER_MCUBOOT=y

    • Maintain separated configurations for mcuboot and the main app


    X Problem when enabling Zigbee FOTA

    When I enable:

    CONFIG_ZIGBEE_FOTA=y

    Only the bootloader builds successfully. The Zigbee firmware fails to build due to a missing Kconfig symbol:

    error: ‘CONFIG_UPDATEABLE_IMAGE_NUMBER’ undeclared


    Gear️ My workaround attempt

    I added the following to my custom Kconfig to unblock the build:

    config UPDATEABLE_IMAGE_NUMBER
        int "Number of updateable images"
        default 2
        help
            This sets the number of updateable images for Zigbee FOTA.

    And added to prj.conf:

    CONFIG_UPDATEABLE_IMAGE_NUMBER=1

    This allowed the build to proceed further, but then linker errors appeared:

    undefined reference to `boot_is_img_confirmed'
    undefined reference to `boot_write_img_confirmed'
    undefined reference to `boot_read_bank_header'
    undefined reference to `dfu_target_mcuboot_set_buf'

    Question Question

    At this point, I assume full Zigbee FOTA support is still not functional, as mentioned earlier (planned for Q2 2025).
    Could you confirm if this is still the case and if an official FOTA-compatible integration is expected soon?

    Thank you in advance!

    Best regards,
    Andris M.

Reply
  • Hello Amanda,

    I'm still very interested in implementing Zigbee FOTA and hope your roadmap is progressing without delays.
    I have completed the DFU and FOTA modules in the DevAcademy, and today I tried to implement Zigbee FOTA using SDK 0.4.0 of the Zigbee r23 library.


    White check mark Progress so far

    I managed to:

    • Integrate MCUboot using the modern sysbuild.conf approach

    • Launch the Zigbee sample firmware using the bootloader

    • Configure SB_CONFIG_BOOTLOADER_MCUBOOT=y

    • Maintain separated configurations for mcuboot and the main app


    X Problem when enabling Zigbee FOTA

    When I enable:

    CONFIG_ZIGBEE_FOTA=y

    Only the bootloader builds successfully. The Zigbee firmware fails to build due to a missing Kconfig symbol:

    error: ‘CONFIG_UPDATEABLE_IMAGE_NUMBER’ undeclared


    Gear️ My workaround attempt

    I added the following to my custom Kconfig to unblock the build:

    config UPDATEABLE_IMAGE_NUMBER
        int "Number of updateable images"
        default 2
        help
            This sets the number of updateable images for Zigbee FOTA.

    And added to prj.conf:

    CONFIG_UPDATEABLE_IMAGE_NUMBER=1

    This allowed the build to proceed further, but then linker errors appeared:

    undefined reference to `boot_is_img_confirmed'
    undefined reference to `boot_write_img_confirmed'
    undefined reference to `boot_read_bank_header'
    undefined reference to `dfu_target_mcuboot_set_buf'

    Question Question

    At this point, I assume full Zigbee FOTA support is still not functional, as mentioned earlier (planned for Q2 2025).
    Could you confirm if this is still the case and if an official FOTA-compatible integration is expected soon?

    Thank you in advance!

    Best regards,
    Andris M.

Children
Related