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

Update firmware from nrf85240 flash

I am looking to update the NRF52840 firmware from the integrated flash. I am able to get the new firmware file there through other means and I just need to point to that new firmware and reboot. I’ve seen a few answers with partial or vague answers. Can someone give me a concrete (e.g. code would be nice) answer for how to do this?  I’m using SDK 15 and I do NOT want to use other DFU mechanisms (e.g. UART or BLE). I suppose it’s also worth noting that I’m using the sd “file system” to store things on flash. 

Parents
  • Hi Jeff, 

    Could you give some more information about your implementation ? Do you have any bootloader running before your application ? Do you have the softdevice (and therefore the MBR) running on the chip ? 

    The way we are doing now is to use a bootloader to swap the original application with the new application with flash operations. By doing this we have a fixed location for application and fixed location for new image.

    Do you also want to swap image or you want to keep multiple application images and can choose which image to run ? 

Reply
  • Hi Jeff, 

    Could you give some more information about your implementation ? Do you have any bootloader running before your application ? Do you have the softdevice (and therefore the MBR) running on the chip ? 

    The way we are doing now is to use a bootloader to swap the original application with the new application with flash operations. By doing this we have a fixed location for application and fixed location for new image.

    Do you also want to swap image or you want to keep multiple application images and can choose which image to run ? 

Children
  • Ok, sorry to have to revisit this but I realize I still need to update the firmware from the application.

    I am now using the vanilla secure usb bootloader example and that works great. However, I also have the nRF attached to a cellular modem. I would like to receive packages from the modem, store them on the nRF internal flash, and then initiate dfu using GPREGRET. 

    How do you recommend I go about this?

    Thanks

Related