The development route of embedded engineers

Recently, I have encountered many newbies who are in confusion. They are wondering whether to learn embedded. The main problem is that the threshold for embedded is very high, the experience is small, or whether non-electronic majors can join the embedded industry. Now the embedded development industry is indeed developing very well. Most practitioners are from professional training courses, but we have also seen many non-professional training courses share their own practice process. Learn and practice, and become a big coffee in the industry. In fact, learning technology is more of a kind of persistence and hard work, and non-professional classes just have to put in more effort.
Embedded can be simply divided into hardware and software, but the knowledge system in it is extremely huge, which is also one of the reasons why many newbies are discouraged. So how do you become an embedded master? Let me talk to you today. Embedded learning route, you can also penguin if you find it helpful here.


 

Introductory Embedded Engineer
This stage is mainly the early entry process, mainly for newcomers who have not been in the industry for a long time. In fact, there are no shortcuts to success, so laying the foundation is the key. It mainly includes the following 4 aspects:
1. Circuit knowledge First of all, you need to learn circuits, analog electricity, digital electricity, understand resistors, capacitors, transistors, basic devices, and basic circuits of amplifier circuits, integrated op amps, and sequential circuits can be seen I understand, otherwise the circuit diagram must be in the fog, and the follow-up work cannot be carried out. The design and implementation of hardware products, including device selection, schematic and PCB design, and circuit debugging, all require a solid circuit foundation.
2. C language
C language is the most important programming language in embedded development. It is necessary to have a deep understanding of this language. After all, it is important not only to be able to write programs, but also to understand other people's programs. You must know the most basic data types, arrays, pointers, structures, linked lists, file operations, etc., and master the basic syntax and statements. Otherwise, can you distinguish between pointer arrays and array pointers?
3. Getting started with single-chip single-chip microcomputer is relatively simple. Through the learning of single-chip microcomputer, you can be familiar with the hardware structure of single-chip microcomputer, including I/O port, AD conversion, communication (serial port, parallel port, I2C, CAN, USB, Ethernet, ZigBee technology, etc.), display ( LED, LCD, etc.), control (PWM and other control technologies), data processing (processing or recognition of graphics, images, voice, video, etc.), etc., learning single-chip microcomputers can lay a good foundation for the adoption of embedded systems.
4Linux Basic
Linux's source code and architecture are open, and it is widely used in embedded systems. Learning Linux will be of great help to system development. Learn more about the directory structure, basic commands, editor VI, compiler GCC, debugger GDB, Make project management tools, Shell Makefile scripting and other knowledge under Linux, as well as the construction of embedded development environment.
After the first stage of learning for intermediate embedded engineers
, you can already carry out embedded development work, but there is still a lot of knowledge to learn to advance, and this stage will also be the first watershed, making excellent embedded Engineers stand out. Although there are only three items at this stage, the knowledge involved is very extensive, and it takes a lot of energy to learn well.
1. Linux programming
system programming can directly talk to the kernel and the core system library, and have a deep understanding of the Linux kernel. Mastering Linux system programming mainly improves the understanding of Linux application development and the ability to debug code. As the development of network applications is becoming more and more extensive, through Linux network development, TCP/IP protocol, socket programming, TCP network programming, UDP network programming, Web programming development, etc., you can fully understand Linux network application development.
2 Data structure and algorithm Data structure and algorithm have been widely used in the development of embedded underlying drivers, communication protocols and various engines. For language compilation, stacks, hash tables and syntax trees are used; queues and storage management tables are used in the operating system. And the directory tree, etc.; the database system uses linear tables, multi-linked lists and index tables for data management, etc., the quality of its mastery directly affects the efficiency, simplicity and robustness of the program.
3. QT, DSP, FPGA
Linux does not have its own interface. Learning QT programming can create all the functions required for an artistic graphical user interface, so as to better realize human-computer interaction control. Nowadays, users' requirements for graphics and images are getting higher and higher, which requires DSP and FPGA technology to design and develop better embedded vision systems.


 

As for the embedded senior engineer, there is no need to say more for the time being. It is not a good thing to be too hasty. When you reach this position, it can be said that you are already a winner in life, and the real learning process is like a long practice. There are bound to be various difficulties in this process. Of course, embedded work requires more practice and experience accumulation. I believe that if you can see the moon, you can also become an excellent embedded engineer. If you are still in a period of confusion during this process, you can be private here. I have saved a lot of dry goods over the years, and I hope to help you improve!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326019405&siteId=291194637