學習步驟如下:
1、Linux 基礎
安裝Linux作業系統
Linux檔案系統
Linux常用命令
Linux啟動過程詳解
熟悉Linux服務能夠獨立安裝Linux作業系統
能夠熟練使用Linux系統的基本命令
認識Linux系統的常用服務安裝Linux作業系統
Linux基本命令實踐
設定Linux環境變數
定製Linux的服務 Shell 編程基礎使用vi編輯檔案
使用Emacs編輯檔案
使用其他編輯器
2、Shell 編程基礎
Shell簡介
認識背景程式
Bash編程熟悉Linux系統下的編輯環境
熟悉Linux下的各種Shell
熟練進行shell編程熟悉vi基本操作
熟悉Emacs的基本操作
比較不同shell的區別
編寫一個測試伺服器是否連通的shell指令碼程式
編寫一個查看進程是否存在的shell指令碼程式
編寫一個帶有迴圈語句的shell指令碼程式
3、Linux 下的 C 編程基礎
linux C語言環境概述
Gcc使用方法
Gdb調試技術
Autoconf
Automake
Makefile
代碼最佳化 熟悉Linux系統下的開發環境
熟悉Gcc編譯器
熟悉Makefile規則編寫Hello,World程式
使用 make命令編譯器
編寫帶有一個迴圈的程式
調試一個有問題的程式
4、嵌入式系統開發基礎
嵌入式系統概述
交叉編譯
配置TFTP服務
配置NFS服務
下載Bootloader和核心
嵌入式Linux應用軟體開發流程
熟悉嵌入式系統概念以及開發流程
建立嵌入式系統開發環境製作cross_gcc工具鏈
編譯並下載U-boot
編譯並下載Linux核心
編譯並下載Linux應用程式
嵌入式系統移植
Linux核心代碼
平台相關程式碼分析
ARM平台介紹
平台移植的關鍵技術
移植Linux核心到 ARM平台 瞭解移植的概念
能夠移植Linux核心移植Linux2.6核心到 ARM9開發板
5、嵌入式 Linux 下串口通訊
串列I/O的基本概念
嵌入式Linux應用軟體開發流程
Linux系統的檔案和裝置
與檔案相關的系統調用
配置超級終端和MiniCOM 能夠熟悉進行串口通訊
熟悉檔案I/O 編寫串口通訊程式
編寫多串口通訊程式
6、嵌入式系統中多進程程式設計
Linux系統進程概述
嵌入式系統的進程特點
進程操作
守護進程
相關的系統調用瞭解Linux系統中進程的概念
能夠編寫多進程程式編寫多進程程式
編寫一個守護進程程式
sleep系統調用任務管理、同步與通訊 Linux任務概述
任務調度
管道
訊號
共用記憶體
任務管理 API 瞭解Linux系統任務管理機制
熟悉處理序間通訊的幾種方式
熟悉嵌入式Linux中的任務間同步與通訊
編寫一個簡單的管道程式實現檔案傳輸
編寫一個使用共用記憶體的程式
7、嵌入式系統中多線程程式設計
線程的基礎知識
多線程編程方法
線程應用中的同步問題瞭解線程的概念
能夠編寫簡單的多線程程式編寫一個多線程程式
8、嵌入式 Linux 網路編程
網路基礎知識
嵌入式Linux中TCP/IP網路結構
socket 編程
常用 API函數
分析Ping命令的實現
基本UDP套介面編程
許可證管理
PPP協議
GPRS 瞭解嵌入式Linux網路體繫結構
能夠進行嵌入式Linux環境下的socket 編程
熟悉UDP協議、PPP協議
熟悉GPRS 使用socket 編寫Proxy 伺服器
使用socket 編寫路由器
編寫授權伺服器
指出TCP和UDP的優缺點
編寫一個web伺服器
編寫一個運行在 ARM平台的網路播放器
9、GUI 程式開發
GUI基礎
嵌入式系統GUI類型
編譯QT
進行QT開發熟悉嵌入式系統常用的GUI
能夠進行QT編程使用QT編寫“Hello,World”程式
調試一個加入訊號/槽的執行個體
通過重載QWidget 類方法處理事件
10、Linux 字元裝置驅動程式
裝置驅動程式基礎知識
Linux系統的模組
字元裝置驅動分析
fs_operation結構
載入驅動程式瞭解裝置驅動程式的概念
瞭解Linux字元裝置驅動程式結構
能夠編寫字元裝置驅動程式編寫Skull驅動
編寫鍵盤驅動
編寫I/O驅動
分析一個看門狗驅動程式
對比Linux2.6核心與2.4核心中字元裝置驅動的不同
Linux 塊裝置驅動程式塊裝置驅動程式工作原理
典型的塊裝置驅動程式分析
塊裝置的讀寫請求隊列瞭解Linux塊裝置驅動程式結構
能夠編寫簡單的塊裝置驅動程式比較字元裝置與塊裝置的異同
編寫MMC卡驅動程式
分析一個檔案系統
對比Linux2.6核心與2.4核心中塊裝置驅動的不同
11、檔案系統
虛擬檔案系統
檔案系統的建立
ramfs記憶體檔案系統
proc檔案系統
devfs 檔案系統
MTD技術簡介
MTD塊裝置初始化
MTD塊裝置的讀寫操作瞭解Linux系統的檔案系統
瞭解嵌入式Linux的檔案系統
瞭解MTD技術
能夠編寫簡單的檔案系統為 ARM9開發板添加 MTD支援
移植JFFS2檔案系統
通過proc檔案系統修改作業系統參數
分析romfs 檔案系統原始碼
建立一個cramfs 檔案系統
來源:http://blog.csdn.net/bsknight/article/details/6085466