[En-Nut-Discussion] Robust Ethernet bootloader

Gregor Mackenzie gregor.mackenzie80 at gmail.com
Tue Jun 5 12:59:55 CEST 2018


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 at egnite.de> wrote:

> Send En-Nut-Discussion mailing list submissions to
>         en-nut-discussion at egnite.de
>
> 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 at egnite.de
>
> You can reach the person managing the list at
>         en-nut-discussion-owner at egnite.de
>
> 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 <phip at hb9etc.ch>
> To: "Ethernut User Chat (English)" <en-nut-discussion at egnite.de>
> Subject: [En-Nut-Discussion] Robust Ethernet bootloader
> Message-ID: <a0bebd81-2efe-ab8d-802a-b4852fdd49c0 at hb9etc.ch>
> 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
> *************************************************
>


More information about the En-Nut-Discussion mailing list