nrf52832 + DFU over BLE + External flash


We are trying to make DFU over BLE with external flash to overcome the large application size. This is what we are looking for:
- Use BLE to transfer the OTA image
- Since our application size id >250KB, planning to use an external flash to store the firmware
- Perform OTA when there is no critical task running

Environment:
- nrf52832
- nRF Connect SDK (v1.8.0)
- External flash (W25Q80DV) connected over SPI and tested successfully

We could find the guide on how to add support for DFU in the application at: devzone.nordicsemi.com/.../ncs-dfu

However, couldn't find how to use external flash for the DFU over BLE.

Could you share some sample or guide which shows OTA using BLE with external flash?

So far, we understand we need to do the following changes:
- Modify our application for DFU over Bluetooth. As mentioned in: devzone.nordicsemi.com/.../ncs-dfu
- Add a new file in our application folder pm_static.yaml and modify it.
- Add new child_image/mcuboot/prj.conf in our application. (Not sure if this is required)
- Is there any other configuration required in our application overlay file?

Thanks!

P.S. IMHO, DFU over BLE with external flash is a very common scenario and a good sample or blog around it would definitely help and may reduce some tickets. :)

Parents
  • Hello,

    You can check out the application samples found in NCS\nrf\applications\machine_learning\configuration\nrf5340dk_nrf5340_cpuapp\prj.conf

    This is a sample that uses an external flash chip for DFU. Study the prj.conf file and the pm_static.yml file from that example as a reference on how to get started. It would of course require some configurations, as the nRF52832 only has one core, but at least it should give an idea. 

    Best regards,

    Edvin

Reply
  • Hello,

    You can check out the application samples found in NCS\nrf\applications\machine_learning\configuration\nrf5340dk_nrf5340_cpuapp\prj.conf

    This is a sample that uses an external flash chip for DFU. Study the prj.conf file and the pm_static.yml file from that example as a reference on how to get started. It would of course require some configurations, as the nRF52832 only has one core, but at least it should give an idea. 

    Best regards,

    Edvin

Children
Related