1. Linux Basics
Install Linux OS Linux file system linux common commands Linux startup process detailed understanding Linux services can install Linux operating system independently of Linux systems familiar with the Linux system common services install Linux OS Linux Basic command Practice setting Linux environment variables customizing Linux services Shell Programming Basics Use VI Edit file use Emacs Edit file Use other editors
2. Shell Programming Basics
Shell Profile Understanding the background Program Bash programming familiar with Linux system editing environment familiar with Linux under the various shell proficiency in shell programming familiar with VI basic operations familiar with the basic operations of Emacs compare different shell differences Write a shell script that tests whether the server is connected, write a shell script to see if the process exists, write a shell script with a looping statement
3, Linux under the C Programming Foundation
Linux C Language Environment Overview GCC usage method gdb Debugging technology autoconf automake Makefile code optimization familiar with Linux system development environment familiar with the GCC compiler familiar with the Makefile rule writing Hello,world program using make Command compiler writes a program with a loop to debug a problematic program
4, Embedded System Development Foundation
Embedded system Overview Cross-compile Configure TFTP service configure NFS service download bootloader and kernel embedded Linux application software development process familiar with embedded system concept and development process build embedded system development environment make CROSS_GCC tool chain compile and download u-boot Compile and download Linux kernel compile and download Linux application
5. Embedded system porting
Linux kernel code Platform-related Code analysis arm platform introduces the key technology of platform porting porting Linux kernel to arm platform understanding the concept of porting can migrate Linux kernel porting Linux2.6 kernel to ARM9 Development Board
6. Embedded Linux serial Communication
Basic concepts of serial I/o the embedded Linux application software development process Linux system files and devices related to file system call configuration HyperTerminal and minicom can be familiar with serial communication familiar with file I/O Programming serial Communication program to write multiple serial communication program
7. Multi-process programming in embedded system
Linux system process Overview The process characteristics of embedded systems Process Operation Daemon Related system call understanding the concept of processes in Linux systems can write a multi-process program write a multi-process program write a daemon program sleep system call task management, synchronization and communication Linux Tasks overview task scheduling Pipeline signal Shared Memory task management API Understanding Linux System task management mechanisms familiar with interprocess communication familiar with the synchronization between tasks in embedded Linux and communication writing a simple pipeline program to implement file transfer write a program that uses shared memory
8. Multithread Programming in embedded system
Thread Basics Multithreaded Programming method synchronization problem in thread application understand the concept of threading to write a multithreaded program
9, embedded Linux network programming
Network Basics embedded Linux TCP/IP network structure common API function analysis of socket programming implementation of PING commands basic UDP Socket Interface Programming license Management PPP protocol GPRS understanding embedded Linux Network architecture can carry out SOC in embedded Linux environment Ket programming familiar with UDP protocol, PPP protocol familiar with GPRS use socket to write proxy server write router with socket write license server point out the pros and cons of TCP and UDP write a Web server to write a network player running on the arm platform
10. GUI Program Development
GUI base Embedded system GUI type compiling QT for QT development familiar with embedded system commonly used GUI can do QT programming using QT to write "Hello,world" program debug a Join signal/slot instance to handle events by overloading Qwidget class method
11. Linux Character Device driver
Device Driver Basics Linux Module character device driver analysis fs_operation structure Load driver Understanding the concept of device drivers understanding the Linux character device driver structure can write character device driver write skull driver write keyboard driver write I/O drive Analysis of a watchdog driver comparison between the Linux2.6 kernel and the 2.4 kernel character device-driven different Linux block device driver block device driver Working principle typical block device driver parsing block device read-write request queue Understanding Linux block device driver architecture Ability to write simple block device drivers compare the similarities and differences between the character device and the block device to write an MMC card driver analysis A file system comparison between the Linux2.6 kernel and the block device driver in the 2.4 kernel
12. File System
Establishment of file system of virtual file system Ramfs Memory file system proc File system Devfs File System MTD Technology Introduction MTD block device Initialization MTD block device read-write Operation Understanding Linux System File system understanding embedded Linux File System Understanding MTD technology can write simple File system for the ARM9 Development Board add MTD Support porting JFFS2 file system modify operating system parameter analysis by proc file system Romfs file system source code to create a Cramfs file system.
Summary: Although the mastery of one of these methods, you can quickly embedded Linux development, but the above technology to master, it is not an easy thing