Robust Ethernet bootloader
Philipp Burch <[email protected]> Mon, 4 Jun 2018 15:06:05 +0200
| Newsgroups | gmane.comp.hardware.microcontrollers.ethernut |
|---|---|
| Message-ID | <[email protected]> |
Hi everyone, I'm in a project where we will soon have to deploy some boards running Nut/OS into "the field". Those boards are all connected to a local computer using Ethernet, but the computer itself is usually only accessible over the net. In the first prototype, we simply put a J-Link into the machine to be able to update the MCU firmware (or even debug it), in case a problem arises, but this definitely is no productive solution. We use Ethernet to have a robust and isolated connection after all, which USB and JTAG is not. Our target platform is a TIVA TM4C1294NCPDT processor, which has an integrated Ethernet MAC and PHY. My primary concern is robustness of the bootloader, it should be rather hard to brick the device. I see that there is some Ethernet-based bootloader functionality in the ROM of this MCU, but as far as I can tell, this must be invoked from the application code. So in case the update fails, there will most likely be no way to re-flash the firmware without local intervention. What I would prefer is a small self-contained bootloader that always runs when the firmware starts (after power-on, watchdog-reset, hard-fault, etc.), validates the firmware image and then starts the application. In case the validation fails, it should sit there and wait for a new image to be downloaded. My questions: - What are your experiences and suggestions for Ethernet bootloaders? - Did I miss anything important? - Does Nut/OS offer some functionality for this? - How do I need to compile the target application, so that it can be started from the bootloader? Especially considering the interrupt vector table and such stuff. Thank you and best regards, Philipp _______________________________________________ http://lists.egnite.de/mailman/listinfo/en-nut-discussion