Die neuen SAM3X von Atmel haben eine Dual-Bank Flash. Du kannst Code aus
einer Bank ausführen, während du die andere Bank löschst, dann deine
neue Firmware (von wo auch immer, zb. Ethernet, CAN etc.) ziehst und die
andere Bank mit der neuen Firmware flashst. Danach wird üblicherweise
ein CRC gemacht ob auch alles geklappt hat, dann kannst Du die BootBank
auf die andere Bank switchen. Von nun an wird die neue Firmware nach
einem Reset verwendet. Bei dem nächsten Firmware Upgrade wird wieder die
erste Bank verwendet usw. Ein weiterer Vorteil ist auch dass man immer
eine sichere Firmware aufbewahrt. Oft kommt es z.b. vor dass nach einem
Firmware Upgrade das Produkt neue Bugs aufweist oder schlechter
funktioniert als mit einer alten Firmware. Dann ist es möglich auf die
vorherige Firmware umzuswitchen.