Follow+Star PublicAccount to not miss exciting content
Source | Zhihu
The field of embedded software development is very broad, and many readers are confused about how to choose. Here are some general subfields:
-
Audio and Video Direction (suitable for electronic communication majors)
-
Audio Driver and Application Direction (requires knowledge of Bluetooth/WIFI/USB audio, familiarity with I2S protocol, understanding of MCU, and Linux knowledge)
-
Motor Drive Control Direction (requires electrical engineering knowledge)
-
Network Protocol Stack Direction (involves both MCU and Linux, suitable for communication or computer science majors)
-
Product Development for MCU Bluetooth + WiFi
-
MCU GUI + Bluetooth + WiFi Direction
-
Energy Power Electronics Direction (requires electrical engineering knowledge)
-
Camera Direction (primarily Linux, some self-developed ASICs, not high educational requirements, but experience is crucial for social recruitment)
-
Linux Kernel and Embedded Linux System Direction and Drivers
-
Automotive Electronics Direction (Infineon NXP’s MCU CAN Autosar)
-
General MCU + RTOS Development (excluding WiFi, Bluetooth, GUI, motors)
-
General Embedded Linux Driver + Application Development (primarily C++)
-
Pure Embedded Linux Application Development (primarily C++)
-
MCU Chip Drivers
-
Embedded Linux Drivers from Chip Manufacturers
-
Battery Management, BMS Direction
For those with good educational backgrounds (985, 211, Double First Class Bachelor’s or Master’s)
It is recommended to pursue directions such as audio and video, Bluetooth audio, motor drive and control, network protocol stack, power electronics, Linux kernel and systems (generally in automotive, mobile, chip manufacturers), and automotive electronics.
These fields have value, learning thresholds, good future development prospects, and importantly, high salaries; earning hundreds of thousands annually is truly not a problem.
For those with average educational backgrounds
If you are interested in embedded MCU directions, you can learn about MCU peripheral principles, kernel principles, as well as RTOS principles and usage. You should also understand motor drive, mainly familiar with FOC is sufficient, and learn about WiFi, Bluetooth, and GUI. Additionally, general embedded Linux drivers and application development mainly involve character devices, misc devices, I2C, SPI, CAN device drivers and usage.
For those with lower educational requirements but high personal embedded knowledge requirements, MCU chip drivers are the way to go.You need to be familiar with MCU kernel and peripheral working principles, RTOS scheduling principles, applications, C language, assembly language, etc.
Deep understanding of C language is required, including how C language executes corresponding assembly code, for example:How does function parameter passing operate CPU registers? How does function return operate CPU registers? How does calling a function operate those registers at the CPU level, and what is the specific process? What is the interrupt execution process and principle, and how does it operate CPU registers?

According to the current social recruitment situation, there is a significant shortage of personnel in the audio direction, especially in Bluetooth audio and Linux audio.
During social recruitment, experience, matching degree, and cost-effectiveness are the main considerations. Although campus recruitment does not focus much on experience matching, when companies are hiring for embedded development positions related to Bluetooth and WiFi products, if a candidate has experience in Bluetooth and WiFi development, even if they only have a basic understanding, they will have a significant competitive advantage compared to others.
———— END ————

Programmers who have been “trapped” by “null”

Brief Discussion on the M85 Kernel Microcontroller

Every electronic engineer has a wish: to own a high-end instrument!