emLoad

From SEGGER Knowledge Base
Jump to navigation Jump to search

A common challenge for manufacturers of embedded systems is to guarantee a system's firmware can be updated in the easiest way, even under adverse conditions. To replace bugged code in the field or to enhance the features of deployed systems, SEGGER provides the ideal solution: emLoad, the embedded bootstrap loader for firmware updates.

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 get 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 afterward. 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

PrepareFW tool

To be considered valid, firmware updates for the emLoad V4 bootstrap loader 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.

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.