emLoad
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.
Key features
- Embedded bootloader for firmware updates
- Low memory footprint
- Straightforward configuration
- ANSI-C code is completely portable and runs on any target
- 100% safe & fast: CRC check implemented
- Optional support for firmware passwords
Buyer’s Guide
EGGER 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. 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) | Supported | Not Supported | Not Supported | Not Supported | Supported |
Includes SD card update interface (MMC/SD card) | Not Supported | Supported | Not Supported | Not Supported | Not Supported |
Includes USB HID update interface (USB to PC) | Not Supported | Not Supported | Supported | Not Supported | Not Supported |
Includes USBH MSD update interface (USB stick) | Not Supported | Not Supported | Not Supported | Supported | Not Supported |
Supports Intel hex (.hex) format for firmware files | Supported | Supported | Supported | Supported | Supported |
Supports Motorola S (.mot) format for firmware files | Supported | Supported | Supported | Supported | Supported |
Supports binary (.bin) format for firmware files | Supported | Supported | Supported | Supported | Supported |
Includes HexLoad application for Windows (binary, source code available separately) | Supported | Not Supported | Not Supported | Not Supported | Not Supported |
Includes PrepareFW application for Windows (binary and source code) | Not Supported | Supported | Supported | Supported | Supported |
Includes USB HID Updater application for Windows (binary and source code) | Not Supported | Not Supported | Supported | Not Supported | Not Supported |
Includes UART Updater application for Windows (binary and source code) | Not Supported | Not Supported | Not Supported | Not Supported | Supported |
Encryption Add-On (available) | Not Supported | Supported | Supported | Supported | Supported |
Signature ECDSA Add-On (available) | Not Supported | Supported | Supported | Supported | Supported |
Signature RSA Add-On (available) | Not Supported | Supported | Supported | Supported | Supported |
emLoad V4
The emLoad V4 Bootstrap Loader
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.
PC Program: PrepareFW
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!


PC Program: USB HID Updater
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.
emLoad V3
The emLoad V3 Bootstrap Loader
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.
PC Program: HEXLoad
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.

