The concept of embedded development

Embedded is a broad concept. Many people may think that embedded is embedded Linux. But in fact, not only Linux, like STM32, 51 single-chip microcomputers also belong to this category, and some of them can also run protocol stacks, ucos and other systems. So in fact, there are many directions for embedded, choose one direction, do it well, and do it well, all have a future.
embedded direction

1. MCU development

The demand for single-chip microcomputer development in this market is still very large, because there are still many manufacturing companies, and single-chip microcomputers are more used in industrial control, mechanical control, etc., of course, it will also involve the Internet of Things. There are 8-bit, 16-bit, and 32-bit single-chip microcomputers. Generally, 51 single-chip microcomputers and STM8 are used more for 8-bits, and STM32 is used
more for 32-bits. There are also NXP chips, such as K60, K22, etc. Generally, after learning 51 and STM32, it should be no problem to find a job with a single-chip microcomputer. The threshold of single-chip microcomputer is actually not high, but it is not easy to do it well. Maybe because of the threshold problem, the salary is not particularly high (except for those with great ability).

2. Linux application development

What exactly is Linux application development doing? In fact, the application is doing the function. In the operating system, because of the layering, the application and the driver are separated, and it is also for the convenience of development and division of labor. Because the driver and function are basically mixed in one program in the single-chip microcomputer, so when it is transferred to Linux development, it is suddenly subdivided, and it will be unclear what the application does. The programming languages ​​used by Linux applications are basically C and C++. Therefore, Linux application development must master the C language well. The C language in college textbooks is just an introduction, such as multi-threading, multi-process, network communication, and some other libraries are not mentioned. There are still a lot of Linux applications in the market, basically those involving Linux development are needed, and its job requirements will be more than drivers. For example, network equipment, routers, POS machines, building intercom, etc. In terms of salary, you can refer to recruitment websites in various regions. Relatively speaking, it is generally higher than that of single-chip computers.

3. Linux driver development

Linux driver development is the most difficult, because it involves more aspects. You must be able to read schematic diagrams, datasheets, understand many driver frameworks, and then be able to write some applications to debug drivers. It takes a long time to get started with the driver, and there are many job opportunities in the original chip factory. Although some companies will also need it, most of them are transplanted and debugged, and the engineers of the original factory are working. Drive engineers have high requirements, so the salary is still very good.

4、FPGA

5、DSP

Single-chip microcomputer development, Linux application development, and Linux driver development are the three basic directions of embedded development. There are also some such as FPGA or DSP, but because there are not many opportunities for these, we will not discuss them too much. There is also Android, which is based on Linux, so it is considered an in-depth Linux, and we will not list it separately.

Summarize

There are many things that embedded software can go deep into, including algorithms, data structures, design patterns, and so on.
insert image description here
Information comes from the Internet

Guess you like

Origin blog.csdn.net/lijiahao1212/article/details/130075224