ATSAMD21 custom Bootloader for DFU from external NOR Flash -- 2
Budget: €250 – €500 EUR
I have a fully working bootloader for the ATSAMD21G18A and now need a customized version that can autonomously update firmware stored on an external NOR-based SPI flash. Here is what I expect:
• On every power-up or reset the bootloader must check the external SPI NOR flash for a new firmware image (.bin).
• If a new image exists, copy it into the internal MCU flash, verify it with a CRC-16 check, and then erase the external copy.
• If no new image is found—or if validation fails—the existing internal firmware must run untouched.
• A safe-boot mechanism is required: if power is lost during the transfer, the MCU must still start with a valid image on the next boot.
Important to know: the ATSAMD21G18A program memory is 256 KB, while the firmware (both the current and the update) is 200 KB. Knowing this, please ensure the feasibility to do firmware upgrade from NOR flash as well as safe-boot mechanism.
I will supply:
– The current bootloader source and binaries as a reference.
– Hardware with the ATSAMD21G18A and the connected SPI NOR flash for testing and validation.
Please deliver:
1. Fully commented source code for the new bootloader, compatible with Atmel Studio / GCC.
2. A concise build script or project file.
3. A short test routine a successful field update, CRC-16 verification and power-loss recovery.
4. A test to show the DFU process success.
5. Step-by-step flashing and validation instructions so I can reproduce your results on my hardware.
Experience with SAM-D21 flash controllers, SPI NOR flash interfaces and robust in-field firmware updates is essential.
• On every power-up or reset the bootloader must check the external SPI NOR flash for a new firmware image (.bin).
• If a new image exists, copy it into the internal MCU flash, verify it with a CRC-16 check, and then erase the external copy.
• If no new image is found—or if validation fails—the existing internal firmware must run untouched.
• A safe-boot mechanism is required: if power is lost during the transfer, the MCU must still start with a valid image on the next boot.
Important to know: the ATSAMD21G18A program memory is 256 KB, while the firmware (both the current and the update) is 200 KB. Knowing this, please ensure the feasibility to do firmware upgrade from NOR flash as well as safe-boot mechanism.
I will supply:
– The current bootloader source and binaries as a reference.
– Hardware with the ATSAMD21G18A and the connected SPI NOR flash for testing and validation.
Please deliver:
1. Fully commented source code for the new bootloader, compatible with Atmel Studio / GCC.
2. A concise build script or project file.
3. A short test routine a successful field update, CRC-16 verification and power-loss recovery.
4. A test to show the DFU process success.
5. Step-by-step flashing and validation instructions so I can reproduce your results on my hardware.
Experience with SAM-D21 flash controllers, SPI NOR flash interfaces and robust in-field firmware updates is essential.
Related categories:
C Programming
Electronics
Microcontroller
Embedded Software
Debugging
Software Development
Embedded Systems
Atmel