What are some examples of embedded programming

Embedded software: definition, examples and advantages and disadvantages

Everyone knows software for the PC or notebook, but another form of application has established itself. In the so-called "embedded systems", these are permanently connected to the hardware and ensure that the device follows a certain logic. The control is similar to that of a computer. In this article we explain to you, how "embedded software" works and show by means of some practical examples what they can be used for.


1. Definition: What is embedded software?

The CPU clock rate of an embedded system is usually lower than that of a conventional PC.

"Embedded software" are programs that have been developed for specific hardware. The applications run largely unnoticed by the user in the background and take care of the control, regulation and monitoring of the functions. The term “firmware” is often used as a synonym.

"Embedded software" is essentially composed of three components that determine the design and functionality:

  • The Bootloader takes care of loading or updating the operating system and application software.
  • The operating system is responsible for file and memory management and controls multitasking.
  • The Application software is the interface to the host system. It contains device-specific functions and processes the previously recorded data.

Embedded systems are often characterized by strict framework conditions. This includes, for example, factors such as minimizing costs and space as well as reducing energy requirements. In addition, there are usually high requirements in terms of operation, reliability, real-time behavior and, of course, security. It is therefore hardly surprising that the platforms often deviate significantly from the usual (standardized) PC design.

Good to know: The counterpart to the "embedded system" is the so-called "self-contained system", in which the functions are separated into several independent systems. These include, for example, microcontroller-based automotive controls, but also a conventional computer keyboard.

2. Engineering basics: How do you program embedded software?

Developers now also use modern programming languages ​​such as C or C ++ to write embedded software.

The development of embedded software differs from writing conventional computer programs and is also significantly more demanding. In an embedded system, only a limited amount of memory is available; program and data memories are also separated from one another. The clock rate of the embedded processor is also often far below that of a conventional PC system.

This means that the embedded code not only offers extensive functionality, but also has to run at the required speed despite limited resources. In addition, the requirements for architecture, timing and power consumption must also be met.

Fortunately, there are a number of tools and techniques available for embedded developers to use to implement such designs. As a rule, embedded software is programmed in assembler, but high-level languages ​​such as C or C ++ are increasingly being used. These usually have a better compiler. In addition, many of the analysis and optimization techniques can also be used for applications that are based on assembler.

3. Practical examples for the use of embedded software

The device in question does not necessarily have to be a computer. One of the most prominent examples of an embedded system are modern automobiles, which can practically no longer be moved without electronics.

Whether ABS, adaptive chassis, airbag, ABS or the automatic transmission - They are all controlled by highly efficient software that, in conjunction with the associated hardware, performs a precisely defined function as a sub-system.

These days, modern automobiles would no longer move at all without embedded software.

For example, if the ABS receives information from the tire speed sensors that the wheel could lock when braking, it changes the brake pressure on the wheel in question with the help of hydraulic valves. In this way, the maneuverability and driving stability are retained.

3.1. The construction industry also benefits from embedded software

Embedded software is also revolutionizing the construction industry. Numerous machines now transmit their operating data to a central administration via SMS or the Internet.

Another industry that benefits from the use of embedded software is construction. The construction machines from the manufacturer Liebherr are equipped with an embedded system from Zühlke Engineering, which reads out the operating data and transmits it to a data center via SMS or the Internet. For example, if the oil pressure is too high, the system warns of excessive stress on the hydraulic hoses. It is also possible to support the technicians on site via remote maintenance from the headquarters.

And in production too, more and more processes are being automated with the help of intelligent software. There are now even punching machines that are able to detect irregularities in the material. They also recognize errors in the production process and use this data to reset themselves within seconds using a software update.

In addition, embedded software can also be found in these areas:

  • Consumer electronics, e.g. televisions, digital radios, televisions, game consoles or streaming boxes
  • Telecommunication devices, e.g. routers or cell phones
  • Industrial and medical technology
  • Military technology
  • Aerospace
  • Controls for washing machines or dishwashers and refrigerators

Good to know: The networking of individual embedded systems creates a number of new possibilities for complex environments with which processes can be mapped in real time and without constant human intervention.

4. What are the advantages and disadvantages of embedded software?

Simplified management: Updates are a real rarity with embedded software.

Embedding the software in an overall system has some significant advantages. Since the systems only have one function in most cases, they not only find space in a very small space, but are also characterized by low power consumption. In addition, they are comparatively inexpensive to purchase and thus a very inexpensive and efficient type of device control.

In addition, embedded software is very low-maintenance, which means that it rarely needs an update. This makes them particularly interesting for integration into devices that do not necessarily have to be maintained by the end user and those that do not require regular updates.

4.1. Embedded software also has its limits

Despite all the positive aspects, embedded software also has some disadvantages that we do not want to leave out here. For one thing, she is Indispensable for the operation of the overall system and unfortunately not exchangeable due to the embedding. In the case of a modular structure, on the other hand, there is the option of storing and removing functions and processes at a later date.

Upgrading an embedded system is basically an impossibility, because hardware and software are specially designed for continuous operation without updates. To modify an embedded system, you must first completely dismantle the host device and then reassemble it after reprogramming. In most cases it is therefore much cheaper to replace it completely.

Another point that often leads to problems is the fact that embedded systems are not completely reactive. They communicate via sensors and actuators and expect a correct response in real time. If this is not delivered, the result is "FALSE", which in turn affects the functioning of the overall system.

You can also find out what embedded software is in this video:

40 ratings

Ø 4.60
Embedded software: definition, examples and advantages and disadvantages
4.6540Loading ...