emLoad
The embedded bootstrap loader for firmware updates
Getting updates into a system in the field always requires additional consideration for such things as the mechanics of the process and the memory requirements. emLoad is designed to reduce both the effort and the memory required for firmware updates.
Overview
emLoad is SEGGER's embedded bootstrap loader for embedded systems. It facilitates the process of updating firmware. This is a crucial part of the lifecycle management of a product. emLoad offers the flexibility to add new features in the field, fix bugs, and address security vulnerabilities after a system has been deployed. It comes with numerous options for the end system user's convenience.
Key features
emLoad offers a variety of benefits, including fast and reliable program transfer, easy integration into existing systems, a user-friendly interface and highly flexible configuration.
In-place updates
emLoad enables fast transfer of firmware images without the need to allocate persistent storage space on the device itself. This is particularly advantageous for devices with limited storage capacity as it is the case for embedded systems. emLoad installs the new firmware without the need to store the complete image in the device memory.
Low memory footprint
emLoad ensures that there is sufficient space for both the bootloader and the updated firmware. This is particularly beneficial for microcontrollers with limited memory, as it optimizes resource usage, improves performance, reduces costs, and enhances the overall efficiency and scalability of the embedded device.
Security mechanisms
emLoad can be enhanced with security features that are essential for ensuring the overall integrity and confidentiality of the entire embedded system. These include encryption and decryption capabilities to validate the authenticity of firmware updates and to determine whether a given firmware update was provided by the manufacturer and has not been tampered with.
Use cases
emLoad is an essential component in the reliable operation and longevity of embedded devices. It enables the efficient and secure initialization, updating, and customization of any embedded system.
Automatic firmware updates for customer devices
emLoad can be used to automatically update the firmware of consumer devices, such as headphones, that are connected to an Internet-enabled PC via USB. Thanks to the implemented cyclic redundancy checks (CRC), emLoad is able to verify the integrity of the firmware. If changes are detected, emLoad initiates the installation of the update while the device handles the update process internally. This process is designed to be user-friendly and minimally disruptive.
Secure firmware updates in industrial environments
emLoad can bootload devices that have limited or no access to the Internet. This is particularly useful in scenarios where closed networks and/or security concerns dictate a more controlled update process, such as industrial systems with long operating lives. emLoad can also be configured to include security and authentication modules in order to facilitate the secure and controlled deployment of firmware updates while ensuring the reliability of the industrial equipment.
Over-the-air firmware updates for IoT devices
emLoad can be integrated into comprehensive ecosystems that support firmware updates over the air and are conform with the Cyber Resilience Act (CRA) adopted by the European Commission. OTA updates for digital products such as IoT devices enable the remote deployment of new firmware without requiring physical access to the device (e.g. via FTP server). Especially in hard-to-reach locations, OTA updates offer flexibility in adapting devices to evolving standards, protocols, or industry regulations during ongoing operation.
How emLoad works
emLoad enables efficient and smooth firmware updates for embedded systems. Written in ANSI-C, emLoad is fully portable and runs on virtually any target. It establishes a connection between the host system and the target device to enable firmware transfers. It also supports a variety of communication protocols, such as UART or USB, and offers secure data transfers. Users have the flexibility to customize configurations, and adjust the transfer speed and other parameters to suit their needs.
Technical specifications
emLoad with its interface components comes with all Windows tools necessary to prepare the software/firmware update as well as the bootstrap loader for the target application itself.
Feature | UART | emFile SDCard | emUSB-Device HID | emUSB-Host MSD | NFC (NTAG) |
---|---|---|---|---|---|
Intel hex (.hex) format for firmware files | |||||
Motorola S (.mot) format for firmware files | |||||
Binary (.bin) format for firmware files | |||||
PrepareFW application for Windows (binary and source code) | |||||
USB HID Updater application for Windows (binary and source code) | |||||
UART Updater application for Windows (binary and source code) |
Supported Not supported
Purchase information
emLoad is available as the core module emLoad-BASE. It requires a mandatory interface module, for which SEGGER offers different shipments including the respective source code and update interface for USB Host, USB Device, SD, UART, or NFC (NTAG). In addition, various add-ons are available to meet security requirements.
Product overview | |
---|---|
Core module | |
emLoad-BASE | The emLoad-BASE software package includes a reference implementation on a standard SEGGER hardware. Implementations on custom hardware or eval boards can be done by the customer or as a paid service by SEGGER. Please contact us for more information. |
Interface modules | |
UART | The UART interface component includes the source code package with a serial update interface (RS-232, RS-485) and a 6-month update/support period. |
SD card | The emFile-SDCard interface component includes the source code package with an SD card update interface (MMC/SD card) and a 6-month update/support period. |
USB connection to PC | The emUSB-Device HID interface component includes the source code package with a USB HID update interface (USB to PC) and a 6-month update/support period. |
USB stick | The emUSB-Host MSD interface component includes the source code package with a USBH MSD update interface (USB stick) and a 6-month update/support period. |
NFC | The emLoad-NTAG interface component includes the source code package and a 6-month update/support period. |
Add-ons | |
Encryption | The emCrypt add-on for emLoad allows the encryption of the generated firmware update using AES256. |
RSA signature | The emSecure-RSA add-on for emLoad allows the authentication of the generated firmware update using RSA algorithms. |
ECDSA signature | The emSecure-ECDSA add-on for emLoad allows the authentication of the generated firmware update using ECDSA algorithms. |
Licensing
After successful purchase, SEGGER provides you with all necessary data that is needed for the software download. emLoad is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emLoad can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emLoad is royalty-free and not subscription-based.
emLoad comes with technical support and updates for 6 months. The emLoad extension includes support and updates for 12 additional months (1 year) and must be purchased separately.