Learn embedded (learn embedded linux)-Linux general technology-Linux programming and kernel information. The following is a detailed description. This is excerpted from the study embedded in dafafushi.
1. Learn about linux
According to my knowledge in the forum, I chose to learn embedded linux. Our school also attaches importance to embedded linux. From the lab to the course arrangement, it is about Embedded linux, and the best time! Here I will talk about the experiences and lessons learned from linux.
In this case, I said in the forum that I learned about linux kernel. So I installed linux on my computer and started reading about the linux kernel. I remember that I bought the first version of the Linux kernel from Chen Lijun before I came to school. Now I have a second version. I started to read this article and said that the Linux kernel scenario analysis is good. I bought the next book and then I bought "deep understanding of the Linux kernel". finally, I also bought the "embedded system" of Mao decao to analyze the Linux kernel code, mainly about arm-related.
It was a very painful process to look at the kernel, and there was a way to find a way out in the forest. In the meantime, I organized some students to learn the kernel, and there were almost a few who could stick to it. I think I have persisted. In the first and second scenarios, I hardly touched the door. There are three reasons for my analysis: 1. My own infrastructure is poor, which is the most critical. 2. the kernel itself is very difficult. 3. No communication or expert advice. It was the third time that I had reached the door, and I had almost understood the general context of linux. Many details were also confusing.
To learn more about linux, I would like to declare that I am mainly focusing on embedded software. The key and difficulty of learning embedded systems lies in the operating system. If you do not know the operating system, I think it is difficult to grasp an embedded system. Even in embedded development, development at the proper layer is almost possible without knowing the operating system. I think it is superficial. It is difficult to deepen and improve your own layers. Statement: A glance! Cannot be further explored!
An extremely serious route error occurred while learning the linux kernel: I started to learn the kernel when I was not familiar with linux. I personally recommend using linux-> linxu System Programming Development ---> to develop and analyze the linux kernel. On the contrary, you can actually learn the kernel without using linux, But if you understand these things, you can learn more efficiently.
My answer to the question about whether to learn the kernel is as follows: Not necessarily. If you like to study, entering the kernel will satisfy your desires. At the same time, it will have a good impact on your future development of embedded systems. If you want to develop an embedded linux system, you 'd better understand the kernel. There is no need to develop applications. Let me give a metaphor: c, c ++, java, and other languages are the words of a Martial School in martial arts, such as boxing and cutting-edge techniques, then the linux kernel should be a response of one's internal strength.
How to Learn Linux kernel: it is best to have three treasures: deep understanding of Linux kernel, scenario analysis, and source code.
Let's take a look at "deep", which mainly focuses on principles. It seems that there is a theory in the market and it is more simple. I heard that "Linux kernel design and implementation" is good. If you haven't learned about the operating system, you 'd better read the operating system principles book first. After reading it several times, you can view the situation analysis. It is best to view it in "deep. The two documents show that "deep" is the outline and "Emotion" is the object. Finally, go deep into the code.
2. Learning embedded linux
I think there are two key points in learning embedded systems: cpu and operating system. Currently, arm is popular in the market, so we recommend that you learn arm. There are many operating systems. I am personally familiar with the people who started learning, especially those who are not specialized in computer science. We recommend that you learn ucos. It is open-source and small at the same time. Good learning. I don't want to talk too much about linux, because there are too many such problems on the Internet. However, I found that the technical route for linux is very difficult and there are almost no problems in windows, in linux development, there are almost everywhere traps. It takes a long time for you to move in and out. Once you solve the problem, you have grown! Relatively speaking, the development cycle is long and difficult. Now the information is gradually enriched, and the difficulty is also reduced!
As for how to learn, this is his special feature. There must be a development board. I was the first one to buy a learning board. Although I made money, I think it is worth it. It has a great impact on my internships and work.
If there is no development board, it will be a discussion on paper. Some people say that-sub-accounts are indeed, brothers. In the long run, it is nothing to do with your career and development! Some people say that I am standing and talking, and I don't have a back pain. Well, money has a great impact on me. I cleaned the toilet in college and scanned the toilet well. I won the 5 yuan/month prize. Have you ever been there? I believe that education investment is the most effective! I took 3 k for my internship and many took 1-2 k for my students. Of course, I also got 3 k higher than me. I have not graduated yet, but a company has signed it. He is engaged in the research and development of popular high-end consumer electronics. I think there should be a qualitative change to me that I did not know about two years ago. I would like to thank the school for collecting my waste. Of course, I also worked very hard. I don't mean to show off anything about me. In fact, it's not worth showing off at all. Although I am satisfied with my work environment and treatment, I find that I am very poor, especially in terms of code capabilities, I hope that you can play less games and program more. Programming is the truth!
3. Learning board and training
You may not be trained, but cannot buy a Development Board. If you want to learn embedded learning, you must buy a learning board. You 'd better buy a learning board named ARM9. You can run advanced operating systems. This is not a brand company. Generally, there is no problem. The board on the market is generally 2410 of Samsung's, basically copied. If it is a product, pay attention to it. The average company generally needs 2000, and LCD needs 3000 or more. I have come into contact with some boards as long as 1200, and LCD is also 2000, the difference is big, I think learning is enough.
For training, if you have the best conditions to participate, the main difference is embedded, It is very time-consuming to explore, if you have a high finger point is very good, fast progress. In particular, I know those friends. I have received training and met a friend. I have helped me a lot in my future work. Thank you! I remember an MBA student from Harvard saying that it doesn't matter what I learned at Harvard. The most important thing is that the senior managers of major companies in the future are my classmates! A foresight!
Currently, training on the market is relatively expensive, with 2000 or 3000 yuan a week. The actual amount of money is also required, and the treatment of lecturers is definitely not low. However, a fatal problem is that continuous classes may not work well for several days. I hope there will be more than 1000 yuan in society and it will take a long time, for example, one month, one week or two lessons. If no one does it, I will do it. Haha!
I did not think that I wrote so much, but I still want to write it. For example, I was very touched by how a dude from the Chinese Emy of Sciences learned the Linux kernel and read books. I admire him. I also want to introduce the book "embedded system" of Mao decao, which is very good for learning arm linux and also wants to introduce internships and work, which takes a long time and may delay everyone's time. I also don't want to check the typos! Write it here.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.