
Overview of Embedded Systems


How to Learn Embedded Systems
Hardware Layer
The hardware layer is the foundation of the entire embedded system. If you are already familiar with microcontrollers and interfaces, and can program in C and assembly language, it is relatively easy to start from the hardware layer of embedded systems. The hardware layer is also the foundation for the driver layer. An excellent driver engineer should 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, and added value relies on software. 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.
Driver Layer
The driver layer 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 slices during system calls, preventing other tasks from functioning. Without knowledge of operating system kernel architecture and real-time scheduling, and without good driver writing styles, many people can implement drivers as described in most books, but to be a good driver engineer requires three to four years of experience. Without studying the operating system kernel, success is not easily achieved, but salaries in the embedded system’s four layers are the highest. The driver layer is particularly 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 required for the hardware layer, one must also have a thorough understanding of data structures and algorithms, operating system principles, and compiler principles.
Operating System Layer
Currently, the operating system layer can only be said to be a simple porting, as few people write operating systems themselves or create incomplete operating systems. 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 man-hours of 600 person-years. The software institute of the Chinese Academy of Sciences’ own Nuwa Hopen operating system is estimated to require hundreds of person-years to complete. Therefore, this part of the work is relatively insignificant.
Application Layer
The application layer is relatively easier. If you know how to perform programming interface function calls under Windows, moving to an operating system just involves changes in the compilation and development environment. The same applies to programming in Java. However, if algorithms are involved in embedded systems, they should be handled by professionals in algorithms, and do not need to be categorized under embedded systems. But if it involves embedded databases, network programming based on embedded systems, and application development based on certain protocols (such as SIP, H.323, Asterisk), it becomes more complex and challenging.
Introduction to STM32

Learning STM32


End
● What Level is Considered Proficient in Linux?
● Nostalgia: Homemade Snake Game, What More Do You Need?
● Huawei’s Harmony OS May Enter the European Market Next Year, Competing with iOS and Android

