Understanding the Four Layers of Embedded Systems

Understanding the Four Layers of Embedded Systems

Embedded systems are divided into four layers: hardware layer, driver layer, operating system layer, and application layer.

1. Hardware Layer

The hardware layer is fundamental to the entire embedded system. If you are familiar with microcontrollers and interfaces, and can program in C and assembly language, starting from the hardware layer of embedded systems is relatively easy. The hardware layer is also the foundation for the driver layer. An excellent driver engineer must be able to understand hardware circuit diagrams and complete CPLD logic design independently, while also being quite familiar with the operating system kernel and its scheduling. However, the hardware platform is fundamental; added value must come from software.

Understanding the Four Layers of Embedded Systems

The hardware layer is more suitable for professionals in electronics, communications, automation, mechatronics, and information engineering. The foundational knowledge required includes microcontroller principles and interface technology, microcomputer principles and interface technology, and C language.

2. Driver Layer

This part is relatively difficult. Driver engineers must not only understand circuit diagrams but also be very proficient in the operating system kernel so that the driver programs they write do not monopolize the operating system’s time slice during system calls, causing other tasks to be unable to run. Without understanding the operating system kernel architecture and real-time scheduling, and lacking good driver writing styles, many people can add drivers as described in most books, but may not even reach the level of a junior driver engineer. Drivers written this way can cause applications to behave like when you open a program in Windows after running another program — either interrupting the previous program or having to wait a while before the newly opened program runs. To become a good driver engineer, one must have three to four years of experience, and studying the operating system kernel is essential for success. However, their salaries are the highest among the four layers of embedded systems.

The driver layer is more suitable for professionals in electronics, communications, automation, mechatronics, and information engineering, especially those with a focus on computer architecture. In addition to the foundational disciplines of the hardware layer, one must also be very proficient in data structures and algorithms, operating system principles, and compiler principles.

3. Operating System Layer

Currently, the operating system layer can only be said to be simple porting, as few people write operating systems themselves or create operating systems that are incomplete. Most of this work is done by driver engineers. The operating system is responsible for debugging system tasks, managing disks and files, and the real-time nature of embedded systems is very important. It is said that the XP operating system took Microsoft 300 people two years to complete, with a total workload of 600 person-years. The software institute of the Chinese Academy of Sciences’ own Nuwa Hopen operating system probably also took several hundred person-years to complete. Therefore, this part of the work is relatively insignificant.

4. Application Layer

Relatively speaking, this layer is easier. If you know how to call programming interface functions in Windows, the only difference in the operating system is the corresponding changes in the compilation and development environment. The same applies to programming in Java. Algorithms in embedded systems are handled by specialized algorithm professionals and do not need to fall under the embedded systems category. However, if it involves embedded databases, network programming based on embedded systems, and application development based on certain application-layer protocols, it becomes more complex and challenging.

Understanding the Four Layers of Embedded Systems

1. The view of the Chinese electronics industry from American electronic engineers!

2. Python hard to understand? Buy a watermelon and you’ll get it!

3. Why do circuit board designs need to set these test points?

4. Master these, and you can become a versatile embedded developer!

5. From the Intel and ARM rivalry, see how difficult it is to make chips.

6. Understanding the task mechanism of uC/OS-II again

Understanding the Four Layers of Embedded Systems

Disclaimer: This article is a network reprint, and the copyright belongs to the original author. If there are any copyright issues with the works, please contact us, and we will confirm the copyright and pay the manuscript fee or remove the content based on the copyright certificate you provide.

Leave a Comment

×