嵌入式Linux的開發(fā)是Linux領域的一個熱點。 目前,Linux占成功開發(fā)嵌入式系統(tǒng)的一半以上。 那么,如何開始,如何加深對嵌入式Linux開發(fā)的學習呢?
學習步驟如下:
1、Linux 基礎安裝Linux操作系統(tǒng)Linux文件系統(tǒng)Linux常用命令Linux啟動過程詳解熟悉Linux服務能夠獨立安裝Linux操作系統(tǒng)能夠熟練使用Linux系統(tǒng)的基本命令認識Linux系統(tǒng)的常用服務安裝Linux操作系統(tǒng)Linux基本命令實踐設置Linux環(huán)境變量定制Linux的服務 Shell 編程基礎使用vi編輯文件使用Emacs編輯文件使用其他編輯器2、Shell 編程基礎Shell簡介認識后臺程序Bash編程熟悉Linux系統(tǒng)下的編輯環(huán)境熟悉Linux下的各種Shell熟練進行shell編程熟悉vi基本操作熟悉Emacs的基本操作比較不同shell的區(qū)別編寫一個測試服務器是否連通的shell腳本程序編寫一個查看進程是否存在的shell腳本程序編寫一個帶有循環(huán)語句的shell腳本程序3、Linux 下的 C 編程基礎linux C語言環(huán)境概述Gcc使用方法Gdb調試技術AutoconfAutomakeMakefile代碼優(yōu)化 熟悉Linux系統(tǒng)下的開發(fā)環(huán)境熟悉Gcc編譯器熟悉Makefile規(guī)則編寫Hello,World程序使用 make命令編譯程序編寫帶有一個循環(huán)的程序調試一個有問題的程序4、嵌入式系統(tǒng)開發(fā)基礎嵌入式系統(tǒng)概述交叉編譯配置TFTP服務配置NFS服務下載Bootloader和內核嵌入式Linux應用軟件開發(fā)流程熟悉嵌入式系統(tǒng)概念以及開發(fā)流程建立嵌入式系統(tǒng)開發(fā)環(huán)境制作cross_gcc工具鏈編譯并下載U-boot編譯并下載Linux內核編譯并下載Linux應用程序嵌入式系統(tǒng)移植Linux內核代碼平臺相關代碼分析ARM平臺介紹平臺移植的關鍵技術移植Linux內核到 ARM平臺 了解移植的概念能夠移植Linux內核移植Linux2.6內核到 ARM9開發(fā)板5、嵌入式 Linux 下串口通信串行I/O的基本概念嵌入式Linux應用軟件開發(fā)流程Linux系統(tǒng)的文件和設備與文件相關的系統(tǒng)調用配置超級終端和MiniCOM 能夠熟悉進行串口通信熟悉文件I/O 編寫串口通信程序編寫多串口通信程序6、嵌入式系統(tǒng)中多進程程序設計Linux系統(tǒng)進程概述嵌入式系統(tǒng)的進程特點進程操作守護進程相關的系統(tǒng)調用了解Linux系統(tǒng)中進程的概念能夠編寫多進程程序編寫多進程程序編寫一個守護進程程序sleep系統(tǒng)調用任務管理、同步與通信 Linux任務概述任務調度管道信號共享內存任務管理 API 了解Linux系統(tǒng)任務管理機制熟悉進程間通信的幾種方式熟悉嵌入式Linux中的任務間同步與通信編寫一個簡單的管道程序實現(xiàn)文件傳輸編寫一個使用共享內存的程序
7、嵌入式系統(tǒng)中多線程程序設計
線程的基礎知識多線程編程方法線程應用中的同步問題了解線程的概念能夠編寫簡單的多線程程序編寫一個多線程程序8、嵌入式 Linux 網(wǎng)絡編程網(wǎng)絡基礎知識嵌入式Linux中TCP/IP網(wǎng)絡結構socket 編程常用 API函數(shù)分析Ping命令的實現(xiàn)基本UDP套接口編程許可證管理PPP協(xié)議GPRS 了解嵌入式Linux網(wǎng)絡體系結構能夠進行嵌入式Linux環(huán)境下的socket 編程熟悉UDP協(xié)議、PPP協(xié)議熟悉GPRS 使用socket 編寫代理服務器使用socket 編寫路由器編寫許可證服務器指出TCP和UDP的優(yōu)缺點編寫一個web服務器編寫一個運行在 ARM平臺的網(wǎng)絡播放器9、GUI 程序開發(fā)GUI基礎嵌入式系統(tǒng)GUI類型編譯QT進行QT開發(fā)熟悉嵌入式系統(tǒng)常用的GUI能夠進行QT編程使用QT編寫“Hello,World”程序調試一個加入信號/槽的實例通過重載QWidget 類方法處理事件10、Linux 字符設備驅動程序設備驅動程序基礎知識Linux系統(tǒng)的模塊字符設備驅動分析fs_operation結構加載驅動程序了解設備驅動程序的概念了解Linux字符設備驅動程序結構能夠編寫字符設備驅動程序編寫Skull驅動編寫鍵盤驅動編寫I/O驅動分析一個看門狗驅動程序對比Linux2.6內核與2.4內核中字符設備驅動的不同Linux 塊設備驅動程序塊設備驅動程序工作原理典型的塊設備驅動程序分析塊設備的讀寫請求隊列了解Linux塊設備驅動程序結構能夠編寫簡單的塊設備驅動程序比較字符設備與塊設備的異同編寫MMC卡驅動程序分析一個文件系統(tǒng)對比Linux2.6內核與2.4內核中塊設備驅動的不同11、文件系統(tǒng)虛擬文件系統(tǒng)文件系統(tǒng)的建立ramfs內存文件系統(tǒng)proc文件系統(tǒng)devfs 文件系統(tǒng)MTD技術簡介MTD塊設備初始化MTD塊設備的讀寫操作了解Linux系統(tǒng)的文件系統(tǒng)了解嵌入式Linux的文件系統(tǒng)了解MTD技術能夠編寫簡單的文件系統(tǒng)為 ARM9開發(fā)板添加 MTD支持移植JFFS2文件系統(tǒng)通過proc文件系統(tǒng)修改操作系統(tǒng)參數(shù)分析romfs 文件系統(tǒng)源代碼創(chuàng)建一個cramfs 文件系統(tǒng)。