2. Embedded Systems
Embedded systems are computer systems in which a processor is embedded in a technical device. The processor takes over all monitoring, control and operating functions. In general, the processor of an embedded system is a microcontroller. In contrast to PC processors the memory as well as inputs and outputs are usually integrated in a single chip. This is a processor with different peripheral interfaces.
Microcontroller can be separated by the number of bits of the internal data bus (4 bit, 8 bit, 16 bit, 32 bit, etc.). This number describes the length of data which can be processed by the microcontroller. The biggest in 8 bit representable number is 255, thus a 8 bit microcontroller can only add numbers less or equal 255 in one step. Adding higher numbers results in a longer calculation time as several commands are necessary.
Embedded systems are not always required to have a user interface. However, they can have I/O interfaces to handle analog or digital data.
Characteristics:
Application specific customized hardware and software
Compact devices which execute one or more specific tasks
Can work without or with a reduced operating system (depending on complexity)
Special real-time operating systems available
Systems are optimized for (examples):
Code-size efficiency
Optimised program execution
Reduced system costs
Reduced energy consumption
2.1. Difference between Universal Computers and Embedded Systems:
Universal Computer |
Embedded System |
|
---|---|---|
Optimized for high processing power and graphics performance |
Optimized system solutions where the microcontroller is often not visible |
|
High compatibility with application software |
Provides comprehensive functions. Available with sensor and actuator interfaces |
|
Uses a variety of programs for individual applications |
Is optimized for a specific application |
|
Computers are interchangeable, software is the capital good |
Is often designed as a real-time system |
|
Mostly uses standardised Operating Systems, e.g. MacOS |
2.2. Software Development
In conventional, so called “self-hosted” computers (like your Windows PC), the development system and the target system are identical. The development system in general has a highly specialized and highly integrated interface that includes all the tools of software development (e.g. Visual Studio).
In case of embedded systems, the operating system of the target can offer only basic functionalities like for example loader, debugger or scheduler. Therefore, the host system is different from the target system which makes configuration and debugging more complicated than for “self-hosted” computers. A cross development is necessary.
In this case, the programming and compiling is done using development tools on the host computer. Furthermore, a connection to the target system is established using a communication interface (e.g. ISP or Ethernet interfaces).
Fig. 2.7 Cross Development using a host computer and an embedded system