Glossary · Automation software engineering and architecture
Embedded software
Also known as: Embedded system software
German: Eingebettete Software
In computing, embedded software is software that runs on a dedicated computer system built into a device, such as a sensor, drive, controller or machine, to perform specific functions, typically with constraints on memory, processing power, timing and power consumption.
- Software engineering
In one sentence
Embedded software runs on a dedicated computer built into a device, performing specific functions under tight resource and timing limits.
Example
The embedded software of a smart pressure transmitter samples the sensor, compensates temperature effects and communicates the value over IO-Link.
Explained in context
Context cards connect this term with others to answer one question. Also in British English and German.
How it applies
- Engineering: Embedded software is closely tied to its hardware and often written in C or C++, sometimes on a real-time operating system or without any operating system. Resource limits and real-time requirements drive many design decisions.
- Maintenance: Embedded devices often stay in the field for many years. Update mechanisms, version identification and secure boot are needed to deliver fixes safely.
- Documentation: Device documentation should state the embedded software version, how to read it, how to update it and what changed. For devices with security relevance, the documentation team should keep advisories and update instructions accessible over the whole support period.
Embedded software vs. firmware
The terms overlap. Firmware usually refers to software stored in non-volatile memory of a device that is updated rarely and as a whole. Embedded software is the broader term and includes application software on embedded platforms, such as an application on an embedded Linux controller.