How to learn embedded Linux course quickly?

How to learn embedded Linux courses fast? What are the courses to be taken for embedded? Embedded is summarized in one sentence as writing programs to control hardware with software. Embedded application areas are very many. Smart home, smart agriculture, smart medical and so on all belong to embedded. Then embedded how to learn?

1. C language

Top-down learning starts with writing code, writing user applications. Each language is used for a different purpose, and the embedded language is C.

So the first step is to learn the basic syntax of C. The C library provides a large number of functions that we can call in order to realize some functions. So also familiarize yourself with the common functions of the C library.

The C language must be learned well, it is the foundation. most of the Linux kernel is also implemented in C language.

2. Basic use of Linux

In the process of learning C, you can properly learn the basic use of Linux system. You may not have heard of Linux, but you must have heard of windows, the system has a lot of **** common place. You can compare and contrast the understanding in the learning process.

And the Linux system provides the editor gcc for C language, you can compile and run the code on the system after writing it on the system, in this way, you are familiar with the use of Linux system at the stage of learning C language.

3. Data Structures

When you have finished learning the basic syntax of C, at this point your level of C is only introductory. You also have to learn a course with no new knowledge ---- data structures. This course is the extensive use of pointers, arrays, structures, functions. Only after this stage you can be considered to have mastered the C language.

And later in the process of learning the kernel, the kernel is also a large number of chain lists and other data structures.

4. Kernel

At this point, we're going to move down to the kernel of the system, which consists of the following parts: process management, memory management, network stack, virtual file system, device drivers, and so on.

The kernel is the most important part of a system. To really recognize it requires you to accumulate it step by step. At this stage, we recommend that you first learn file IO, process threads, and network programming in turn.

5. Device Driver

Driver is the bridge between hardware and application program, if an application program wants to operate the hardware, it must have a driver.

Summary in one sentence: the driver is based on the corresponding hardware, write a driver as a call interface to the user, the user can use the interface to achieve the purpose of controlling the hardware.

Secondly, in the study of the driver, we will slowly learn the kernel. Various modules of the kernel, kernel source code and so on.

6. Hardware

For an embedded engineer, it is enough to be able to read the circuit diagram. That is, only need to master the basic knowledge of the circuit, read the circuit diagram. As for the development board drawing, wiring, corrosion, welding and other steps, you can not have to study in depth. These skills belong to the requirements of hardware engineers.

In addition, a programmer bilingual is very important, you learn the process-oriented C language, it is recommended to master an object-oriented language, can be c++, java or python can be.

Secondly, you have to realize a complete project alone, UI interface part is essential. You can use qt, web or mobile to make the page. This can make your do-it-yourself project more complete.

Lastly I would like to say that learning cannot be done quickly. Any learning needs to be down-to-earth and sink your teeth into hard work, and I wish you success in your studies. Embedded development to learn, probably the above.