Embedded Linux learning method-for those who are confused (on)

Source: Internet
Author: User

To learn embedded Linux well, we must first solve two important problems:

1. What do you learn?

2. How to learn?

First, solve the first problem.

The system architecture of Embedded Linux includes two parts: Software and Hardware:

Let's take a look at the development process of a mature embedded product:

    • 1. Hardware development
    • Responsible Person: Hardware Engineer
    • Responsible part: add, modify, and delete hardware based on the EVM board
    • 2. Port bootloader
    • Responsible Person: system engineer or driver Engineer
    • Responsible part: Port bootloader to the hardware platform developed in process 1.
    • 3. Linux Kernel
    • Responsible Person: system engineer or driver Engineer
    • Responsible part: port the Linux kernel to the hardware platform developed in process 1.
    • 4. Create a root file system
    • Responsible Person: System Engineer
    • Responsible part: Make the root file system for Kernel startup
    • 5.1 business-related applicationsProgram
    • Owner: Application Engineer
    • Responsible part: development of applications closely related to products
    • 5.2 business-related drivers
    • Responsible Person: Driver Engineer
    • Responsible part: Development of drivers closely related to products, such as touch screen and wireless network card
    • 6. Function Testing, performance testing, system integration testing, lab Board (system equipment), and release

After reading the above, you should have a rough understanding of embedded Linux. Let's clarify the knowledge structure and further segment it. Let's take a look at the knowledge structure of "what to learn:

    • 1. Embedded Processor and bare metal Program
    • 2. Linux System Management
    • 3. Linux Application Development
    • 4. Linux driver development
    • 5. Linux kernel development and system migration

Next, we will collect everything we want to learn:

Processor:

1. ARM processor working mode
2. Arm System registers
3. Arm addressing
4. Arm Assembly Instruction Set
5. Arm environment C language programming
6. Arm interruption and exceptions
7. Ads integrated development environment
8. bare metal Program Development (serial port, LCD, clock, led, button ......)

System Management:

1. customized Linux Installation
2. Linux commands
3. Use samba, NFS, TFTP, and Wireshark
4. shell programming

Application Development:

1. GCC, GDB, and makefile
2. File and Time Programming
3. multi-process and multi-thread programming
4. inter-process communication
5. Network Programming
6. QT graphical Application Development
7. Android graphical Application Development

Kernel development:

1. Linux Kernel configuration and cropping
2. Linux kernel module development
3. Create a root file system
4. Process Subsystem
5. memory subsystem
6. proc file system
7. System Call
8. kernel Timer
9. kernel exception Analysis

Driver development:

1. Character Device Driver
2. Bus, device, Driver Model
3. Hardware Access Technology
4. interrupt handling
5. Input Device Driver
6. Platform driver
7. PCI and USB Drivers
8. NIC Driver
9. Touch Screen driver
10. Serial Port driver

 

 

References: Embedded Linux in China

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.