《“十一五”高等院校規(guī)劃教材:嵌入式Linux系統(tǒng)設計》的主要特點是注重理論聯(lián)系實際,注重軟硬件知識結合。《“十一五”高等院校規(guī)劃教材:嵌入式Linux系統(tǒng)設計》深入淺出地介紹了嵌入式系統(tǒng)的相關概念、基本原理和學習嵌入式系統(tǒng)設計所需的軟硬件基礎知識,并基于最新的2.6內(nèi)核Linux全面介紹了嵌入式Linux系統(tǒng)構建的流程、方法和步驟。為了幫助讀者掌握嵌入式Linux軟件設計的方法,《“十一五”高等院校規(guī)劃教材:嵌入式Linux系統(tǒng)設計》還介紹了一些常用嵌入式硬件接口的應用軟件設計開發(fā)方法,以及嵌入式圖形界面和嵌入式Linux網(wǎng)絡應用開發(fā)等。
《“十一五”高等院校規(guī)劃教材:嵌入式Linux系統(tǒng)設計》可作為高校電類與非電類或軟件學院相關專業(yè)碩士研究生或高年級本科生的嵌入式系統(tǒng)教材,也可以作為嵌入式系統(tǒng)開發(fā)工程師的實用參考書。
第1章 緒論
1.1 嵌入式系統(tǒng)的概念
1.2 嵌入式系統(tǒng)的分類
1.3 嵌入式系統(tǒng)的組成
1.4 嵌入式系統(tǒng)設計流程
1.5 嵌入式技術的發(fā)展趨勢
習題與思考題
第2章 嵌入式處理器與ARM體系結構
2.1 嵌入式處理器及其體系結構
2.1.1 馮·諾依曼和哈佛體系結構
2.1.2 CISC與RISC體系結構
2.2 PowerPC處理器
2.2.1 PowerPC體系結構
2.2.2 摩托羅拉/飛思卡爾公司的PowerQUICC處理器
2.2. IBM的PowerPC4xx
2.2 MIPS處理器
2.4 ARM處理器介紹
2.4.1 ARM系列
2.5 ARM體系結構一些重要概念
2.5.1 處理器工作狀態(tài)
2.5.2 處理器模式
2.5.3 ARM寄存器
2.5.4 異常
2.6 XScale體系結構
2.6.1 XScale超級流水線
2.6.2 協(xié)處理器
2.6.3 無線MMX指令單元
2.6.4 內(nèi)存管理
2.6.5 指令高速緩存
2.6.6 數(shù)據(jù)高速緩存
2.6.7 轉移目標緩沖器BTB
2.6.8 寫緩沖器
2.6.9 性能監(jiān)視
2.6.10 電源管理
2.6.11 調試
2.7 PXA系列處理器
2.7.1 PXA255處理器
2.7.2 PXA27x處理器
本章小結
習題與思考題
第3章 嵌入式系統(tǒng)軟件基礎
3.1 嵌入式程序中常見的C語言現(xiàn)象
3.1.1 宏定義
3.1.2 volatile關鍵字
3.1.3 static關鍵字
3.2 鏈表及其在Linux中的實現(xiàn)
3.2.1 鏈表簡介
3.2.2 Linux鏈表的定義
3.2.3 鏈表操作接口
3.3 什么是操作系統(tǒng)
3.4 操作系統(tǒng)發(fā)展過程
3.5 嵌入式操作系統(tǒng)
3.5.1 嵌入式操作系統(tǒng)的演化及其發(fā)展趨勢
3.5.2 常見的嵌入式操作系統(tǒng)
3.5.3 嵌入式操作系統(tǒng)的選擇
3.6 操作系統(tǒng)的功能
3.6.1 進程管理
3.6.2 存儲器管理
3.6.3 設備管理
3.6.4 文件管理
本章小結
習題與思考題
第4章 Linux概述
4.1 Linux的歷史
4.2 Linux常見發(fā)行版簡介
4.3 Linux操作系統(tǒng)構成
4.3.1 總體結構
4.3.2 Linux內(nèi)核
4.3.3 根文件系統(tǒng)目錄樹結構
4.3.4 Shell簡介
4.3. 5Linux的文件
4.4 Linux基本操作
4.4.1 Linux命令的使用
4.4.2 vi編輯器的使用
4.4.3 Linux的配置與管理相關命令
4.5 嵌入式Linux簡介
4.5.1 自制嵌入式Linux
4.5.2 商業(yè)版嵌入式Linux
4.5.3 NMT RTLinux簡介
4.5.4 RTAI簡介
4.5.5 霤linux簡介
本章小結
習題與思考題
第5章 Linux程序開發(fā)簡介
5.1 GNU Compiler Collection簡介
5.1.1 用GCC編譯簡單程序
5.1.2 GCC使用簡介
5.2 GNU make與Makefile編寫
5.2.1 Makefile的編寫
5.2.2 Makefile的處理過程
5.2.3 Makefile的變量
5.2.4 Phony目標
5.2.5 利用隱含規(guī)則簡化Makefile
5.2.6 make的命令行參數(shù)
5.2.7 Makefile示例
5.3 Autoconf和Automake簡介
5.3.1 使用前的準備
5.3.2 自動生成Makefile的方法
5.3.3 Makefile.am的編寫
5.3.4 自動處理復雜軟件包
5.4 GDB/Insight調試器的使用
5.4.1 GDB調試工具簡介
5.4.2 GDB圖形前端Insight簡介
5.5 Linux下集成開發(fā)工具的使用
5.5.1 Eclipse
5.5.2 KDevelop
本章小結
習題與思考題
第6章 嵌入式Linux開發(fā)入門
6.1 嵌入式系統(tǒng)的開發(fā)模式
6.2 嵌入式Linux系統(tǒng)的開發(fā)流程
6.3 嵌入式Linux的構造
6.3.1 開發(fā)環(huán)境的安裝
6.3.2 內(nèi)核裁剪與編譯
6.3.3 Busybox與根文件系統(tǒng)的構造
6.4 在開發(fā)板上運行嵌入式Linux
6.4.1 Linux下的串口終端仿真程序minicom簡介
6.4.2 Bootloader簡介
6.4.3 Uboot燒寫與使用
6.4.4 用Uboot啟動嵌入式Linux
6.5 嵌入式硬件仿真環(huán)境SkyEye
6.5.1 SkyEye編譯安裝
6.5.2 在SkyEye中運行嵌入式Linux
6.5.3 利用SkyEye調試Linux內(nèi)核
本章小結
習題與思考題
第7章 嵌入式Linux接口與應用開發(fā)
7.1 嵌入式應用程序開發(fā)調試
7.1.1 將應用程序加入嵌入式Linux系統(tǒng)
7.1.2 應用程序的移植
7.1.3 通過NFS調試嵌入式應用
7.1.4 通過CrossGDB調試程序
7.2 嵌入式Web控制接口與應用
7.2.1 嵌入式Web服務器的移植
7.2.2 嵌入式系統(tǒng)Web控制接口的設計
7.3 串口編程與GSM短信收發(fā)
7.3.1 RS232C串行接口標準
7.3.2 RS232串行接口通信連接方式
7.3.3 RS232串行接口編程
7.3.4 SMS短信與AT命令
7.3.5 SMS短信與PDU
7.3.6 GSM短信收發(fā)實例
7.4 USB接口與應用
7.4.1 機械和電氣標準
7.4.2 USB總線拓樸結構
7.4.3 USB存儲設備在嵌入式系統(tǒng)中的應用
7.4.4 USB攝像頭的使用與編程
7.5 I2C總線接口與應用
7.5.1 I2C總線原理與基本操作
7.5.2 Linux下I2C總線的操作
7.5.3 利用Linux的I2C字符設備文件接口讀寫X1227時鐘芯片
7.6 音頻接口編程
7.6.1 ALSA簡介
7.6.2 ALSA內(nèi)核配置與軟件安裝
7.6.3 ALSA API接口簡介
7.6.4 ALSA錄音回放
本章小結
習題與思考題
第8章 嵌入式圖形用戶界面
8.1 常見的嵌入式圖形用戶界面
8.2 幀緩沖圖形設備驅動接口
8.2.1 幀緩沖
8.3.3 幀緩沖編程原理
8.2.3 利用幀緩沖顯示圖像
8.3 Qt/E和Qtopia移植
8.3.1 Qt/Embedded與Qtopia簡介
8.3.2 Qtopia移植
8.4 OPIE移植
8.4.1 準備工作
8.4.2 OPIE的移植
8.4.3 OPIE的交叉編譯與運行
8.5 Qtopia與OPIE應用程序設計
8.5.1 基于Qt/Embedded的應用程序設計
8.5.2 在Qtopia與OPIE桌面添加應用程序
8.6 QT/Embedded應用軟件的國際化和中文化
8.6.1 QT/Embedded應用程序的I18N支持與中文化
8.6.2 Qtopia和OPIE的中文化
本章小結
習題與思考題
第9章 嵌入式Linux網(wǎng)絡應用開發(fā)
9.1 TCP/IP和Linux網(wǎng)絡簡介
9.2 Linux套接字編程接口介紹
9.3 基于IPv4協(xié)議Socket編程
9.3.1 基于TCP的Socket編程
9.3.2 基于TCP Socket的應用實例--猜數(shù)字游戲
9.3.2 基于UDP的Socket編程
9.3.4 基于UDP Socket的應用實例--服務查詢
9.4 IPv6網(wǎng)絡應用程序開發(fā)
9.4.1 IPv6簡介
9.4.2 IPv4程序移植到IPv6的方法
9.5 IPv4到IPv6程序移植實例
9.5.1 基于TCP Socket的猜數(shù)字游戲程序移植
9.5.2 基于UDP Socket的服務查詢程序移植
本章小結
習題與思考題
附錄 基于uClinux的嵌入式開發(fā)
參考文獻