Embedded software | Siemens Software (original) (raw)

Siemens offers both automotive embedded software and embedded software engineering solutions. Siemens has discontinued offering standalone embedded software for SoCs with the retirement in November 2023 of the Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux, and Sourcery CodeBench products (including associated add-ons). Existing support contracts for these products are still being honored, please contact Siemens Support Center for more information.

What are the different types of embedded software and their purposes?

Embedded software vs embedded systems

The hardware components within a device running embedded software are called an "embedded system." Some examples of hardware components used in embedded systems are power supply circuits, central processing units, flash memory devices, timers and serial communication ports. During a device's early design phases, the hardware that will make up the embedded system – and its configuration within the device – is decided. Then, embedded software is developed from scratch to run exclusively on that hardware in that precise configuration. This makes embedded software design a specialized field requiring deep knowledge of hardware capabilities and computer programming.

Examples of embedded software-based functions

Almost every device with circuit boards and computer chips has these components arranged into an embedded software system. As a result, embedded software systems are ubiquitous in everyday life and are found throughout consumer, industrial, automotive, aerospace, medical, commercial, telecom and military technology.

Common examples of embedded software-based features include:

What are the different types of embedded systems?

When based on performance and functional requirements, there are five main classes of embedded systems:

How end-markets affect embedded systems

Embedded system requirements and components will differ according to the target market's demands. Some examples include:

Why is automotive embedded software different?

In automotive electronics, complex real-time interactions occur across multiple embedded systems that each control functions such as braking, steering, suspension, powertrain, etc. The physical housing containing each embedded system is referred to as an electronic control unit (ECU). Each ECU and its embedded software is part of a complex electrical architecture known as a distributed system.

By communicating with each other, the ECUs that make up a vehicle’s distributed system can execute a variety of functions, such as automatic emergency braking, adaptive cruise control, stability control, adaptive headlights and much more. A single function might need interactions across 20 or more embedded software applications spread across numerous ECUs connected by multiple networking protocols. Complex control algorithms deployed with the embedded software ensure the proper timing of functions, needed inputs and outputs and data security.

Common examples of automotive software application-based features include:

ECU software stack

The Electronic Control Unit or ECU is comprised of a main computing unit with chip-level hardware and a stack of embedded software. However, there is an increasing trend among automotive manufacturers to design ECUs with complex integrated circuits that contain multiple computing cores on a single chip – what is referred to as a System on a Chip (SoC). These SoCs can host a multitude of ECU abstractions in order to consolidate hardware. The software stack for an ECU typically includes a range of solutions, from low-level firmware to high-level embedded software applications.

ECU Stack Description
Embedded software application Control algorithms, processing, services
Application framework Security & safety frameworks
Operating environment AUTOSAR classic, AUTOSAR Adaptive, Inputs/Output channels
Embedded virtualizations Real-time OS, ECU abstractions
Firmware Boot-loaders, secure-storage, secure-threading
Hardware Silicon-based devices, micro-controllers, single or multiple layered boards