compressed DFU does not work

hi Nordic.. i am trying to follow this link https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/exploring-the-benefits-of-mcuboots-compressed-image-support .. in order to check how much compression i can get on my image (i am working with ncs v2.8.0 for an nrf52840 device and i m already using DFU via BLE).. i added the relevant configs to the sysbuild.conf but no indication for compression .. i even changed the secondary image partition size just in case by 4kb .. then i see this warning

warning: MCUBOOT_COMPRESSED_IMAGE_SUPPORT (defined at /xxx/ncs/v2.8.0/nrf/sysbuild/Kconfig.mcuboot:47) was assigned the value 'y' but got the value 'n'. Check these unsatisfied dependencies: MCUBOOT_MODE_OVERWRITE_ONLY (=n). See http://docs.zephyrproject.org/latest/kconfig.html#CONFIG_MCUBOOT_COMPRESSED_IMAGE_SUPPORT and/or look up MCUBOOT_COMPRESSED_IMAGE_SUPPORT in the menuconfig/guiconfig interface. The Application Development Primer, Setting Configuration Values, and Kconfig - Tips and Best Practices sections of the manual might be helpful too. and i am not sure yet what overwrite my "SB_CONFIG_MCUBOOT_MODE_OVERWRITE_ONLY=y" that i have in my app/sysbuild.conf 

.. any ideas what am i missing ?

also, read that compressed DFU is not supported for nrf52832 (https://devzone.nordicsemi.com/nordic/nordic-blog/b/blog/posts/exploring-the-benefits-of-mcuboots-compressed-image-support#:~:text=The%20feature%20is%20currently%20in%20an%20experimental%20state%2C%20and%20it%20supports%20the%20following%20SoCs%3A%20nRF54L15%2C%C2%A0nRF5340%2C%20and%20nRF52840.),  is it still the case ?

hope to read you soon

best regards

Ziv

Parents
  • Hello,

    Error indicates that you have not enabled SB_CONFIG_MCUBOOTLOADER_OVERWRITE_ONLY. Please confirm that this symbol is selected in your build.

    This image compression feature is not tested on the nRF52832 but I don't see any reasons for why it should not work.

    Best regards,

    Vidar

  • it is present in the sysbiuld.conf

      

    SB_CONFIG_BOOTLOADER_MCUBOOT=y
    SB_CONFIG_BOOT_SIGNATURE_TYPE_RSA=y
    SB_CONFIG_PARTITION_MANAGER=y
    SB_CONFIG_PM_OVERRIDE_EXTERNAL_DRIVER_CHECK=y
    SB_CONFIG_MCUBOOT_COMPRESSED_IMAGE_SUPPORT=y
    SB_CONFIG_MCUBOOT_MODE_OVERWRITE_ONLY=y
    
    

    but i do not see it in the .config file in the build (both app and mcuboot) so it is clear that it is not included i just don't know why it is overwritten or ignored 

  • There's a third .config file for sysbuild located in build/zehpyr that contains the sysbuild configuration. Anyway, I tried building the provided "mcuboot_update" sample with nrf52dk/52832 as the target and it didn't give this Kconfig warning, but failed at linking as there was way to little RAM. Turns out the compression algorithm required a lot more RAM (at least with the default configs) than I expected:

  • not sure where the third .config is .. did not find it yet .

    but anyway not sure how it helps me cause my app does not fail on size it just does not compress and the warning i shared seems to me like the reason why 

    any idea why this config gets overwritten ?

    plus i am pretty sure that the compression can be configured to be less effective and fast and b that consume less ram 

    hope to read you soon

    best regards

    Ziv

Reply
  • not sure where the third .config is .. did not find it yet .

    but anyway not sure how it helps me cause my app does not fail on size it just does not compress and the warning i shared seems to me like the reason why 

    any idea why this config gets overwritten ?

    plus i am pretty sure that the compression can be configured to be less effective and fast and b that consume less ram 

    hope to read you soon

    best regards

    Ziv

Children
Related