This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Is there any feasibility for use bluetooth dfu with SINGLE_APPLICATION_SLOT?

Hi everyone.


 I'm developing a product with nRF5340 and zephyr os. But I found some problems about bluetooth dfu.

Because my application very big. So I can't use defualt  double slot bluetooth dfu.

Who you know how to config  SINGLE_APPLICATION_SLOT with bluetooth DFU?

Thank you.

  • Hi,

    The MCUBoot does not have Bluetooth LE transport, so the way to do this is to do the transport in the application. And for that reason you need the second slot. An alternative then is to put the second slot (S1) on an external flash.

  • Hi

         Thank you for you help. After trying for a long time I was successful in put the second slot(s1) on an external flash.

    How to run my example

    step 1. I edit file pm.yml at $SDK_PATH/ncs/bootloader/mcuboot/boot/zephyr/pm.yml

    from

    mcuboot_secondary:
      share_size: [mcuboot_primary]
      placement:
        align: {start: CONFIG_FPROTECT_BLOCK_SIZE}
        after: mcuboot_primary
    
    

    to

    mcuboot_secondary:
      region: external_flash
      size: CONFIG_PM_EXTERNAL_FLASH_SIZE
      address: 0x0
      device: MX25R64
    

    and

    step 2. unzip my example to $SDK_PATH/ncs/zephyr/sample/

    step 3. using cd command to $SDK_PATH/ncs/zephyr/sample/smp_svr_qspi_flash

    step 4. compile source code with

    west build -b nrf5340dk_nrf5340_cpuapp .
    west flash

    step 5. Edit some source code and build it again.

    step 6. Copy file app_update.bin to your mobile phone. Which the file is located at $$SDK_PATH/ncs/zephyr/sample/smp_svr_qspi_flash/build/zephyr/app_update.bin

    step 7. Update firmware with "nRF Connect Device Manager" mobile app.

    smp_svr_qspi_flash.zip

Related