Robust Ethernet bootloader
Gregor Mackenzie <[email protected]> Tue, 5 Jun 2018 12:59:55 +0200
| Newsgroups | gmane.comp.hardware.microcontrollers.ethernut |
|---|---|
| Message-ID | <CAKQyZy_VjYOgmxSKNko1Kp_R1J0662gWOwzHL2t0dw7FauLRAw@mail.gmail.com> |
It's possible to configure u-boot to automatically execute Nut O/S programs on power up. It can also handle tftp and other tcp/ip based transfers. U-boot will also allow boot over tftp, so you could make your boards load the application from your central server each time they start if you wish too. I did a little experimentation with an Ethernut 5 board to this end a while ago using the stock Ethernut 5 u-boot image and replacing the Linux image with a Nut O/S executable. There are various tftp servers around. I think Harald's preferred one at the time was tftp32. On Tue, 5 Jun 2018, 12:00 , <en-nut-discussion-request-inJ12LbcDfezQB+pC5nmwQ@public.gmane.org> wrote: > Send En-Nut-Discussion mailing list submissions to > [email protected] > > To subscribe or unsubscribe via the World Wide Web, visit > http://lists.egnite.de/mailman/listinfo/en-nut-discussion > or, via email, send a message with subject or body 'help' to > en-nut-discussion-request-inJ12LbcDfezQB+pC5nmwQ@public.gmane.org > > You can reach the person managing the list at > [email protected] > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of En-Nut-Discussion digest..." > > > Today's Topics: > > 1. Robust Ethernet bootloader (Philipp Burch) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Mon, 4 Jun 2018 15:06:05 +0200 > From: Philipp Burch <[email protected]> > To: "Ethernut User Chat (English)" <[email protected]> > Subject: [En-Nut-Discussion] Robust Ethernet bootloader > Message-ID: <a0bebd81-2efe-ab8d-802a-b4852fdd49c0-+xXwTun2S9DtRgLqZ5aouw@public.gmane.org> > Content-Type: text/plain; charset=utf-8 > > 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 > > > End of En-Nut-Discussion Digest, Vol 168, Issue 1 > ************************************************* > _______________________________________________ http://lists.egnite.de/mailman/listinfo/en-nut-discussion