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

About DFU for embedded microcontroller

Hello,

I have an application which requires the firmware to be updated on the field. In our device the embedded microcontroller Atmel 328 is connected to nRF52832 through ICSP pins. Buy using buttonless DFU, we can update the firmware of nRF52832 SoC by a mobile phone. I was wondering if it's possible to use buttonless DFU with some modifications to update the Atmel firmware? Is there any third-party solution to this?

  • Hi Joojoo,

    I am afraid that we do not have an example showing how to update an external MCU after receiving it over BLE.

    However, modifying the Secure Bootloader to receive the firmware image for the Atmega328 and then use the SPI peripheral to program the Atmega328 according to the AVR910 Application note should be possible.

    My suggestion would be to customize the init packet by adding a new image time, e.g. DFU_FW_TYPE_ATMEGA328, and then handle it the same way you would with a firmware image intended for the nRF52832 in the bootloader. Once the entire image has been received you use the SPI peripheral to program the Atmega328 instead of writing it to the nRF52832 application space.

    How to customize the init packet is explained here.

    Best regards

    Bjørn

Related