For a new project we are developing a custom piece of hardware (called ‘Slave’), based on the Arduino Zero, using the Zero bootloader and a SAMD21G18 chip, but without the EDBG chip. Next to that we’ve added some external flash storage via SPI (W25Q16JV).
This Slave will be part of a big system with multiple slaves and obviously a master module. We want our Slave to be able to update its software over time. The master will send this update-file to the slave (using serial communication) after which the software on the slave will take care of storing the update-file on the external flash storage (presumably in binary format).
The next step is for the update to be installed on the SAMD21G18, of which the bootloader will have to take care. Obviously the standard bootloader of the Arduino Zero does not provide for this. The idea is for the bootloader to check at a certain address / block on the external flash storage, and if a file is present, this file should be written to the SAMD21. After writing the file, the file should be removed from the external flash storage.
We are looking for someone who has knowledge of (Arduino) bootloaders, and flash storage, and who is willing to add the described functionality to the Zero bootloader. You will obviously be compensated for you services.
Looking forward to your replies!