nrf5340 audio: FOTA Firmware can't build

We have a project based on nrf5340 audio demo,Now we upgrade SDK from NCS2.4 to NCS2.6.

But when I built the DFU, I found that FLASH was not enough

c:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: zephyr\zephyr_pre0.elf section `text' will not fit in region `FLASH'
c:/ncs/toolchains/cf2149caf2/opt/zephyr-sdk/arm-zephyr-eabi/bin/../lib/gcc/arm-zephyr-eabi/12.2.0/../../../../arm-zephyr-eabi/bin/ld.bfd.exe: region `FLASH' overflowed by 20308 bytes

I know this problem exists in NCS2.5.99 and the reason is, but NCS2.6 should have fixed it?

I know that I need to cut the controller. For BIS headset and BIS gateway, what configurations can I use to reduce the size?

  • Hi Reskyllr,

    Can you please confirm that you tried to do DFU on external flash? 

    Can you confirm that you tried to do simultaneous update of both cores?

    We would need to examine configuration options based on the list of features that you intend to use in your application. Could you please specify all the features which you plan to use?

    Best regards,
    Dejan

  • Hi  ,

    As I'm facing the same problem, it's clear from the begining that it's not an issue with the FOTA operation itself, it's about the size of the generated binary of the SoftDevice controller.

     is asking about which configuration options can be disabled to reduce the size of the SoftDevice controller image without breaking the broadcast usecase for GW/HS.

    This is totally independent of whether you are building the application CONFIG_AUDIO_DFU=1 for single image or CONFIG_AUDIO_DFU=2 for multimage upgrade

    Thanks,

    Ahmd

  • Hi Ahmd,

    Ahmed Moheb said:
    As I'm facing the same problem, it's clear from the begining that it's not an issue with the FOTA operation itself, it's about the size of the generated binary of the SoftDevice controller.

    I agree that the problem is with the size of the binary.

    Ahmed Moheb said:

    Reskyllr is asking about which configuration options can be disabled to reduce the size of the SoftDevice controller image without breaking the broadcast usecase for GW/HS.

    This is totally independent of whether you are building the application CONFIG_AUDIO_DFU=1 for single image or CONFIG_AUDIO_DFU=2 for multimage upgrade

    I understand this. My first two questions were just requests for confirmation. The main question is about the set of features that are planned to be used since this determines which config options should be included and which could be excluded.

    Best regards,
    Dejan


  • Hi  

    Thanks for the clarification and sorry if I miss understood the goal of your questions.

    I don't want to take the discussion in another direction, but I think it may help.
    Can you propose the required configurations for an ISO peripheral device that would receive a CIS ISO stream and send it again as BIS ISO stream while supporting the FOTA operation.

    Thanks in advance,
    Ahmed

  • Hi all,

    Reskyllr, there are some configuration options which you could set to avoid flash overflow.

    CONFIG_BT_ISO_PERIPHERAL=n
    CONFIG_BT_CENTRAL=n
    CONFIG_BT_PERIPHERAL=n

    Ahmed Moheb said:
    Can you propose the required configurations for an ISO peripheral device that would receive a CIS ISO stream and send it again as BIS ISO stream while supporting the FOTA operation.

    In addition to CONFIG_BT_CENTRAL=n, try setting CONFIG_BT_ISO_SYNC_RECEIVER=n.

    Best regards,
    Dejan




Related