Electrical Engineering Stack Exchange is a question and answer site for
electronics and electrical engineering professionals, students, and enthusiasts. It's 100% free, no registration required.
ARM is quite generic: there are many manufacturers that embed ARM architectures, and some of them may provide that feature. – clabacchio♦May 7 '12 at 9:49
1
A more specific info on what ARM chip/family you're planning to use would be nice. Many if not all Cortex-M microcontrollers support writing to flash from user code. Example open-source implementations exist, such as the Maple bootloader leaflabs.com/docs/bootloader.html, and I think I've seen firmware upgrade over a radio link supported in some quadcopter. – ThornMay 7 '12 at 10:02
We have not chosen the ARM device at the moment ;) – si2wMay 7 '12 at 12:49
6
The big problem with firmware upgrades is how to force the chip into update mode once there is something wrong with the firmware. When you have access to the chip you can reset it and force a bootload pin high, but how are you going to do that over the air? The only reliable solution I can imagine is having a second chip (non-updatable) that handles the basic communication an can update the main chip. After solving that problem the actual bootloading can be as simple as using (for instance) the bootloader built into the chip (for instance, the LPC uC's I know all have a serial bootloader). – Wouter van OoijenMay 7 '12 at 14:31
1
@Hernan That would make subtle failure modes possible, like one chip (somehow running the wrong code) keeping the other in reset. The only realy reliable solution is keeping the functions in one chip so simple that you will never need to update it. – Wouter van OoijenMay 29 '12 at 18:49