Home Common Problem Embedded Learning Route

Embedded Learning Route

Dec 23, 2019 am 09:46 AM
learning route Embedded

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 of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Which one has better prospects, Java or embedded? Which one has better prospects, Java or embedded? Oct 24, 2023 am 09:32 AM

Java and embedded systems are both very important technical directions in the computer field, and they each have different application scenarios and development prospects. Below I will analyze the prospects of Java and embedded systems from the aspects of job market, technology development, industry needs and development trends.

Using C++ to realize remote control function of embedded system Using C++ to realize remote control function of embedded system Aug 25, 2023 pm 05:24 PM

Using C++ to realize the remote control function of embedded systems With the rapid development of the Internet of Things, embedded systems are becoming an indispensable part of our daily lives. For developers of embedded systems, how to implement remote control functions is an important issue. Using the C++ programming language, we can easily implement the remote control function of the embedded system. This article will introduce how to use C++ to write code to implement this function, as well as give some sample code. First, we need to prepare some hardware equipment. As an embedded system,

SPARKLE launches Intel Arc embedded graphics card, providing support for up to 5 years SPARKLE launches Intel Arc embedded graphics card, providing support for up to 5 years Apr 22, 2024 am 11:52 AM

According to news from this site on April 22, SPARKLE Technology announced the launch of Intel Arc embedded graphics cards, including PCIe versions of A310E, A380E and MXM versions of A350E and A370E graphics cards, with a commitment to support services for up to 5 years. SPARKLE Intel ArcA380E Graphics Card IA30GC-TN4E This graphics card has a TBP (note on this site: TotalBoardPower) of 75W. It adopts a dual-slot single-fan design, 6GBGDDR6 video memory, provides 1 HDMI and 3 DisplayPort interfaces, and has 5-year support services. SPARKLE Intel Ruixuan ArcA380E half-height graphics card IA30GBL-TN4E this half-height graphics card T

Chai Mi's first 28cm ultra-thin design! Embedded sweeping and mopping robot SpaceMaster Master series released Chai Mi's first 28cm ultra-thin design! Embedded sweeping and mopping robot SpaceMaster Master series released Oct 21, 2023 pm 05:17 PM

Thanks to technological innovations in the intelligence and cleaning performance of sweepers, integrated sweeping and mopping robots have increasingly become a key new appliance standard in global home decoration in recent years, and their trend of being front-loaded and embedded in home decoration has become more obvious. In order to promote the progress of the industry and help consumers solve core pain points such as embedding and water and electricity renovations, Zhumi Technology, as the world's leading brand of smart cleaning appliances, recently brought a new way of solving problems and innovatively launched a new product with a height of only 28cm. Ultra-thin base station embedded sweeping and mopping integrated robot - Space Master Master series (hereinafter referred to as "Zhunmi Space Master Master Series"), this product combines five major Chumi pioneering technical advantages and cutting-edge embedded design concepts to achieve a leading position in the world. The upgrading and leap of the industry will help more families realize their

How to learn PHP development? How to learn PHP development? Jun 12, 2023 am 08:09 AM

With the development of the Internet, the demand for dynamic web pages is increasing. As a mainstream programming language, PHP is widely used in web development. So, for beginners, how to learn PHP development? 1. Understand the basic knowledge of PHP. PHP is a scripting language that can be directly embedded in HTML code and parsed and run through a web server. Therefore, before learning PHP, you can first understand the basics of front-end technologies such as HTML, CSS, and JavaScript to better understand the operation of PHP.

Arduino responds to the impact of the end of support for the embedded system Mbed: an alternative has been found and the first beta version will be released before the end of the year Arduino responds to the impact of the end of support for the embedded system Mbed: an alternative has been found and the first beta version will be released before the end of the year Jul 26, 2024 am 11:32 AM

According to news from this website on July 26, Arm issued an announcement on July 9, announcing that it will terminate support for the open source embedded operating system MbedOS in July 2026, and will no longer continue to maintain it. At that time, the Mbed website will be archived and will no longer be available. Build projects through online tools. This news caused widespread discussion in the embedded development community and affected Arm-supported projects such as micro:bit, Arduino and Raspberry Pi. The Arduino company published a blog post on July 24, stating that it started looking for alternative solutions a few years ago, so it joined the Zephyr project in 2023 and became a silver member of the project, and found a good alternative in ZephyrOS. Ardu

Aetina launches Arc A380E embedded graphics card: single-slot, half-height design, 50W power consumption Aetina launches Arc A380E embedded graphics card: single-slot, half-height design, 50W power consumption Apr 26, 2024 am 08:04 AM

According to news from this website on April 25, Aetina, an AIoT equipment manufacturer, today launched the Intel ArcA380E embedded graphics card with a single-slot, half-height design, model IA380E-QUFL, and provides a five-year long-term product supply commitment. This graphics card uses the Intel ArcA380E core, with 8 Xe cores and 128 Intel XMX cores, with a base frequency of 2000MHz and an acceleration frequency of 2250MHz. It has 4.096TFLOPS computing power and supports hardware ray tracing. It is equipped with 96bit wide 6GBGDDR6 video memory and is suitable for edge applications. Visual computing and artificial intelligence reasoning. This graphics card adopts a half-height single-slot design, consumes only 50W, and can draw power directly from the PCIe slot without external power.

Go Embedded Applications Go Embedded Applications Apr 08, 2024 pm 02:42 PM

Embedded Applications in Go The Go language is suitable for the development of embedded applications, which usually run on constrained devices. To get started, you need to install the Go toolchain and TinyGo compiler. The embedded Go application code structure includes main.go (entry point), board.go (hardware board code) and app.go (application logic). TinyGo supports cross-compilation to various embedded hardware boards, such as Arduino UNO. As an example, an application written in Go can blink an LED on an Arduino UNO.