Re: Robust Ethernet bootloader
Uwe Bonnes <bon-1JbLm1bU5j5ZIx36JBfelj3+ndqKAYMe9FMPySWZwLkb1SvskN2V4Q@public.gmane.org> Tue, 5 Jun 2018 12:30:41 +0200
| Newsgroups | gmane.comp.hardware.microcontrollers.ethernut |
|---|---|
| Message-ID | <[email protected]> |
>>>>> "Philipp" == Philipp Burch <[email protected]> writes: Philipp> Hi everyone, I'm in a project where we will soon have to deploy Philipp> some boards running Nut/OS into "the field". Those boards are Philipp> all connected to a local computer using Ethernet, but the Philipp> computer itself is usually only accessible over the net. In the Philipp> first prototype, we simply put a J-Link into the machine to be Philipp> able to update the MCU firmware (or even debug it), in case a Philipp> problem arises, but this definitely is no productive Philipp> solution. We use Ethernet to have a robust and isolated Philipp> connection after all, which USB and JTAG is not. Philipp> Our target platform is a TIVA TM4C1294NCPDT processor, which Philipp> has an integrated Ethernet MAC and PHY. My primary concern is Philipp> robustness of the bootloader, it should be rather hard to brick Philipp> the device. I see that there is some Ethernet-based bootloader Philipp> functionality in the ROM of this MCU, but as far as I can tell, Philipp> this must be invoked from the application code. So in case the Philipp> update fails, there will most likely be no way to re-flash the Philipp> firmware without local intervention. What I would prefer is a Philipp> small self-contained bootloader that always runs when the Philipp> firmware starts (after power-on, watchdog-reset, hard-fault, Philipp> etc.), validates the firmware image and then starts the Philipp> application. In case the validation fails, it should sit there Philipp> and wait for a new image to be downloaded. Philipp> My questions: Philipp> - What are your experiences and suggestions for Ethernet Philipp> bootloaders? Philipp> - Did I miss anything important? Philipp> - Does Nut/OS offer some functionality for this? Hello Phillip, I have a CAN bootloader deployed to several STM32F303 boards. It behaves the same as the Can Bootloader I used for several hundred ATCan128 board running for some year now without major problem. Some functionality needed for that task is probably already in the main tree, while I probably did not abstract most other helper functions to be of general meaning so it is not in the main tree. I can send the project is wanted. A general Ethernet bootloader is also needed by some other of my projects. So I am also interested in your work. I looked at the present bootloader, but it was not clear to me what was needed to bring it up and hwo to talk to it. I thought of modifying some of the http upload examples, like httpd_upload.c to transfer the new firmware. Bye -- Uwe Bonnes bon-1JbLm1bU5j5ZIx36JBfelj3+ndqKAYMe9FMPySWZwLkb1SvskN2V4Q@public.gmane.org Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt --------- Tel. 06151 1623569 ------- Fax. 06151 1623305 --------- _______________________________________________ http://lists.egnite.de/mailman/listinfo/en-nut-discussion