Understanding Embedded Systems: Core Competitiveness Explained

Question 1: What is embedded systems?
Various devices around us: Dormitory access control, mobile phones, electronic alarms (non-mechanical alarms), smart wristbands, cafeteria card machines, washing machines, rice cookers, air conditioners, balancing cars, quadcopters, routers, robots, etc., all belong to embedded devices.
Definition:
IEEE (Institute of Electrical and Electronics Engineers) defines it as a device used for controlling, monitoring, or assisting the operation of machines and equipment, which is a dedicated computer system;
In China, the definition of embedded systems is application-centered, based on computer technology, with hardware and software that can be tailored to meet the strict requirements of application systems regarding functionality, reliability, cost, size, power consumption, etc. It is a dedicated computer system; from the perspective of application objects, embedded systems are a combination of software and hardware and can also encompass mechanical and other auxiliary devices.
Other interpretations: An embedded system is a dedicated computer system designed for a specific application that is completely integrated into the controlled device.
It can be seen that regardless of the definition, there is always: a dedicated computer system. So what is a dedicated computer system? Let’s first talk about general computer systems:
General computer systems: Generally refer to the system architecture of ordinary computers as general computer systems. A general computer system includes: input devices (mouse and keyboard), output devices (monitor), processor and controller (CPU), storage devices (memory and hard disk). An operating system (Windows, Linux, MacOS, etc.) runs on this hardware foundation. This type of computer can perform many tasks and can complete various jobs by installing various functional software: office work, watching TV, playing games, etc.
Dedicated computer systems: A dedicated computer system (taking a washing machine as an example) is, first of all, a computer system, usually also containing input devices (buttons on the panel), output devices (motor of the drum), processor and controller (microcontroller inside the washing machine), storage devices (flash memory inside the microcontroller). You can see that this dedicated computer system has all the essential components, but it is very different from a general computer. Because it is designed to complete the task of washing. The output is performed by the motor completing a certain action (execution), the input does not require a full keyboard, just a few simple buttons to set the washing mode (to reduce costs), the processor and controller are not traditional CPUs, but just need a microcontroller to run a small program (to reduce costs; of course, a CPU can be used, but it is expensive, one CPU can cost more than the washing machine itself), the washing machine can also store some data, using the previous settings directly for the next wash, with a storage unit inside, just a little, a few KB is enough, unlike a computer with 4G, 8G of memory + 1T of hard disk).
Through this example, we can see that a dedicated computer system has characteristics such as low cost, low power consumption, simplicity, and the ability to control specific output devices.
A counterexample: Is an electric shaver?

Understanding Embedded Systems: Core Competitiveness Explained

Understanding Embedded Systems: Core Competitiveness Explained

No, reason: The shaver does not have a dedicated computer system, only a switch; when the switch is turned on, the battery powers the motor to rotate. The internal circuit is a charging circuit for a rechargeable battery. It is considered an electronic device, not an embedded device.
Why not take a mobile phone as an example? There is controversy over whether a mobile phone belongs to embedded systems. I believe it does. Previously, mobile phones were used as dedicated devices for making calls, but now mobile phones have become increasingly powerful, blurring the line with computer systems. No need to delve into this issue.
Question 2: What is the core competitiveness of embedded systems?
Embedded systems usually have two directions for job seeking: embedded software and embedded hardware. So is the core competitiveness of embedded systems software and hardware?
The answer: Not just that.
Embedded hardware: Of course, it refers to circuit design and PCB layout. Generally, embedded circuit design mainly involves digital circuits, which are not very difficult. Of course, certain specific circuits may also involve analog circuits. Digital circuits require reading data sheets (English proficiency is necessary), and the difficulty is not high; practice makes perfect. Analog circuits and high-frequency circuits are typically handled by specialized hardware engineers, radio frequency engineers, etc.
Embedded software: Embedded software differs from “pure” software, which generally refers to software development like Android development, Windows development, iOS development, backend development (usually based on Linux). This type of pure software development typically occurs on a specific operating system that provides specific APIs; commonly referred to as Java backend or C++ backend falls into this category. Returning to embedded software, embedded software is usually developed on a purely hardware platform, closer to the hardware level. It typically includes: bare-metal programming, real-time operating systems + application programs, kernel trimming in Linux operating systems, driver development, application programs, and BootLoader development from chip manufacturers, board support package development, etc. The scope is very broad. One characteristic of embedded software development is:
Here we can see that embedded systems require learning a wide range of knowledge, leading to a lack of expertise in any one area.
So what is the core competitiveness of embedded systems?
A senior colleague’s viewpoint: Product-oriented engineering thinking [I personally agree very much with this].
It may sound too grand or abstract; for fresh graduates, just mastering basic hardware and software skills while having a portfolio of projects can lead to a good job. The next article will explain how fresh graduates can find jobs. However, to land a great job, one must delve deeper.
This question still needs to touch on the future. As mentioned above, the domestic definition is: “Application-centered.” That is, centered on the product, designing a dedicated computer system to meet the functional requirements of the product. Embedded engineers need to understand not only the technology of hardware and software but also how to achieve certain functionalities and how to simplify product design. They need to have a systematic understanding, know the products they design, and develop product thinking. It sounds very abstract. Only in this way can they optimize product design and ensure that the product has competitiveness in the market. This is somewhat similar to the transition of technical personnel to product managers in the internet industry.
Another viewpoint is: There is no core technology in embedded systems, I also agree with this. The technology in embedded systems is a combination of various hardware, various protocols, and various chips. A series of technology combinations. There is no core technology. CPUs are all designed, and the peripheral circuit manuals for chips are all provided; hardware design just needs to learn various rules. The complexity of software programming is relatively low, just needing to clear various communication protocols. However, embedded engineers have core competitiveness, this does not conflict. Core technology and core competitiveness are not contradictory.

We welcome discussions in the comments below.

Leave a Comment