The bootloader emLoad is available with different interface modules. emLoad allows straight-forward firmware updates of embedded applications, either with a USB stick, an SD card, via USB-connection to a PC, or a serial connection (type RS-232, RS-485). In addition it can be used with an application that retrieves the update and stores it in a place where the update process of the bootloader can easily access it.
emLoad is prepared to operate over the air updates. Furthermore, it can be configured to include security and authentication modules. Written in ANSI-C, emLoad may be used on virtually any CPU, and comes with all Windows tools necessary to prepare the software/firmware update as well as the bootstrap loader for the target application itself.
A bootloader capable of handling over the air updates is a central part of a device management system, that provides security updates during the lifetime of a product without sacrificing IP protection. SEGGER's Secure Product Lifecycle Management system provides a concept of such device management system.
SEGGER offers the embedded bootloader emLoad in two different versions and four distinct shipments, all of which are prepared to run out-of-the-box on the particular target hardware they were ported for. See here for a list of available ports. Additional ports for emLoad V4 can be made within a short amount of time.
|Feature||emLoad V3(legacy)||emLoad V4: emFile SDCard||emLoad V4: emUSB-Device HID||emLoad V4: emUSB-Host MSD||emLoad V4: UART|
|Includes serial update interface (RS-232, RS-485)|
|Includes SD card update interface (MMC/SD card)|
|Includes USB HID update interface (USB to PC)|
|Includes USBH MSD update interface (USB stick)|
|Supports Intel hex (.hex) format for firmware files|
|Supports Motorola S (.mot) format for firmware files|
|Supports binary (.bin) format for firmware files|
|Includes HexLoad application for Windows (binary, source code available separately)|
|Includes PrepareFW application for Windows (binary and source code)|
|Includes USB HID Updater application for Windows (binary and source code)|
|Includes UART Updater application for Windows (binary and source code)|
|Encryption Add-On (available)|
|Signature ECDSA Add-On (available)|
|Signature RSA Add-On (available)|
After a RESET, instead of starting the application program immediately, the emLoad V4 bootstrap loader gets started and waits for an update interface to become ready within a configurable amount of time. If any of the available interfaces (SD card, USB HID, and USBH MSD) does so, the bootstrap loader will update the target software via that interface and starts the application afterwards. If no update interface becomes available in time, the bootstrap loader will instead check the flash memory for a valid application and, in case it finds one, will start without performing an update. Except for this short delay during startup, the application program is not affected by the bootstrap loader in any way, but has all resources available; it can use interrupts and the entire RAM of the target system without limitation.
To be considered valid, firmware updates for the emLoad V4 bootloader must adhere to a specific format. To ensure this format, SEGGER offers the PrepareFW tool for creating firmware in a specific format.
This is a 32-bit Windows application specifically designed to transform binary files, Intel hex files or Motorola files into emLoad-compatible firmware files.
PrepareFW is shipped as both an executable that works out-of-the-box and as a Microsoft Visual Studio Project to recompile the executable when needed. Indeed – it simply works!
By using an emLoad-V4-compatible firmware file, the USB HID Updater updates an emLoad V4 target via the USB HID interface. USB HID Updater is shipped as both, an executable that works out-of-the-box and also as a Microsoft Visual Studio project to recompile the executable when needed. An installation of a custom-host USB driver is not necessary, because the USB human interface device class is standardized and every major OS already provides host drivers for it. Everything works out-of-the-box and ensures an easy firmware update for your embedded device.
After a RESET, instead of starting the application program immediately, the emLoad V3 bootstrap loader gets started and waits for an incoming data frame from a PC for a configurable amount of time. If it does receive such data frame (via RS-232 or RS-485), the bootstrap loader will update the target software and start the application afterwards. If communication with the PC times out instead, the bootstrap loader will check the flash memory for a valid application and, in case it finds one, will start without performing an update. Except for this short delay during startup, the application program is not affected by the bootstrap loader in any way and has all resources available: it can use interrupts and the entire RAM of the target system without limitation.
HEXLoad is an easy to operate 32-bit Windows application and can be started from the Explorer or the command line, in order to load and transfer any hex file for a program update to the emLoad V3 bootstrap loader.