Introduction to ARM-based embedded Linux

Source: Internet
Author: User

Make up your hand to write an embedded article and talk about my learning process. Hope to help you.

I want to introduce the background. Do I learn computer science or professional training. In the sophomore year, I went to the Software Institute, and then I took an undergraduate course. That is to say, I learned application-oriented development and Java for a year and a half, they are all high-level development and have no knowledge of the underlying layer. At that time, I had no knowledge of operating systems and composition principles. Fortunately, I was still motivated, mainly due to my interest. I had a good understanding of computers, therefore, I have accumulated a lot of operating system knowledge and programming ideas. In my undergraduate course, I have courses on operating systems and composition principles. It is easier to learn because of my accumulation. During the summer vacation that ended in my junior year, when everyone was busy with postgraduate entrance exams, I felt like I was a beginner in the embedded field.


Start.

Sprout: I was so young. First, I was very interested in smartphones, which deepened my understanding of operating systems. When I was in high school, I started to hear people say that smart phones are awesome, so there is no need to transcode movies, and there is a background. At that time, I was full of fantasies, and I always paid attention to the new Dopod mobile phones, at that time, most people did not know the brand of HTC or HTC, but I was watching it silently. After graduating from high school, I ran to Zhengzhou with over 2000 yuan of accumulated money and bought a Dopod c730, the HTC e650, the world's first mobile phone carrying windows mobile6.0, the numeric keyboard + slide QWERTY full keyboard (there were few smartphone users at the time, although the smartphone was suspended now, it was still very high), this phone is enough for me, I also learned about clock speed, WiFi, Ram, Rom, Flash, SPL, and windows.
Mobile ...... And other knowledge. At that time, my brother used the Nokia transformers 5700. He also learned that Symbian has no powerful mobile system. Although I have a hobby in this area, I am only interested in accumulating relevant knowledge in my spare time. I did not have any relevant knowledge in terms of learning. Fortunately, I chose Java as my major and got started with the knowledge of corner stone.


Impulse: the real decision to learn this is still influenced by the first summer vacation. I went to school early in the summer of my freshman year, but I didn't start school yet. I was bored and went to the teacher's office to turn around. I saw Kuan Ge (one of my data structure teachers was cool) put this thing on the desk, the circuit board, there are a lot of interfaces, there are a lot of lines connected to the computer, I was attracted, asked the teacher to know this thing is called arm, I have been thinking about this for many days. When I left the office, I started to look up relevant information and found out what arm is, application direction, and related brief knowledge. I was unable to extricate myself. I was very excited and excited, and I was not very fond of money. At that time, I thought that I would also want to buy a board. In fact, for the time being, 2440 of boards + jlink were more than 600, less than 700. It is not a small investment, especially for MCU (I didn't know what it was at the time), because it is too expensive than MCU, fortunately, I took a scholarship of 3000 yuan that semester, and I met another guy in the online group to buy a board. I bought it 20 or 30 cheaper than myself, so I bought it decisively. I was watching arm before I bought it.
The Linux video is about how Linux processes are created, scheduled, and managed in memory. It can be understood but cannot be remembered, because it is exactly what it uses, it will take a while to remember the knowledge points. When I got the Board, it should be the next semester of my sophomore year. At that time, I didn't bring a computer. I connected the board with a friend's computer's Super Terminal, looked at the serial output, and then went home on May Day, then we put the board at home. I also want to take this exam, I have been learning English and mathematics, and I am still working on my own operating system, because it is very boring to study only two courses, and I study on my own every day. Over the past six months, I have also begun to engage in philosophy, and my thoughts are gradually being sublimated.


Put on hold: It takes half a year for this board to be put at home. It takes half a year to complete the examination at the college entrance, and to the summer vacation of the sophomore year. I have been keeping it, but I have never forgotten it. After all, I bought it for 600 or 700. I will still be there if I have nothing to do. Let's look at it on the QT interface. At that time, I may choose to give myself two years to learn this.


Continue.

In my junior year, I changed my school, graduated from college, and went to my undergraduate course (PS: our specialist for two years ). I thought that since I had chosen it, I had to go on. So I bought the pirated book "embedded Linux application development full manual", and the book + freight was only 35. In addition to normal classes, I will take some time to read the books. But to tell the truth, I read the books, but they all seem to be understandable. In the first half of my junior year, I had a very fast experience and had no growth. Fortunately, I offered C ++, operating system, and composition principles, which was very helpful for later studies.


In the third phase, there was plenty of time, because during the winter vacation, I read an electronic book "Linux kernel design and implementation" and read a few images, which is easy to understand. Because I have realized that ARM embedded and Linux are inseparable. After the school started, the library of our school had this book. After receiving the book, we read the unread chapters. I also read the book "embedded Linux application development full manual", but I don't have the knowledge of microcomputer interfaces, which is still very confusing. I burned the system several times on the Development Board and wrote a program to light up the LED. This is the case. The next semester has passed, although there is not much progress, but some details have grown, after all, something happens inadvertently.
"The real speed is invisible, just like the rising wind and the rising sunset, like you don't know when the leaves turn yellow, and when the baby grows its first tooth, it's like you don't know when you will fall in love with her."


Evolution.

My junior and summer vacations are crucial to postgraduate entrance exams. After a long struggle, I still haven't decided to take a postgraduate entrance exam. This summer vacation is equally important for those who do not take a postgraduate entrance exam. I have spent more than 20 days rereading the two books mentioned above-embedded Linux application development full manual and Linux kernel design and implementation. it's amazing. This time it's all clear. It may be at that point. You should have it. So we started to compile the kernel and transplant the root file system. Hurry up, just like playing the Red Police. It was black at the beginning, and we were exploring the road at. What we found was a little bit, not a whole piece of data. Later, we built a radar, all of a sudden, the map is connected. In addition, I found that the knowledge in the book is basically the same as that in the computer interface, except that I changed the arm to 8086. peripherals, bus, and serial communication are similar to each other. This is also very helpful for the micro-computer interface course this semester, and it also interacts with each other. It will be helpful for the subsequent driver development.

Quick Start.

Senior, I have a preliminary understanding of Embedded Linux development and an introduction to the development process obtained from online friends. Now I should be an entry-level. In my opinion, getting started is not only the establishment of a knowledge system, but also the ability to predict the industry and market conditions, as well as thinking about the development trend. Up to now, I am positioning the development of mobile smart terminals. Because the mobile Internet era has arrived, the mid industry has also begun to "Flood ", in addition, this is more attractive to me than industrial control, monitoring, routing, or Iot. Therefore, we have just begun to strengthen Android development knowledge and drive development. Java is my strength, and kernel is my love. Android integrates them perfectly and conforms to the development trend of the mobile Internet. What hosts do you see?


From software to hardware is a long process. If you really understand it, you will find that this is the case. You can write the corresponding control register to control the hardware action. It mainly refers to the compilation of control logic. The details of these control logic are the driver. If you do not need to run the OS, It is a bare-metal driver. You only need to provide a single interface. If you want to run the OS, you just need to implement the corresponding mechanism and method according to the standard interface of the OS. Originally, the amazing and awesome driver development began to become increasingly clear, in fact, the same.


Learning suggestion: like the postgraduate entrance exam, reading many books is important, but it is more important to thoroughly read Basic Books, you will find that the knowledge of other books is similar, and it looks more handy. There may be no clue at the beginning. Embedded is a cross-discipline, but the knowledge system is huge. Like me, there was no hardware knowledge at the beginning, and there is not much knowledge at the moment, it depends on the data sheet of the chip. It depends on the circuit diagram of the Development Board. In fact, this is the case and you will understand it slowly. Stick to it. Interest is also the biggest motivation for learning.

Chatting with friends a few days ago, he still talked about learning this. He chose the postgraduate entrance exam. I started to get involved in this field under my influence. At that time, he said a good sentence: "Now you are studying so hard, the biggest motivation is the development prospects of embedded systems ". Yes, that's it. If you predict it, stick to it and never regret it.


In addition, interest is definitely the first motivation for learning. You need to cultivate your interest in this course and try to understand it in an all-round way, some irrelevant information will help you in later learning. Keep yourself curious. the more curious you are, the more exploration you will be. For example, if you take a USB flash disk to test the film, you accidentally find that a flash is printed on the flash disk. What do you think flash is? Is it related to the flash of webpage animation? Suddenly, you found that the memory card on your mobile phone was printed with a flash sign, and even a class
2. or Class 4 ...... You are not calm down. You may not be able to sleep if you do not understand this problem. So you search online, and then you have accumulated knowledge about NAND Flash and nor flash, even lucky, you will see Ram, SRAM, Rom, EPROM, EEPROM ...... . Then you don't even pay attention to these things. However, when you look at the embedded or composition principle and Microcomputer Interface courses, you will find that you have seen these terms, in this way, you don't have the inexplicable panic of others when you see a large number of nouns. Then you answered the teacher's question quietly: "These seem to be memories implemented by different technologies "...... A group of students who are still confused about the truth think that you are the master who has been addicted for many years and start to move closer to you, by the way, I asked you a question that you saw the previous day. You can easily explain it to him ...... From then on, he thought you were amazing. If you had any problems, he would first come to you and tell others about your strength. More people will come to ask you for something, at the same time, you learn a lot of new knowledge passively (after all, one person encounters fewer problems than 10 people, and there are also less diversified problems )... Since then, you have been passed on as a success story ...... In fact, a good student is doing this. What you learn is to take a small step ahead of others, and then others will wish you success. At the same time, if you are patient and kind enough, you will make a large number of intimate friends. If you don't believe me, that's how I came along. When I got to college, I learned how to learn and learn it spontaneously. Now I am very grateful for your efforts. Remember that you are actually amazing. You are no worse than others...


If you have any questions, you can communicate with each other. It is very important to have a partner on the way to learning. Haha, I would also like to thank Mr. Li for his patience in answering my questions, communicating with god Tony many times, as well as reading and recommending me to your younger brother to exchange ideas, thank you for your help .....


This is the process I have experienced and I hope it will help you.

Contact Us

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.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.