How long does it take to learn embedded development? which courses to study

A novice once complained to me: Why is embedded development so difficult?

Believe me, it's not that you can't learn it, you just haven't found the right way.

This is a real answer for "Ending Confusion". The content is a bit long. If you are in a hurry, it is recommended to like + bookmark first to prevent you from finding it. If you want to quickly enter the embedded development industry, please take a few minutes and start from scratch. Don't miss a single word at the end, because between the lines are the essence of my 11 years of experience in the industry.

Learning embedded, positioning planning is more important than the course itself!

1. Positioning

1. Several directions of embedded mainstream

These are the ones that are currently in greatest demand in the market. To put it bluntly, it is easier to find a job after finishing your studies.

I believe that most people study for high-paying jobs.

Among these directions, MCU development is the most hardware-oriented, followed by Linux driver development.

Linux application development is basically pure software, and basically rarely touches the underlying hardware.

Many people don't even know these directions, thinking that embedded is ARM+Linux, how to do it, and what to do.

Some students of our Boundless MCU took this detour before. At the beginning, their positioning was not clear, and they learned all kinds of things in a mess. It felt like they still didn’t learn anything after wasting a year.

Later, we planned a career direction for him, cooperated with our practical courses for several projects, and went to work directly after studying for 4-5 months. Graduate students basically start at 16-18K.

Therefore, I think positioning is much more important than blindly looking for courses . If the direction is not right, double the effort, and the learning cycle is long without seeing the results, so it is easy to give up.

In addition to the above directions, there are also FPGA and Android development, so I won’t give examples here.

2. Each direction has its own advantages

Here I mainly compare the two directions of MCU development and Linux driver development.

  • Applications:

The microcontroller is suitable for low-cost, low-power mid-to-low-end product applications.

Linux driver development is suitable for high-performance mid-to-high-end product applications that are not sensitive to cost and power consumption.

  • Learning cycle:

The MCU is shorter, and the Linux driver development is longer.

  • Salary:

MCU development is lower than Linux driver development.

  • Future prospects:

Single-chip microcomputer development is suitable for individuals to start a business at low cost, and one person can do hardware and software at the same time.

Linux drivers require a team, such as hardware design, driver development, and application development.

  • Production Ratio Evaluation

If you are in a hurry to find a job, you can start with the development of single-chip microcomputers.

If you are not in a hurry to find a job and hope to make higher-end products, you can directly get started with Linux driver/application development.

According to the past student data of Wuji MCU, I personally think that the development and production ratio of MCU is higher than that of Linux, and you can reach the working level after 4-6 months of zero-basic learning.

Although the starting salary is not as high as that of Linux, but a stable capital flow is the kingly way, and there is no such pressure to learn anything later.

2. Learning Path Planning

I believe that after seeing this, you already know the importance of positioning. It is a waste of time to plan courses not based on career positioning .

In the past 11 years, I have been engaged in the development of single-chip microcomputers, so the following learning path should be the most efficient and practical you have ever seen .

1. Basics of C language

Many people ask me, do I need to learn assembly? I'll tell you directly, you don't need to learn.

Our goal is to quickly achieve our goal. Although compilation can give you a deeper understanding of the principles of single-chip microcomputers, it is not practical for work.

At least I have been doing development for so many years, and I have basically never used it.

Assembly is generally used in the following scenarios:

a). 51 single-chip microcomputer with very scarce resources, ROM and RAM are not enough, only assembly can be used.

b). When RTOS is transplanted, the instruction set of each single-chip microcomputer is different. It is not very meaningful for you to learn the system. It is better to search online for the instructions you do not understand.

So, listen to me, it is not wrong to focus on C language in the early stage.

If you have never learned C language, I suggest you watch the MCU C language course recorded by Wuji MCU.

Many of the C languages ​​on the market are aimed at the host computer. Ours is aimed at the single-chip microcomputer. Although most of them are the same, there are often some details that make novices feel confused when transitioning from the host computer to the single-chip microcomputer.

 

2. Circuit basics

Half of learning the development of single-chip microcomputers is given up on the way to learn circuits.

I almost gave up when I was learning analog circuits, until I worked for many years, I just threw away the analog circuit books and videos.

The actual product development is rarely used, you only need to learn the principles and application scenarios of some common components.

You don't need to learn too much about the circuit, you just need to know what signals come into the MCU and what signals the MCU outputs to control the peripheral functional circuits.

As for why a resistor is added here, a capacitor is added there, and why this value is chosen, don't worry about it.

In actual product development, these tasks are done by hardware engineers.

3.51 MCU

Some people say that the 51 single-chip microcomputer is outdated and eliminated. This kind of directly treats him as a layman.

Now 51 single-chip microcomputers are still widely used, even if you come into contact with some Bluetooth products, many chips have 51 cores, such as TI's CC2541.

I assure you, if the 51 single-chip microcomputer can realize the function, the boss will never allow you to use STM32, even if you can use it to write, write your hair out.

The reason is simple, 51 microcontrollers are cheap!

4. Use 51 single-chip microcomputer to do the project

The c language, basic circuit, and 51 single-chip microcomputer learned earlier are just knowledge tools.

After learning, you have to implement the knowledge to generate value, and the project is the only way to generate value from this knowledge.

After learning the basics, many people find that they still don’t know how to do projects. They wonder if they haven’t learned the basics well?

Actually not, it’s the same feeling as if you learned to write but still can’t write a composition.

To write a good composition, in addition to your basic knowledge, you also need rich experience and thinking, right?

Doing a project is just like writing a composition, it also tests your project thinking and experience.

Whether your thinking and experience are good will determine whether your program is well written.

Many people are anxious to learn STM32 and ignore this most important step.

So the more things are missing in the future, the more difficult it is to learn.

 

5. Advanced C language

Many people are obsessed with C language pointers, and I suggest that some advanced knowledge such as pointers and structures be learned in this link.

After the baptism of the previous links, your code level and understanding ability have improved.

At this time, to learn advanced skills of C language, the time cost will be lower.

Advanced C language Our open-source tutorial for the boundless single-chip microcomputer system, including enumeration, pointers, structures, callback functions, queue algorithms, task management and other knowledge that can be directly used in your batch products.

 

6. STM32 MCU

Finally came to the STM32 that novices dream of.

In this link, I suggest to learn STM32 as a tool, just know how to adjust the library and use the peripherals.

There is no need to study in depth and systematically. You only need to learn the most commonly used peripherals. If you don’t need to learn it, you will soon forget it.

The specific ones that are commonly used are clearly written in the map above.

7. STM32 project

If you can persist until here, congratulations, you can graduate soon.

But this link is often the most difficult, the most tormented, and the most time-consuming step.

The STM32 project has some DIY projects, such as smart cars, drones, etc., which can be used for practice.

However, what you can learn may only be proficiency in programming.

If you want to learn better thinking and programming skills, you can seamlessly connect with actual product development.

It is best to follow the senior engineer to do the project.

3. Summary

1. Positioning is more important than the course itself.

2. Spend most of your time and energy on the actual combat of the project.

Last egg time! ! !

Recently, many friends asked me for some MCU learning materials, and then based on my ten years of experience in the industry, I stayed up all night and carefully compiled a "MCU Introduction to Advanced Tutorial + Toolkit", all free to share with everyone! ! !

In addition, I will share with tears my 22 popular open source projects at the bottom of the box, including source code + schematic diagram + PCB + documentation, so that you can quickly advance to become a master!

It is said that a small partner successfully entered the BAT factory by relying on this information, so you must study hard if you save it.

The tutorial package and detailed learning path can be found at the beginning of my article below.

The learning path from the introduction of MCU to advanced opening and hanging (with tutorial + tools) https://blog.csdn.net/weixin_43982452/article/details/114134096

Guess you like

Origin blog.csdn.net/weixin_43982452/article/details/124709367