Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Learn embedded system with Brother Tao episode 03: embedded should be learned from u-boot transplant.

2025-03-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Servers >

Share

Shulou(Shulou.com)06/03 Report--

Hello, everyone. I'm Brother Tao. Welcome to the third episode of "Learning embedded with Brother Tao". Russia's midsummer night, the World Cup is still like a naphthalene fire. On the court, under the setting sun, Messi's declining figure and Ronaldo's gloomy departure did not dampen everyone's enthusiasm. The war is still going on, and the veterans will not die. Is the Merlot era coming to an end? However, a new generation of superstars is rising and the wind is surging. While watching the game, learning to recharge can not be left behind, today we talk about the third topic: learning embedded, must we start from u-boot transplantation?

Do you really want to learn embedded system from U-boot transplantation?

The story stems from a problem encountered by an embedded student in the embedded technology group (475504428): the student wants to transplant the latest version of U-boot on his development board. However, nearly half a year later, I found that I was still asking some questions about the transplantation in the group, which led me to think: at this rate, if we give him a few more months, can the transplant be successful? For a novice, without some auxiliary tools, is it worthwhile to spend so much effort to do some skills that are not related to the future job? When I see that what this way of learning brings to many beginners is not the joy of progress, but a blow, or even change careers to do something else, I think maybe we should change our way of learning. I have planted a lot of holes in it, including me.

My sad learning experience

Similar to everyone's learning experience, when I was a student, after playing with 51 single-chip microcomputer, I bought the second development board: a certain ARM9 development board. I won't say the specific name here. According to the process, after the bare metal experiment was done again, we began to start the transplant career of U-boot. When writing U-boot, we found that it could not be started at all. At that time, because there were no relevant debugging tools, such as TRACE, and there were no relevant debugging and printing methods, we could only try to rule out all kinds of possible reasons, visit various forums and turn the pages of Baidu, and found that we could not solve the problem at all. He had been tossing about for several months before and after, and was helpless. In the end, contact the engineer of the manufacturer, after the development board is sent back, it is found that it is the problem of the NOR FLASH chip, replace a NOR FLASH, the system can operate normally. Although this problem was finally solved, it also wasted several months of my time. Of course, some people may say that you have learned a lot from this bug. Yes, through the continuous analysis of this problem, it is true that a lot of knowledge and skills have been increased, but for beginners, it is easy to undermine people's enthusiasm for learning if they learn through problem-driven learning in the first place. Most people may not be able to hold on, toss about almost, but also throw the board aside to fall ash, to engage in the Internet, Java to go, thus changing their career path. For this bug, I wasted several months of time, I think it is not cost-effective, these months of valuable time, I can learn the high-frequency skills used in embedded development, improve my work efficiency, instead of spending too much time on this low-frequency skill.

High frequency skills and low frequency skills

What are high frequency skills and low frequency skills? When I wrote these two words, I searched Baidu and found that there were no related words. Let's just regard them as the two new words I created (copyright belongs to me, and I have to pay tax when I use it). As the name implies, high-frequency skills are the skills we most likely use at work, while low-frequency skills are skills that we rarely use at work.

In the early development of single-chip microcomputer, the system is relatively simple, from hardware design, PCB drawing, software development, testing, an engineer can do it both hard and soft. According to today's buzzword, it is called full stack engineer. But now it is different. Embedded development, especially embedded system development after OS, requires too much theoretical basis and skills: from hardware, computer system structure, operating system, application layer, GUI and so on. At the same time, as the embedded system becomes more and more complex, the division of labor is becoming more and more clear: hardware engineer, PCB engineer, BSP engineer, driver engineer, application engineer, test engineer, we develop and maintain an embedded project together as a team.

With the formation of the division of labor, there is no need to learn all the soft and hard skills needed by full-stack engineers in the past. Of course, you can't finish it, even if you finish it, you may not use some knowledge for the rest of your life. Under the division of labor mechanism, everyone is proficient in their own modules, division of labor and cooperation, the highest efficiency. Now an embedded SOC, dozens of IP modules, you say you have mastered, a bit unrealistic, an audio and video decoding, GPS, GPU, USB may let you eat a few years to be proficient. The system is becoming more and more complex and the division of labor is becoming more and more clear, which requires us to change to a new way.

For embedded learners, in the face of more and more complex systems, how to learn and what to learn is a question worth thinking about. Before thinking about this problem, we must first have a premise: people's energy is limited, it is impossible to master all the knowledge and skills. If you do not agree with this premise and have to follow the model of a full-stack engineer, then there is no need to look at it.

How to learn? We need to ReFactor and decompose the skills needed for embedded development. What is commonly used, basic, must be mastered, that is, high-frequency skills, which are not commonly used, that is, low-frequency skills, and then learn scientifically as needed. This is the shortcut to learn the correct posture and adapt to the new situation and needs of the workplace in the embedded 2.0 era.

Learn the correct posture of U-boot

The same U-boot, different positions, different developers, the degree of mastery of it is different. A team is just like a special team: snipers are required to be proficient in snipers, blaster to be proficient in various blasting techniques, and messengers to master all kinds of electronic intelligence acquisition techniques. Different members of the team are proficient in different skills, and together, they can form a terrifying combat effectiveness. People's energy is limited, proficient in one technology at the same time, it is impossible to spend the same effort on another technology, learning U-boot is the same, you do not have to learn everything.

So what does U-boot learn for beginners? I think two points are enough: the startup process of U-boot and the interaction between U-boot and kernel parameters. These are the basics and are often encountered by all kinds of developers. As for the various start-up methods, some details of the underlying implementation, these original factories have been done, we can use it directly. There is the idea of software reuse in software development. similarly, in embedded system development, we should also have this idea, do not do everything ourselves, build all the wheels ourselves, especially the hardware, especially the novice! The master makes wheels, but most people use wheels. This is the rule. First learn to build cars with wheels, and then slowly learn to build better wheels. Because many hardware pits, chip internal bug, these are invisible, will not be made public, many of them are achieved through software evasion, or other means to save the nation, these things you may never know, so, if you are a novice, try not to fall into these pits, you can refer to the learning method I mentioned above.

Self-cultivation of embedded engineer

The course of "self-cultivation of embedded Engineers" is a kind of training course system formed by adapting to the needs of the new embedded era and constantly reconstructing, decomposing and redesigning the high-frequency and low-frequency skills in the embedded system. it is also a set of training courses that I will strive to build in the next few years. Students who follow this set of courses may find that the relevant courses are different from those in the current market and training institutions. Yes, this is also a small original of mine. It is the first embedded self-learning system course on the Internet that uses new concepts: high-frequency skills and low-frequency skills.

What is the power of this course? General tutorials, we learn at the end, all learn the same knowledge and skills, just like the assembly line, all come out of the same products. But the course of "embedded engineer self-cultivation" system is not like this: each person's learning intensity is different, the choice direction is different, the final result is also different: you may find it too difficult to learn, and retreat in the face of difficulties; it may be an ordinary soldier with a solid foundation; it may be a special force with stunt skills; it may also be a king of soldiers with several stunts. The difficulty intensity gradient of the course is large enough that there is no limit to your technical growth limit. It is proportional to your goal, time and energy to invest. As long as you are willing to bear hardships and work hard, you can push your potential to the extreme. It's the same challenge for you and me.

"Learning embedded with Brother Tao" will continue to share embedded technology, learning methods, learning routes, job interviews and so on. Welcome to the headline (Wechat official account): homeschooling Tribe, QQ Group: 475504428

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Servers

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report