embedded barrier is high and difficult, but the development prospects of embedded are still very good, which is also the reason why everyone chooses embedded. However, the correct learning steps are still very important for newcomers. Let’s take a look at the embedded learning steps.
There are really a lot of things to learn for embedded Internet of Things. Don’t learn the wrong route and content, which will lead to a lack of salary!
Free sharing of everyone a data package, almost 150G. The learning content, articles and projects are relatively new and comprehensive! It is estimated that it will cost at least dozens of fish to buy.
Click here to find the assistant to get 0 yuan:
Before learning embedded Linux, you must have a basic C language . It doesn’t matter whether there is a basic assembly (there are only a few assembly instructions, and you will see it after you use it). How much do you need to learn C? The more you are familiar with, the better. If you are not familiar with it, you must also have basic skills. For example, write an array sort, enter numbers to sum. The only way to learn C language is to write more programs and practice more. It doesn’t matter if the compilation errors are made, solve them yourself; it doesn’t matter if the execution errors are made, analyze them yourself. In the past, I used to practice C language using VC and often tried to write some questions about C language competitions. They are pure C, pure mathematics, and pure logic questions, and do not involve interfaces, and are very suitable for fostering your programming skills.
Back to the topic, first of all, we need to understand what your purpose is. Generally speaking, the so-called embedded Linux can be divided into two parts: underlying system and application development. If you want to do application development, then you can learn C language, data structures, JAVA and so on. There is nothing special to pay attention to in embedded application development and application development on PC. Maybe you said you need to do some optimization on embedded, yes, optimization, but there is no difference between unoptimized programs and program development on PC. Also, when you have the ability to optimize, you no longer need to ask this question. For a specific example, for example, the development interface, we use VC on PC; in embedded Linux, we may use QTh or Android. At this time, you should learn QT and Android programming. But the basics are still C or JAVA, and you can be familiar with their interfaces on this basis. If you have learned VC, you have to spend time understanding the classes and controls.
For beginners' embedded learning steps:
First lay two foundations:
Circuit basics: familiar with digital circuits, can understand circuits, can analyze functions, and can program according to circuits;
C language basics: you need to be proficient in learning, not well learn, and can't even understand after going to the system program; master the use of arm architecture and its peripherals, program control, and do corresponding projects; learn system programming and network programming, and use in applications.
linux system learning: uboot migration, kernel transplantation, cropping, root file system production, driver writing and porting (spending a lot of effort to learn, it is the core of the system and also combines hardware), application programming user interface, etc.
First do system programming or application programming. After having some experience, you can develop into the underlying driver; after rich experience in software projects, you can develop into hardware circuit design.
Overall, pure application development (such as Java) has a low threshold, but it is updated too quickly and has limited development space. The life cycle of is too short; while embedded development is accumulated through experience and does not have to eat "youth".
The above introduces the steps to learn embedded. It is difficult to get started with embedded, but if you are a beginner, don’t be too anxious when learning embedded. This is a gradual process. After you understand embedded, these are not problems.
for (i = 0; i 8; i++)
{
SetData((data i) & 0x1);
SetClockHigh();
for (j = 0; j 5; j++);
SetClockLow();
for (j = 0; j 5; j++);
SetClockLow();
for (j = 0; j 5; j++);
}