Linux embedded learning tutorial

Time:2024-1-29


I. Preface

blogger to learn Linux has a few months, here for the majority of friends to organize the embedded linux learning knowledge, I hope to help you, of course, the blogger is just a beginner into the field of embedded beginners, there are problems where I hope you point out that we wish you all the best of luck with your studies.

Learning Preparation:

  • needC language foundation
  • ubuntu14.04 under VMware (Linux Basics – Networking), blogger is using ubuntu18.04
  • Huaqing Yuanxin FS4412 development board (ARM chapter – Linux driver chapter) – can be in theTaobao Buy Or, in the case ofHuaqing Foresight official website for leasing

Study recommendations:

  • This series of basic chapter – network chapter general, ARM chapter – driver chapter can be applied to different development boards according to the tutorial methodology
  • You can watch instructional videos about Linux before coming to this series
  • There is a lot to learn about Linux, and any one of these aspects can serve as a lifelong learning experience, and it is recommended that the learning of theOverall first and then segmentedRun in principle first

Second, Linux basic chapter

This article explains the common operations of the linux system and the use of commands, through the following five sections can have a preliminary grasp of the linux system as well as the application.

Linux] Basics of the first – linux system common commands
Linux: The Basics II-Package Management and Shell Commands
Linux: The Basics III – linux shell commands
Linux] Basic Part IV – Shell Script Programming
Linux] Basics V – linux C Advanced Programming
Linux] Basic Part VI – Makefile

After studying the six articles above, linux learning is considered to be introductory.


III. Fundamentals of data structures and algorithms

Before learning linux applications, you need to have a basic grasp of data structures and algorithms, not only for the improvement of the C language, because the later learning also uses data structures and algorithms related knowledge, of course, if you are a master in this area you can skip this down to learn.

[Data Structures and Algorithms] Inside Repair of Programs


Linux applications

This article explains the knowledge of the upper layers of Linux, after studying this article can have a preliminary understanding of the upper layers of Linux application production.

Linux] Application Part I – Standard IO
Linux] Application Part II – Standard IO Character Input and Output
Linux] Application Part III – Stream Refresh Positioning and Formatting Input and Output
Linux] Application Part IV – File IO
Linux] Application Part V – Catalogs and Libraries
Linux] Application Part VI – Process Creation and Recycling
Linux] Application Chapter VII – exec function family and daemon process
Linux] Application Part VIII – Thread Creation and Recycling
Linux] Application Part IX – Thread Cancellation and Mutual Exclusion
LInux] Application 10 – Conditional Variables and Thread Pools
Linux] Application 11 – Inter-process communication
Linux] Application Part XII – Shared Memory
Linux] Application XIII – Signal Mechanisms
Linux] Application Part XIV-Message Queues and Signal Lights

It is recommended that when studying this piece, you use moreman manual, focusing on knowledge of IO, processes, and threads.


Fourth, Linux network chapter

One of the important role of the linux system is to help us realize the TCP, IP, MAC and other network protocols, we do not have to implement specific protocols, but according to the linux system provides a function of the interface to the network development, which greatly reduces the difficulty of development.

Linux] Networking I – Networking Basics
Linux] Networking II – TCP Programming
Linux] Networking III – UDP Programming
Linux] Networking Part IV – IO Multiplexing
Linux] Networking Part V – Programming Extensions

Above is the programming on the linux system application.


V. ARM

  Before learning about linux drivers, you need to know about ARM hardware asoperating systemIt is required to be attached to hardware, and in this post, one can learn about embedded hardware.

Linux] ARM Part I-Computer Basics and RAM Processor Introduction
Linux] ARM Part II – Register Organization and Exception Handling
Linux] ARM Part III – Assembly Basics
Linux] ARM Part IV – Simple use of assembly to light up LEDs
Linux] ARM Part V – C language register packaging and running light experiments
Linux] ARM Part VI – UART serial communication experiments
Linux] ARM Part VII – WDT Watchdog Experiments
Linux] ARM Part VIII-Interrupt Experiments
Linux] ARM Part IX-ADC Experiments
Linux] ARM Part X – RTC Experiments
Linux] ARM Part XI-PWM Experiments

The point I want to make here is that a lot of things about chip hardware are universal, and it’s a lot easier to learn this one and then go on to learn stm32 or learn stm32 and then come back to learn this one.


Linux system porting

This is the driver equivalent of the short version of the driver chapter, which focuses on how to get the linux kernel up and running on hardware.

Linux] System Porting I – Introduction to Linux System Porting
Linux] System Porting Part II-Uboot Burning and Use
Linux] System Porting Part III – Kernel Installation and Loading and Cross-Compilation Toolchain
Linux] System Porting Part IV – UBoot Porting
Linux] System Porting Part V – Kernel, Device, and Root File System Porting


Linux driver

Many people say that the drive is difficult to learn, the early learning is indeed somewhat difficult, but to the back can be found, many places are the same set, so learning to have an in-depth practice of the configuration template, after the same place can be directly copy and paste.

Linux] Kernel Driver Part I – Compilation Methods
Linux] Kernel Driver Part II – Parameters and Dependencies
Linux] Kernel Driver Part III – Character Device Driver Basics
Linux] Kernel Driver Part IV – IO Models
Kernel Driver Part V-Resource Sharing and Synchronization
Kernel Driver Part VI – Kernel Timers and Memory Management
Linux] Kernel Driver Part VII – Device Tree
Kernel Driver Part VIII – Interrupt Handling
Linux] Kernel Driver Part IX – Device Models
Linux] Kernel Driver Part X-Platform Bus Driver Development
Linux] Kernel Driver Part XI – I2C Bus Driver Development
Linux] Kernel Driver Part XII – input subsystem


VIII. Linux Special

Linux] Special – GTK Interface Design
Linux] Special – sqlite3 database use


Nine, Linux project chapter

linux online dictionary project
FTP server project under linux


Linux embedded learning tutorial

Recommended Today

DML statements in SQL

preamble Previously we have explained DDL statements in SQL statements. Today we will continue with the DML statement of SQL. DML is the Data Manipulation Language.Used to add, delete, and change data operations on the tables in the library.。 1. Add data to the specified field(INSERT) 2. Modify data(UPDATE) 3. Delete data(DELETE) catalogs preamble I. […]