第1部分 嵌入式系統(tǒng)
第1章 嵌入式系統(tǒng)概述
1.1 什么是嵌入式系統(tǒng)
1.2 嵌入式系統(tǒng)的特點
1.3 嵌入式系統(tǒng)的體系結構
1.3.1 硬件平臺
1.3.2 硬件抽象層
1.3.3 實時操作系統(tǒng)
1.3.4 實時應用程序
1.4 嵌入式系統(tǒng)的分類
1.5 嵌入式系統(tǒng)的應用
本章小結
思考與練習題
第2章 嵌入式系統(tǒng)設計基本概念
2.1 嵌入式硬件系統(tǒng)
2.1.1 嵌入式處理器
2.1.2 存儲器
2.1.3 外圍設備
2.2 嵌入式操作系統(tǒng)
2.2.1 嵌入式操作系統(tǒng)的發(fā)展
2.2.2 嵌入式實時操作系統(tǒng)的分類
2.2.3 嵌入式實時操作系統(tǒng)的可裁剪性及其實現(xiàn)
2.2.4 常用的實時操作系統(tǒng)
2.3 嵌入式系統(tǒng)的基本設計過程
2.3.1 需求分析
2.3.2 規(guī)格說明
2.3.3 體系結構設計
2.3.4 設計硬件構件和軟件構件
2.3.5 系統(tǒng)調試與集成
2.4 本教程選擇的軟硬件平臺
2.4.1 教學硬件平臺——ARM
2.4.2 教學軟件平臺——Linux
本章小結
思考與練習題
第2部分 嵌入式系統(tǒng)硬件開發(fā)技術
第3章 基于ARM的處理器體系結構
3.1 ARM體系結構
3.1.1 ARM微處理器結構
3.1.2 ARM工作狀態(tài)
3.1.3 ARM微處理器的寄存器組織
3.1.4 ARM微處理器的指令結構
3.2 ARM9處理器簡介
3.2.1 與ARM7處理器比較
3.2.2 OMAP5912處理器介紹
本章小結
思考與練習題
第4章 ARM微處理器的編程模型與指令系統(tǒng)
4.1 ARM微處理器的工作狀態(tài)
4.2 ARM微處理器的運行模式
4.3 ARM體系結構的存儲器格式
4.3.1 大端格式
4.3.2 小端格式
4.4 寄存器組織
4.4.1 ARM狀態(tài)下的寄存器組織
4.4.2 Thumb狀態(tài)下的寄存器組織
4.5 ARM的異常
4.5.1 ARM體系結構所支持的異常類型
4.5.2 異常向量(Exception Vectors)
4.5.3 對異常的響應
4.5.4 從異常返回
4.5.5 各類異常的具體描述
4.5.6 異常的進入/退出
4.5.7 異常優(yōu)先級(Exception Priorities)
4.6 ARM微處理器的指令系統(tǒng)基礎
4.6.1 指令長度及數據類型
4.6.2 ARM微處理器的指令的分類與格式
4.6.3 指令的條件域
4.7 ARM指令的尋址方式
4.7.1 立即尋址
4.7.2 寄存器尋址
4.7.3 寄存器間接尋址
4.7.4 基址變址尋址
4.7.5 多寄存器尋址
4.7.6 堆棧尋址
4.7.7 相對尋址
4.8 ARM指令集
4.8.1 數據處理指令
4.8.2 乘法指令與乘加指令
4.8.3 程序狀態(tài)寄存器訪問指令
4.8.4 加載/存儲指令
4.8.5 批量數據加載/存儲指令
4.8.6 跳轉指令
4.8.7 數據交換指令
4.8.8 移位指令(操作)
4.8.9 協(xié)處理器指令
4.8.10 異常產生指令
4.9 Thumb指令及應用
4.9.1 Thumb編程模型
4.9.2 Thumb狀態(tài)切換
4.9.3 Thumb指令集特點
本章小結
思考與練習題
第3部分 嵌入式系統(tǒng)軟件程序設計
第5章 嵌入式操作系統(tǒng)
5.1 嵌入式系統(tǒng)的進程
5.1.1 進程的概念
5.1.2 上下文切換
5.1.3 進程狀態(tài)
5.1.4 進程調度
5.1.5 進程間通信機制
5.2 嵌入式操作系統(tǒng)的中斷和時鐘管理
5.2.1 中斷管理
5.2.2 時鐘管理
5.3 嵌入式操作系統(tǒng)的內存管理
5.3.1 內存管理的主要功能
5.3.2 虛擬內存的概念
5.4 常用嵌入式操作系統(tǒng)
5.4.1 mC/OS-II
5.4.2 Linux操作系統(tǒng)
本章小結
思考與練習題
第6章 嵌入式Linux開發(fā)環(huán)境及其在ARM上的移植
6.1 嵌入式Linux開發(fā)環(huán)境
6.1.1 交叉編譯工具介紹
6.1.2 交叉編譯環(huán)境的建立
6.2 嵌入式Linux在ARM平臺上的移植
6.2.1 Linux內核源代碼的基本組織情況
6.2.2 嵌入式Linux內核裁剪方法
6.2.3 嵌入式Linux內核定制過程
6.2.4 內核編譯及裝載
6.2.5 文件系統(tǒng)及其實現(xiàn)
本章小結
思考與練習題
第7章 設備驅動程序
7.1 概述
7.1.1 設備驅動原理
7.1.2 模塊化編程
7.1.3 設備類型
7.1.4 設備號
7.2 設備文件接口
7.2.1 用戶訪問接口
7.2.2 一些重要數據結構
7.2.3 I/O操作
7.3 中斷處理
7.3.1 注冊中斷處理程序
7.3.2 中斷處理程序實現(xiàn)
7.4 應用實例
7.4.1 字符設備——按鍵驅動程序
7.4.2 網絡設備——CS8900A芯片驅動程序
7.4.3 CAN總線驅動開發(fā)
本章小結
思考與練習題
第8章 用戶圖形接口GUI
8.1 嵌入式系統(tǒng)中的GUI
8.1.1 嵌入式GUI的發(fā)展需求
8.1.2 嵌入式GUI的功能特點
8.1.3 目前流行的嵌入式GUI系統(tǒng)
8.2 Qt/Embedded基礎
8.2.1 Qt/Embedded簡介
8.2.2 Qt/Embedded特點
8.2.3 Qt/Embedded體系架構
8.3 Qt/Embedded開發(fā)環(huán)境
8.3.1 Qt/E 2.x系列
8.3.2 Qt/E 3.x系列
8.4 Qt/Embedded開發(fā)實例
8.4.1 Qt/Embedded應用系統(tǒng)基本開發(fā)流程
8.4.2 Qt/Embedded下觸摸屏驅動的設計
本章小結
思考與練習題
第4部分 嵌入式系統(tǒng)開發(fā)應用實例
第9章 基于OMAP5912的開發(fā)應用實例
9.1 MAP5912的結構和特點
9.1.1 ARM926EJ-S內核
9.1.2 TMS320C55x內核
9.1.3 存儲器管理
9.1.4 直接存儲器訪問控制器(DMA)
9.1.5 時鐘和電源管理
9.1.6 外圍控制模塊
9.2 基于OMAP5912的硬件平臺設計
9.2.1 電源管理模塊
9.2.2 存儲模塊
9.2.3 音頻處理模塊
9.2.4 外圍接口
9.3 基于OMAP5912的軟件系統(tǒng)設計
9.3.1 OMAP5912系統(tǒng)的軟件架構
9.3.2 嵌入式Linux系統(tǒng)的啟動流程
9.3.3 Bootloader及其移植
9.3.4 MontaVista Linux內核的移植
9.3.5 文件系統(tǒng)的移植
9.3.6 基于OMAP5912平臺的Linux設備驅動程序
本章小結
思考與練習題
縮略語
參考文獻