Fan Wen Daquan > Experience

Experience in learning


Embedded learning experience :

This topic is very big, giving people a feeling that I seem to be very successful, but it is not. In fact, my level is not high, or even very low, but I have done some tortuous learning paths, and at the same time express my true learning process, I hope to have a reference to the latecomers, I am very fortunate!
Work for three years, a few people!
I graduated from a science and engineering university in Central China in XX, specializing in mechatronics. I had already signed a work in a provincial office in the interior. The eight generations of the family were farmers, and they were very remote. They were able to enter such places. There is feng shui. But on the eve of graduation, there was an opportunity to enter it. I wanted to go in. The family strongly opposed it, and the resistance could be imagined. At the same time, it is necessary to pay a 4,000 yuan liquidated damages, which is an astronomical number for me. A lot of the expenses in the university are borrowed. Nearly half of the expenses are earned from work-study at the university. In order to save money, high school goes home once in one semester, and the university goes back once a year. And I personally have a special background in life. I don’t have much to say here. I can’t write ten articles and leave the subject. So I took part in the job. On the day of a newspaper with a cup of tea, there was a feeling of emptiness and panic after work. Although it is a little related to his profession at work, it is rare. Professional is almost ruined. I also think about myself. If I don’t go out, I will become a waste person and I have to let the country raise it. After two years, I decided to go out, but when I was a waste, who wanted it, I had to go to school to gilt. This is the sorrow of Chinese education and society!
As for the professional, it was changed to the computer. I heard that I was looking for a job. I said that the truth is not very interesting to the computer. Don't laugh at me, haha!

The results of the postgraduate entrance examinations exceeded the national line by dozens. There are two in that direction, I am the third, but that year is not iodine. If I don’t interview, I will rank according to the score. Naturally, I lost. In fact, it is not necessary for me to give me an interview opportunity. Haha, I know a few pounds.
Finally, transfer to another school, pay the money, bite your teeth, and pay! It is still high debts!

Why do you want to list this paragraph on the eve of entering the school?
The unit has a network, and often check the English information on the Internet. There is not much lost in English. So I checked the information on the Internet, what to learn, and finally decided to learn embedded, I heard that the hardware is relatively close! And I have learned a lot of digital circuits, single-chip computers, etc. in the university, so I have some use, I don't really know nothing about it. Of course, before that, I also learned about data structures, computer composition principles, and so on. c Language is at the university. Haha, this is my home.
I know that my foundation is poor, so I took the operating system, database, data structure, c++, the agency has this advantage, and spare time, so I usually read the book, it is very painful, no one asks.
In addition, I went online to the forum, and I went to the technical forums of various professions, which were actually electronic forums and embedded forums. I almost didn't post a message. I almost rummaged through the posts of several large famous forums. Although there are many repetitions, I know what embedded is. These posts have had a tremendous impact on my future studies.
The two most important points: 1. What is embedded?
2. What knowledge does embedded need?
Know these two points, it's easy! I started planning the learning route. The basic theory of computers can not be lost, so focus on the composition principle, data organization, operating system, c++. At the same time, the forum learned that the real-time operating system ucos is a very good embedded operating system, which is very good for beginners. So I bought a book, but the code can't be tuned in the computer. There are many same problems on the Internet. I read the book and analyze the code. I can't do it twice, three times, so I only saw it when I saw it. What is a process. When I first looked at the operating system book, I didn’t know what the process was.
I didn’t have much to master during this time, but it had a great influence on me in the future. I remembered that a classmate at the university said to me: The most important thing in college is not what you learned. The most important thing is to learn. How to learn! Probably this means.
Entering my refuge is for me, going back to university is no longer a university, but a refuge. I hope that this time will give me the opportunity and time to gasp and recharge my batteries. I think and practice this way.
I have three things at school: going to class, going to the library, going online.
For the class, the school has opened a lot of courses, very good, many are famous teachers, so many students want to learn, listen to. I also considered it and finally gave up. I think so, time is limited, I want to learn everything, I can't learn anything. So I divided my own lessons, and the general course passed, and the important ones must be learned. I hope that there is no debate about how many and fewer courses are taught. This is just my opinion. So my grades should be very poor. The score is low. Fortunately, the later units did not want my transcript, otherwise it would be miserable.
I personally feel that the efficiency of going to the library is much higher than in the bedroom. This is my experience.


Embedded learning experience 2:

At present, the most common embedded LINUX, I think about 3:
1. Embedded Linux upper layer application, including QT GUI development
2. Embedded LINUX system development
3. Embedded driver development
Learn to embed:
First, the C language should be mastered. The C language is the strongest of all programming languages. The programming of the microcontroller, DSP, and ARM-like chips can be done in C language because of its high value-shifting, high compilation efficiency, and computational speed. Fast, easy to implement more complex data structures. Upper layer application and data storage, I recommend using C++ language.
Second. Learn an embedded processor architecture, personally recommend a 32-bit processor, like ARM, because of embedded
The development of 8-bit processors seems a bit low-end, and most can only be used as a simple industrial control.
Third, learn an embedded operating system, such as LINUX, WINCE, etc. LINUX is better.
Three: ARM is a kind of microprocessor, which has been based on industrial control, consumer electronics, communication, network, wireless and other products based on
ARM technology microprocessors account for more than 75% of the market share, showing that its technology has penetrated into all areas of our lives, like mobile phones
It is developed with the ARM7 ARM9 ARM11 microprocessor technology. The most common ARM series for embedded systems, ARM7, ARM9,
ARM11, cortex-A8, etc.
We are all confused lambs who have come out of college. I learned after work that I didn’t learn anything in college, but how to learn, believe in myself, sort out my own ideas, and analyze myself according to my own personality. Suitable for development.


Embedded learning experience 3:

First, if a lot of people want to do Linux, then you should be familiar with Linux. This familiarity is not about the core, how much you know about the code, but at least the basic operation. It is very difficult to imagine a person who is very difficult to edit a text file and edit the text file to get embedded software. In short, before you enter the field of embedded, you should evaluate yourself and see if you are ready to learn embedded related things.
Second, we must be willing to spend money to buy R & D boards. If you want to be good at it, you must first sharpen it. In other words, in theory, there may be a lot of control, but if you don't practice, it can only be on paper, so you can't learn to embed. Get a R&D board to play with yourself, even if you don't understand anything, you can download the program from the manufacturer to the R&D board according to the instructions, run it, know it, and then learn through the specific learning, so you can avoid learning. Dull. At present, there are many kinds of R&D boards on the market, and the price of the same CPU board is very different, so many people do not know how to choose to buy. My opinion is to try to buy a big factory product. Because learning materials in the beginning stage is a very headache, very many times are impossible to start, do not know how to do it, then the information attached with the R & D board is very important. The technology of the big factory is relatively strong, and the attached programs can run on the board. For example, I bought the board of Youlong ST2410. The CD comes with a bootloader, a 2.4.18 core, and a cramfs. These programs are The original code is prepared or modified by the manufacturer in advance, and is completely suitable for beginners. The information of some small manufacturers that are not good enough is not complete. When we learn, we need to get the bootloader ourselves. It is very difficult to get started. However, the board of Dachang is very expensive, and everyone can choose the R&D board that suits them according to the budget, but in any case, it is worthwhile to invest in learning.
Third, don't study without any detail, you must have a clear goal. The learning plan that I started to develop for myself was: learning the arm architecture -> learning arm assembly -> transplanting the bootloader -> owning the kernel -> doing the application, but I was vetoed soon, because this process is too It is too boring to be painful, and it is impossible to progress without learning materials. So I decided to use the manufacturer's code to "play" the R&D board and make some use of it myself. First, completely use the bootloader, kernel, and cramfs from the manufacturer. Later, I found that some of the files in cramfs that control Linux initialization did not meet my needs. So I modified the cramfs, deleted the QT, modified the initial IP address of the network card, and started to try to do some application after installing it on the board. A program like hello world. Finally transplanted a mpg123 onto the board. After all, I can use some of the functions of the board without knowing the principle. When I am familiar with the board, I will go back and learn the truth. This is easier. Learning embedded is like this, depending on the problem, choose the content of learning, otherwise it will be very blind, and finally lose confidence.
Fourth, be patient. I can't deny that it is very annoying to learn a technique that I don't understand at all. The complexity of embedded lies in his crossover. In other words, in order to study an embedded problem, you may have to learn a lot of other knowledge, such as operating system, compilation, architecture, etc., then we need to have enough patience for this situation. When I cross-compile mpg123 several times, no matter how to modify the makefile, I can't compile successfully. Finally, I found that the arm-linux-gcc I used is version 2.9, which is relatively old, so I replaced it with the new 3.4.1 version. Ok.
The above are some of the simple experiences I gained from the beginner's embedded, basically based on software, I can't do it with hardware DIY. I hope my experience can give you some help.
Just the embedded version of LUPA mainly has the uboot code. Next I want to study the manufacturer's bootloader code and then transplant uboot.


Embedded Learning Experience 4: Some Experiences and Experiences of Beginner Embedded

It has been almost two years since I researched embedded systems. I am glad that I chose the embedded system as my research and career direction. It can be said that it is a catalyst, and my own cultivation and research capabilities have been greatly improved. In front of the embedded system, I can only be regarded as the step that I just saw this door, but this small distance has benefited me a lot. Now I have dedicated my center and welcome the seniors to correct me. Newcomer reference.
Before you write, you want to write a sentence first. Don't think that you are a genius. The so-called genius is the one who wins N times. If you really think that you are a genius, please ask yourself with the standard of genius, and pay yourself and others. The ratio is taken as N:1. Learning and life mentality
Many of my friends are just getting into the big school door and getting into contact with computers or others. The university is a very confusing place. You may be smug in high school, but your mind is getting better under the management mechanism of the university. How many students can find their own life in college? The goal is to be clear, don't overdo it, don't chase hot things. No matter when, my heart must have its own beliefs and ideals, don't be left alone by other things. Start with interest and competition, because this is where you generate power. When you learn something, you should let yourself like it first, you must learn to enjoy the time to learn it. You know that Joe’s *** knows that Joe’s most common saying is to enjoy the time of the game. Because only if you like it and enjoy it, you will not be overwhelmed by the pressure it generates, and you should not create a disgusting mentality. And the mentality should be adjusted, do not blindly learn, die, can play for a few days when there is no interest in learning, in the end, or in other ways to convert. It is necessary to hold a kind of mentality that can grind a sword in ten years, and start from the basics in a down-to-earth manner. Do not be confused by some phenomena of high-speed development. Those are just the merits of software. I personally think that programming, English and mathematics are very important. Everyone must grasp it from time to time. As for how to catch it, it is another matter. Of course, other knowledge should be learned. You can touch more astronomy, geography and humanities. Add something to yourself. Transforming lifestyle. To learn to live, in people's life, they will encounter some very unhappy things, or big and small accidents. The meaning of Sun Tzu's art of war is that the disadvantages will be turned into advantages on the battlefield, that is, the biggest disadvantage is very It may be your advantage. A blow to you can turn him into a driving force for advancement. You don't have to wait for a little frustration and a slap in the face, and don't have to argue for a little thing. When you are free, you can lie down and look at the sky, and you will understand that you are self-improving and ethical. . I want to help people. When others have difficulties or some of them try their best to help them within their own solution, this will not lose anything for themselves. On the contrary, they can establish your image and increase your sense of well in the other party's heart. Remember, giving people the grace is also paving the way for yourself. This world is not something that you can change by yourself. Argumentation in the language of programming language. Many beginners choose to keep up with the language of learning. I would like to ask, there are several Chinese brands that are not being defamed. I would like to ask, which film in the world is not saying anything bad about him? The profession has a specialization and each has its own duties. The emergence of each language must have its own value and scope of the field. The only difference is the value and the height and size of the field. Just like high, short, fat, and thin make up a "type." But technology is improving, and this progress is also based on the old. Rest assured, technology will not leap today, I will buckle the meat quickly, and I should always pay attention to the trend of the entire language community while maintaining a synchronous curve. What can the language do? I am very pleased to ask this sentence. It shows that you will ask such words from the basics. But in other words, you initially have insufficient information about the language survey. It is very important that the temple operator wins and understands the things around him. This can also explain that your teaching materials or the people who teach you are not enough. If it is my communication with the novice, I will spend enough time to let him know what the language is, what he can do, the whole system and so on. In this way, when you are learning, you may not be able to understand the same statement. Because you know the architecture of the language, you can use it from more perspectives. Improve your ability to read in language. How to make rapid progress? You can tell you that there is no way to go to heaven, but you can also tell you how to get you up to speed on the technology you have learned. Read more people's code, more insight into other people's thinking, give yourself more problems, more ways to solve problems, and more to connect the ideas of the language with the things around you. Think about how you mastered Mandarin, and the method is not specific. Programming thinking. Computers are tempting things. Many people say that they love computers. It's just the surface. What you love is just a kind of expansion. I am very happy to be able to learn computers, because computers in a sense have eliminated the distance of space. There is no bloodshed here, no sacrifice. You can shape it with an artist's mind, you can crack it with the logical thinking of detectives, and destroy it with a war madman's thinking. You can embody your thinking in the code and the whole layout. Don't be surprised by the different styles of other people's code thinking. You also have your own thinking style. You can also use your own code to surprise others. Remember that you have to understand his thinking more when you learn something, such as mathematics, calculus, discrete, countless theorems, you may never use it after you finish, but you may have this feeling when you meet someone When a problem is concerned, the nature of the problem is very similar to what you have learned, but in the middle it is a little worse. Right, this is an application of its thinking, an abstraction, a transformation.


Embedded learning experience 5:

First of all, I declare that I am based on the platform-level design of the embedded system. In this direction, I have a relatively speaking power in the direction of the hardware. If it is the basic skills required in other areas, we must communicate with other professional-level lecturers in our training center. In terms of their aspects, I can only say that I know something, but not too much. I can ask me about the primary question.
For hardware, there are several directions. It is simple to divide the signal into digital and analog. The simulation is difficult to do. Generally, it requires a long experience. If the accuracy of a single resistance or capacitance is not enough, the signal deviation may be large. . Therefore, young people are less engaged. With the development of technology, digital circuits have appeared in analog circuits. For example, the modem RF modules of mobile phones have adopted mature sets of chips. Only two companies in the world had this technology and felt their feelings. People with less analog functions are not suitable for this. If you can get the RF module of your mobile phone, you may have a monthly salary of 15k or more as long as you reach the general level.
The other type is the digital part. In the general direction, it can be divided into 51/arm MCU class, dsp class, fpga class. Most of the domestic fpga engineers are in the front end verification of ip core in ic design company. At the gate level, the future is not clear. Even if you are an ic front-end verification engineer, you have to work for a few years. The dsp hardware interface is relatively stereotyped. If you don't move to the driver or the algorithm, the future will not be too big. The content of the ARM single-chip class is more, the industry's products occupy a large amount, the use of a wide population, so the employment space is great, and the hardware design most reflects the level and level is the interface design, this is the senior hardware engineers pk , the basis for determining the level. The most important part of the interface design is to look at the timing, not a simple connection. For example, the pxa255 processor i2c requires a speed of 100kbps. If an i2c peripheral device is connected to it up to 100kbps, it must be connected. Lead to design failure. There are many such situations. For example, 51 MCUs can be connected to the LCD in the bus, but why can't this lcd be hung on the bus bar of the arm, and the arm7 bus can be connected to a winband sd card controller, but why? Kind of controller can't be connected to arm9 or xscale processor. These are all problems. So the interface is not a simple connection, depending on the timing, it depends on the parameters. An excellent hardware engineer should be able to design a product that is superior in cost and performance without a reference solution. With the existing solution, it is also necessary to make appropriate feasibility cutting, but it is not a mess, I have encountered To an engineer to change the 5v to 1.8v dc chip in the program, directly replace it into ldo, and sometimes burn the cpu several. A few days ago, some people hoped that I would help optimize their previous handheld programs based on the pxa255 platform. I asked about the situation, the map is in the sd card, and the sd card is used between the mmc controller of pxa255. The spi interface, which caused the map to read very slowly, is a serious flaw in the design, not a program problem, so I made a few suggestions to let them update and try again. Therefore, if you want to be an excellent engineer, you need to grasp the integrity of the system and understand the existing circuit. In other words, give you a set of circuit diagrams. You can understand how much you can understand. If you don’t understand more than 80%, you are away. Good engineers are still far away. Second is the circuit's debugging ability and review ability, but the most basic ability is the schematic design pcb drawing, logic design. This refers to the hardware design engineer. From the above hardware design engineers, you can also separate the ecad engineers, which are professional engineers who draw pcb boards, and emc design engineers to help people solve emc problems. The hardware engineer goes up to the board level test engineer, which is a good hardware engineer with a good c language. During the board debugging process, the hardware function can be verified by the test program written by himself. It is then handed over to the driver developer based on the operating system level.
In short, the hardware content is very complicated, and the hardware has become a master. I often give people a plan evaluation. Many advanced hardware engineers design things that are often negated by me, so engineers To do this, I will offend some people, but the hardware does have a lot of things that are not known, so many senior hardware engineers can't touch the mind.
Then the advanced hardware engineer technical skills must have those things, first of all to master the eda design of auxiliary tools such as protel\orcad\powperpcb\maplux2\ise, vdhl language, you can use these tools to draw the drawing board to do logic design, Then there is the interface design review ability, and the other is the debugging ability. If you can get to the overall design, you will basically become a senior engineer.
The hardware is to rely on experience, but also rely on accumulation, ten years of grinding a sword, a hundred years of grinding a needle.
I wanted to write something that I wanted to write a month ago. I finally finished it in the morning. I hope to help engineers and students who love embedded system development.

recommended article

popular articles