We have developed an Arduino Zero based custom device that has also internal SPI flash memory and GPRS modem for connectivity.
What we would like to achieve is a code that downloads a new firmware bin file over a FTP server, save it to the external SPI flash and then perform a firmware update on the internal flash.
That way we can remotely update the firmware on the board.
Can anyone please advise how we can achieve this?
From my understanding:
- We should export a bin file with the newer firmware
- Download it to the external flash of the custom device using the FTP
- Use a custom bootloader to write the external flash addresses to the internal flash and update code?
Is a custom bootloader what we really need? Is there any other way with stock arduino zero bootloader?
Thank you very much!