SEGGER's emPower OS is a complete operating system that provides the ideal environment for any developer creating an embedded system or IoT device. It can be adapted to run in resource-constrained, single-chip microcontroller systems without external memory or scaled up for highest performance without unnecessary overhead on application processors (MPUs). This all-in-one easy, cost-effective solution supports any vendor, any chip and any cloud provider making it risk-free to change suppliers and individual hardware platforms.
Meeting all the requirements of a cutting-edge, high-performance operating system, the emPower OS software package includes:
- Real-time operating system (RTOS)
- Standard software libraries /middleware
- Security algorithms and protocols
- Connectivity libraries (USB, Ethernet, WiFi, Modbus)
- User interface & graphic libraries
- File system & compression algorithms
All software components work seamlessly together and are continuously tested on a variety of microcontrollers / microprocessors from different vendors. They are written in plain C and can be compiled by any standard ANSI/ISO C compiler.
Getting started with emPower OS is easy, and that’s only the beginning. It also significantly reduces the time required to deliver a product by using robust, well-tested components that simply work. The software components also serve as the solid foundation in SEGGER hardware products, such as the J-Link debug probe, the J-Trace streaming probe and the Flasher production programmer families.
- Set up with proven components
- Makes it easy to port the software between different hardware platforms
- Independent from single providers & manufacturers
- One-stop solution developed & supported by SEGGER
- Start application development immediately
- Runs out-of-the-box on hundreds of popular hardware platforms
- Royalty-free under SEGGER commercial licensing
emPower OS is a modular all-in-one solution: All software components come from one vendor and are designed to fit together in any combination. Each module is pre-configured to set up its tasks and other resources using embOS as the underlying RTOS. Furthermore, interface layers are set up to enable interconnection of components or to extend them with additional features, classes and protocols.
All software components that directly or indirectly require additional hardware components use well-defined driver interfaces and configuration layers, which are readily available with emPower OS.
emPower OS can be used in any project. To get started, users can select one of more than 50 embOS ports to match their target CPU / architecture and development environment. emPower OS additionally includes driver packages for getting product development started easily and with the flexibility to upgrade or redesign the product hardware later. With a multitude of readily available drivers and configurations to choose from, applications can easily be created and ported from one hardware to another.
With embOS port and a driver package, users can get ready-to-use projects for their dedicated hardware. Building a firmware on top of that or integrating it into any existing project is then effortless.
Most modern embedded systems are connected — to each other, to a bridge, broker or server, or to the cloud. emPower OS includes connectivity modules to support communication via various interfaces, such as Ethernet, WiFi, or USB.
Additional layers and protocols on top of that, for example MQTT, SSL/TLS, and the IoT Toolkit, enable connection to any cloud provider or service, enabling maximum flexibility and ensuring connectivity regardless of the communication channel.
emPower OS is a highly scalable solution. It runs on platforms of all sizes, from tiny, ultra-low-power single-chip solutions to high-performance machines with application processors, external memories, and external peripherals.
Each component features configuration switches to tune performance or turn features on and off. The modular setup of all software allows the user to link only the required parts into firmware, leaving more room and power for the actual application.
emPower OS is available under various Embedded Software License models and delivered in source code packages. With a wide range of licensing options, emPower OS can fulfill commercial requirements as well as technical requirements. All licenses are one-time payments. emPower OS is royalty-free and not subscription-based. This makes the software a part of the equipment expenses, keeping the costs static.
The emPower OS licenses include:
- 6 months of updates and support by SEGGER's Embedded Experts, and
- 2 emPower OS Driver Packages.
To develop multiple products with one license (if applicable), or when a product is redesigned more than once, additional emPower OS Driver Packages can be purchased separately and used with an existing active emPower OS license.
While emPower OS is purchased in flexible and configurable source code packages, SEGGER has made pre-configured emPower OS Packages available under SEGGER's Friendly License (SFL) for evaluation purposes and non-commercial use. These packages are set up for one evaluation board and IDE. They provide full functionality and do not have any technical limitations.
emPower OS Packages contain all the components of emPower OS that can be used on the evaluation board, including applicable driver packages, pre-built for the setup. They are available for download for a variety of evaluation boards:
emPower OS can be evaluated on virtually any board. Pre-configured packages provide an out-of-the-box experience with engaging example applications using emPower OS on a variety of evaluation boards. The flexibility of emPower OS enables easy creation of further projects for hundreds of evaluation boards and more than a thousand target devices.
The emPower evaluation board is particularly suitable for an easy start. It enables use of all components of emPower OS, offering the ideal platform for customers to run initial emPower OS projects on a proven hardware setup. The emPower evaluation board includes peripherals for USB Host and Device, Ethernet, file storage, and a display. It has three expansion interfaces that may be equipped with RS232, WiFi and other modules.
The emPower Zynq evaluation board is specifically designed as a demonstrator for high-end application processors. It features a Cortex-A9 processor running at up to 666 MHz in a Xilinx Zynq-7000S SoC with FPGA. The on-board J-Link OB and the external debug and trace interface together provide easy access for programming and debugging. Interfaces for SD Card, USB and Ethernet enable direct use and evaluation of emPower OS components.
Discontinuations, export restrictions, chip shortages and infrastructure outages — these pose serious risks to production processes. Dealing with these issues can also add significantly to costs, especially when relying on third-party software, one specific manufacturer or one cloud provider.
As an all-in-one solution, emPower OS ensures these risks and associated costs are kept to a minimum thanks to its robust and well-tested software components which fit together perfectly. By providing an efficient environment for developers to work on a reduced timescale also brings costs down. This independence from providers, manufacturers and vendors therefore keeps all risks and costs to the absolute minimum.
The following blog post describes the impact of emPower OS on embedded manufacturers' production processes:
Risks are often underestimated — It is not only the chip crisis that threatens embedded manufacturers
The importance of terminals is constantly growing, not least driven by digitization and automation efforts. They can be used in a wide variety of areas — e.g. as check-in terminals for employees, hotels guests, fair visitors, etc. or POS systems in shops, restaurants, etc. — and are full of advantages. Automated processes, easy handling, and 24/7 operation are just a few of them.
emPower OS offers all tools that are needed to realize such a terminal. emWin, for instance, ensures easy usability and administration through a user-guided image and input sequence.
How SEGGER realized a self check-in/check-out terminal for its employees is revealed in our blog post:
Stylish and comfortable check-in/-out terminal with emPower OS
Strategic obsolescence management involves planning, designing, testing and acting on obsolescence. It is based on all the life cycle phases of a system. In the development of systems the components are already evaluated. This makes it possible to assess whether the selected components fit into the product life cycle of the overall system. If there is any doubt, other components can be used and contracts concluded with suppliers.
In the product life cycle, many obsolete components can then be removed from the system by upgrading the overall system. This means that the entire system can be optimized with a one-time engineering effort. This also places high demands on the software meeting such requirements by supporting more than one supplier and/or product family. What's more, the software itself must be flexible over the time when electronic components are being redesigned or replaced by other models, or even removed from the market. emPower OS supports those cases because its code is portable amongst microcontrollers and therefore provides agility and minimum disruption if a customer is forced to change microcontroller. In addition the exchange of cloud providers is easy too, because emPower OS interfaces to all popular cloud providers.
How implementing a strategic obsolescence management with the help of SEGGER's emPower OS is possible, is revealed in the following interview with CAREL Industries:
Concepts against bottlenecks — Modularity is the key
Risk management — Interview
Chip shortage — Interview
Chip crisis opportunity (German) — Press article
emPower OS — Intro | 2:25 min
emPower OS — Key benefits | 4:34 min
emPower OS — Strategic risk management | 3:23 min
Q: I am redesigning my hardware. How do I update emPower OS in my project?
A: The structure and core components of emPower OS are hardware independent. You only need to update the drivers and configurations to match your new hardware. If you are switching to another target MCU of the same CPU architecture (e.g. Cortex-M7), you can simply get a new Driver Package, add the new drivers and configuration to your existing project, and build your firmware for the new hardware.
Q: I am designing a hardware update with a new target device. How do I update emPower OS?
A: embOS, as the foundation of emPower OS, is usually licensed for one CPU architecture, e.g. with the Single User License or the Single Product License. If your new hardware uses a target device of the same CPU architecture, you only need to update the embOS BSP to match it. If your new hardware uses a target device of another CPU architecture, or if your emPower OS license is limited to a specific device, please contact us for a license upgrade for your new target device.
Q: I have changed my hardware peripherals. How do I get an emPower OS Driver Package?
A: When you change peripherals, such as Ethernet Phy or USB Controller, you might need new drivers and hardware configuration. Select the components you need from the list of available drivers and contact us. The first emPower OS Driver Package is selected with the initial purchase of emPower OS. A second package can be requested free of charge at any time within the active maintenance and update period of your emPower OS License. If you need more drivers for new hardware, you can separately purchase additional emPower OS Driver Packages here.
Q: My target architecture or compiler is not listed in the available embOS ports. Can I still use emPower OS?
A: Yes. We thrive on making emPower OS available on any platform. Please contact us to discuss the details.
Q: I do not find a matching driver or configuration for my hardware. Can I still use emPower OS?
A: Yes. We already provide a variety of drivers and hardware configuration for popular targets, but the list is not final. emPower OS can be used on virtually any hardware, due to the well-defined driver and configuration layers of the components. Please contact us for custom drivers and configurations tailored to your products.