Secondly, you should know something about the operating system, which will definitely help you understand the hardware and software. We need to understand the management of the system, such as processes, threads, how the system allocates resources and how the system manages hardware. Of course, these can be read thoroughly without reading a book. If you can't understand them at the moment, it doesn't matter. Read more books and combine your future project experience, and you will have a better understanding.
It is also necessary to learn the programming of embedded systems, such as linux or wince, which is very helpful for future application programming. Of course, if you are a mobile phone user, you can learn operating systems such as MTK, Saipan and Android. Android is the future development trend, and it is very popular now. Android is also packaged based on linux system, so it is recommended to learn linux first.
Also, I want to learn from MCU or ARM or MIPS. Many people say that I have no experience in single chip microcomputer, can I learn ARM directly? I think that's no problem at all. Of course, if you have studied single chip microcomputer, it is best. It will be easier to learn ARM in the future.
Finally, if you know all the above knowledge, you should read some excellent codes, such as learning the source code of UBOOT in combination with the arm chip manual and understanding the minimum system development, which is very helpful for your entire embedded development. If possible, you can also learn the source code of linux. Of course, if you look directly at the code of 2.6, I think you will be very painful. You can look at earlier versions of linux code, such as 0. 12 code. Although the sparrow is small, it has all aspects. If you read it all, then I think you are a very successful embedded engineer.
I saw a good article about how to learn embedded from scratch. It is a junior college student who introduced how to learn embedded from scratch and found an embedded job. This paper introduces his learning method and process, hoping to help you.
The integration of college students' learning into the whole process of job hunting-an example of learning
Let me introduce myself first. In 2007, I was admitted to a poor private college, majoring in biology. I won't say the specific name of the school. Dropped out of school in 2009. I'm in that school, and the annual tuition is more than 1000, but no one studies at all. I really didn't see any hope, so I dropped out of school.
After dropping out of school, I was also confused. I didn't graduate from junior college. I really don't know what I can do. I'm struggling with what I can do. So I want to find a job for a while after dropping out of school, because I am quiet and quiet, so I am not suitable for applying for entrepreneurship. I want to apply for a job as a technician, but I hit a wall everywhere.
By chance, I heard about the embedded industry. I went to Xinhua Bookstore that day and wanted to find a book to learn computer classification. Later, a girl came up to me and asked me if I studied computer and if I was interested in learning embedded system. Then she introduced me to the hot situation of embedded system, told me how promising it is to learn embedded system, and gave me a leaflet and an advertisement for embedded training. After listening to her introduction, I felt itchy. Indeed, I really want to learn my own skills and eat with my own hands.
After returning home, I checked the embedded system online. Now it is really a hot industry, and it is easy to find a job and the salary is relatively high. I made up my mind to learn embedded technology. So I went to find the information of embedded training. To tell you the truth, I was confused at that time, too. I don't know whether the training can really be as good as they advertised, so I just want to know for a while before making plans.
Later, I learned in Baidu that I saw an article "How to Learn Embedded", which was very encouraging. It was an embedded expert who introduced how a friend who had no foundation taught himself how to embed. The article is well written, including how to learn and how to learn. He mentioned that one way is to watch videos, because reading books is so boring and confusing that we can't understand many books. I really agree with this. Often a person can't read a few pages.
I wonder why others can teach themselves, so can I! I want to believe in myself, so I want to teach myself. If I really can't learn, I'll go to training again.
If I have a clear idea, I will search embedded video. Although I found some embedded videos sporadically, they were not systematic. I want to find a video that can tell me how to learn, a set of videos from beginners to skilled ones, and a relatively complete material. I'd better have a teacher to teach me, but I can ask if I don't understand.
Later, I found a very good video, which is a video "Learning Embedded from scratch" launched by Embedded Learning Network. Website:/evem.htm. The tutorial inside is good and complete, which also allows me to learn from the basics. The video is not cheap, but I put up with it. After all, it costs hundreds to buy a few books, what's more, they have technical consultation and service for half a year, which is worth it.
Let me introduce my learning process, hoping to help my friends who have no foundation at all like me.
After receiving the CD they sent me, I began to study. Because there is no foundation, I start with the simplest C language video course. In short, there are still many things I don't understand, so I have to ask them. They were still very enthusiastic and helped me solve it. I studied C language for almost a week, and then I learned the basic commands of linux. I practiced on the linux virtual machine provided by them, typed the basic commands of linux, and wrote simple C language code for almost three weeks. I insist on writing some simple codes every day, so I basically mastered the basic operations of C and linux after January.
Next, I went to learn other people's video training courses, which are very complete and not much different from attending training. It seems like two months. I learned the basic principle of ARM and the concept of embedded system, and also mastered the construction of some embedded environments. I also have a deeper understanding of linux and how embedded applications are done, but I only have a little knowledge of drivers. This is more difficult. I want to chew it slowly in the future.
In these two months, I have been studying almost all the time except eating and sleeping. Because I know that I have almost no foundation and am worse than others, I can only continue to work hard and can't give up. I have to support myself, and I must learn this technology well. And ask me what I don't understand. I really appreciate their technical customer service patiently answering any questions I have. I ask them a few questions almost every day, and then write down the questions I don't understand. After a period of time, I find myself really getting started.
In the last month, I went to see the content about practice, and learned about the specific development process of embedded projects and what kind of knowledge is needed. I began to prepare this knowledge, that is, to learn this video. At the same time, they suggested that I find some embedded interview questions to prepare for future job hunting. I went online to find many embedded topics and wrote them down. It took me about 20 days to prepare.
I think I'm getting started, and I can make some simple things. I just want to find a job, so I went to 5 1job to submit my resume crazily. Because of my education, I didn't graduate from junior college. Seriously, no one in the big company wanted me, so I invested in a small private enterprise. I hope my efforts will pay off. I didn't expect an interview in a few days, and the first interview failed. Although I think the written test is very good because of the preparation before, their requirements are strict and need one year's project experience, so I was not selected.
Later, I interviewed several companies one after another, and finally it was worth it. Finally got an interview with a private company in Minhang. This company is relatively small. My post is embedded linux application development and security product application. I think I'm lucky, too. The manager attached great importance to my efforts and decided to hire me. The salary is 3500 a month. Although I know that 3500 can only live a life of food and clothing in Shanghai, I think I have enough. At least I don't have to rely on my parents every day. I can support myself. I think as long as I keep working hard, my salary will definitely double.
I write this article in the hope of giving confidence to friends who have no foundation like me. In fact, we don't need to feel inferior. We are no more stupid than others. We will succeed as long as we are willing to work hard.
Finally, I wish all friends who want to learn embedded systems get started early!