Home >Common Problem >Embedded Learning Route

Embedded Learning Route

王林
王林Original
2019-12-23 09:46:114832browse

Embedded Learning Route

1. Lay a good foundation for embedded software programming

This stage focuses on laying a good foundation for embedded software programming, including learning Linux Basic applications of the system, common commands of Linux, basics of C language programming, and commonly used data structures.

Especially the understanding and application of pointers in C language. The main purpose of this stage is to learn programming languages, development environments, and develop your own programming thinking, so as to lay a good foundation for further learning about embedded development.

The recommended embedded learning books at this stage are as follows: "C Programming Language", "C Language Core Technology", "Data Structure and Algorithm Analysis - C Language Description", "C and Pointers", "C Traps and Defects", "C++ Primer", as an embedded software engineer, you must also have a certain foundation in digital circuits and analog circuits

2. Learn ARM architecture programming

This stage is the real embedded programming. First, we have to choose an embedded CPU and an embedded development platform. Currently, ARM embedded CPU is the most widely used. The focus of this stage is to learn the basics of embedded CPU. Bare metal programming, familiar with the hardware working principles of commonly used embedded peripherals such as interrupts, timers, serial ports, NAND FLASH, network controllers, LCD screens, touch screens, and how to use C language to program and control these hardware.

In addition to learning hardware programming, this stage also requires learning knowledge about embedded hardware. However, for embedded software engineers, the focus is on learning the working principle of the hardware. After mastering the working principle of the hardware, Basically, the hardware is programmed and controlled. This is different from the focus of learning for hardware engineers. The corresponding school courses at this stage mainly include analog circuits, digital circuits, microcomputer principles and microcontrollers. The focus at this stage is to read the CPU chip manual. Most reference books are also translations of the chip manual. Recommended reference books are as follows: "ARM Embedded System Development - Software Design and Optimization", "ARM Processor Development Detailed Explanation of Development and Design Based on ARM Cortex-A8 Processor"

3. Learn to embed Construction of embedded system

This stage mainly studies the construction of embedded systems with operating systems, including the system startup process, Bootloader workflow, UBOOT compilation, tailoring and transplantation, embedded Tailoring, transplanting and compiling the Linux kernel, customizing the embedded root file system, and programming the BootLoader, kernel and root file system.

The main purpose of this stage is to master the construction and programming process of embedded systems with operating systems, and to have an overall understanding of the overall composition of embedded system software, which will prepare us for the next study of embedded systems. Lay a solid foundation in application and driver development. The recommended books at this stage are as follows: "Practical Combat of Building Embedded Linux Core Software Systems"

4. Learning embedded Linux application development

The main learning at this stage is Upper-layer embedded Linux application development, including Linux-based multi-process, multi-thread, network, file and directory and QT programming. Master application development technology in embedded Linux environment. Recommended books at this stage include: "Advanced Programming in UNIX Environment", "Unix Network Programming", "Quick Start with Qt Creator", "Proficient in Qt4 Programming"

Recommended video tutorials: linux video tutorial

5. Learn embedded Linux driver development

This stage mainly learns the development and design of underlying embedded Linux device drivers, including commonly used character device drivers , block device driver, LCD device driver, touch screen device driver and core technology in driver development. Recommended reference books at this stage include: "Linux Device Driver", "Linux Device Driver Development Detailed"

6. Complete a comprehensive project

Embedded Technology The key lies in the combination of theory and practice. You must be able to apply what you have learned. After completing all the above stages of knowledge point learning, have you learned it, can you use it, and can you apply the knowledge you have learned to solve problems in actual development? We need to complete a comprehensive embedded training project, such as: aircraft based on the embedded Linux platform, intelligent robots based on the embedded Linux platform, etc. These projects comprehensively apply the applications, drivers and QT development technology.

The above is the detailed content of Embedded Learning Route. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn