Broadcast_audio_sink does not generate default partiton.yml files when mcuboot is enabled

I tried adding DFU capability to the broadcast_audio_sink sample. At first i copied the whole sample code to a different directory and opened that folder in VSCode which has a the nrf connect sdk 2.7.0 set up.

To enable DFU in the sample i added:

sysbuild.conf

SB_CONFIG_BOOTLOADER_MCUBOOT=y

prj.conf

CONFIG_BOOTLOADER_MCUBOOT=y
CONFIG_NCS_SAMPLE_MCUMGR_BT_OTA_DFU=y

This seems to work but completly ignores the pm_static.yml file present in the same folder. I also added the required cmake entry. The resulting build folder does not contain any files for partitioning or dfu. Also the partition that gets automatically chosen for the app is only 256kb in size for some reason.

Doing the same using the nrf peripheral_lbs sample works as documented and the partition.yml and dfu_* files are being generated as expected. 

What could be the issue here? Is it as simple as zephyr samples are not expected to simply work the same as nrf samples using these config parameters?

Edit: If i am not mistaken i can narrow down the issue to the options selected in the Kconfig.sysbuild. If i use the file from the lbs sample in the audio_sink the files are being generated as expected.

  • Hello, 

    I'm currently looking into this and will get back to you within this day. 

    Kind regards,
    Øyvind

  • Hi, 

    you can have a look at how this is handled in our nRF53 Audio applications, it includes nrf5340_audio/sysbuild_fota.conf to enable DFU while using sysbuild. You can build with "-DFILE_SUFFIX=fota" to enable DFU configs.

    Kind regards,
    Øyvind

  • Thank you Øyvind for the links!

    I might have worded my post a bit poorly. What my intention was, was to bring light ot the fact that when following the migration guides and FOTA samples, files like the partition.yml and pm_static.yml get mentioned a lot alongside the dfu_application.zip. 

    However using the mentioned samples broadcast_audio_sink which is part of the nrf connect sdk but not directly provided by nordic, all those files are not being generated without any obvious warnings.

    This behaviour seems to be caused by the values in the Kconfig.sysbuild that comes with the mentioned sample. 

    For our usecase the audio application has to many features enabled that are not part of our custom board which is why using that application as a basis is to much work. At least that has been the case in previous releases.

    Thus we use the broadcast_audio_sink which has just the features we need. And the documentation is not explicitly mentioning that there might be fundamental differences in the generated files build using sysbuild. If this behaviour is intentional than the purpose of this post is to help others avoid spending their time on figurouring out why the documentation talks abour files that are simply not being generated in that particular sample and its configuration.

    I have not checked if that behaviour is consistent for all zephyr bluetooth samples that come with the nrf connect sdk.

    Kind regards,

    Laurin

Related