本書系統(tǒng)地介紹了嵌入式軟/硬件系統(tǒng)的組成、工作原理、設計流程和方法。全書共10章,主要內(nèi)容包括嵌入式系統(tǒng)設計基礎、嵌入式系統(tǒng)的設計方法、ARM體系結構及指令系統(tǒng)、基于S3C2410的硬件電路設計、嵌入式Linux操作系統(tǒng)、嵌入式Linux系統(tǒng)的Boot Loader設計、嵌入式Linux程序設計基礎、嵌入式Linux系統(tǒng)的驅動開發(fā)、嵌入式網(wǎng)絡程序設計和嵌入式Linux圖形用戶界面編程等。
本書可作為高等院校電子與通信類專業(yè)的教材,也可作為電子與通信領域的科研及工程技術人員的參考書。
第1章 嵌入式系統(tǒng)設計基礎
1.1 嵌入式系統(tǒng)簡介
1.1.1 現(xiàn)代計算機的發(fā)展歷程
1.1.2 嵌入式系統(tǒng)的定義和特點
1.1.3 嵌入式系統(tǒng)的組成
1.1.4 嵌入式系統(tǒng)的應用模式
1.1.5 嵌入式系統(tǒng)的現(xiàn)狀和發(fā)展方向
1.2 嵌入式處理器
1.2.1 嵌入式處理器的分類
1.2.2 ARM微處理器
1.2.3 PowerPC. MIPS及X86架構
1.3 嵌入式操作系統(tǒng)
1.3.1 嵌入式操作系統(tǒng)的概念和分類
1.3.2 嵌入式操作系統(tǒng)的特點
1.3.3 典型嵌入式操作系統(tǒng)
練習題
第2章 嵌入式系統(tǒng)的設計方法
2.1 嵌入式系統(tǒng)的層次結構
2.1.1 硬件層
2.1.2 中間層
2.1.3 軟件層
2.1.4 功能層
2.2 嵌入式系統(tǒng)的設計流程
2.2.1 需求分析
2.2.2 規(guī)格說明
2.2.3 體系結構設計
2.2.4 軟/硬件構件設計
2.2.5 系統(tǒng)集成
2.3 嵌入式系統(tǒng)設計流程模型
2.3.1 瀑布模型
2.3.2 逐步求精模型
2.3.3 螺旋模型
2.3.4 其他模型
2.4 嵌入式系統(tǒng)的調(diào)試與測試
2.4.1 嵌入式系統(tǒng)開發(fā)的輔助工具
2.4.2 嵌入式系統(tǒng)的調(diào)試
2.4.3 嵌入式系統(tǒng)的測試
練習題
第3章 ARM體系結構及指令系統(tǒng)
3.1 ARM微處理器的體系結構
3.1.1 ARM指令集體系結構的版本及變種
3.1.2 ARM微處理器系列產(chǎn)品分類及性能
3.1.3 ARM微處理器體系結構
3.1.4 ARM體系的異常中斷
3.2 指令系統(tǒng)
3.2.1 ARM指令編碼格式與條件碼
3.2.2 ARM指令集的尋址方式
3.2.3 ARM指令系統(tǒng)的分類
3.2.4 Thumb指令
3.3 基于ARM體系的匯編語言程序設計
3.3.1 ARM匯編器所支持的偽指令
3.3.2 匯編語言的語句格式
3.3.3 匯編語言的程序結構及子程序調(diào)用
3.3.4 ARM集成開發(fā)環(huán)境ADS的使用
練習題
第4章 基于S3C2410的硬件電路設計
4.1 基于微處理器的嵌入式系統(tǒng)的硬件設計
4.1.1 微處理器芯片選型的一般原則
4.1.2 多路時鐘電路的設計
4.1.3 電源電路的設計
4.1.4 系統(tǒng)復位電路的設計
4.2 存儲系統(tǒng)的分析與設計
4.2.1 存儲器的分類
4.2.2 S3C2410存儲系統(tǒng)的構成分析
4.2.3 S3C2410存儲器系統(tǒng)的設計
4.3 通用I/O接口的設計
4.3.1 中斷接口概述
4.3.2 RS-232-C串行接口的設計
4.3.3 USB接口電路的設計
4.3.4 JTAG接口
4.3.5 A/D轉換接口
4.3.6 以太網(wǎng)接口
4.4 人機交互接口
4.4.1 顯示接口
4.4.2 觸摸屏接口
練習題
第5章 嵌入式Linux操作系統(tǒng)
5.1 Linux及其應用
5.1.1 Linux與Unix和GNU
5.1.2 Linux的特點
5.1.3 Linux的發(fā)展及應用
5.2 嵌入式Linux內(nèi)核
5.2.1 嵌入式Linux的內(nèi)核特征
5.2.2 進程管理
5.2.3 內(nèi)存管理
5.2.4 文件系統(tǒng)管理
5.2.5 設備管理
5.2.6 進程間通信機制
5.3 嵌入式Linux文件系統(tǒng)
5.3.1 嵌入式文件系統(tǒng)介紹
5.3.2 Linux文件系統(tǒng)概述
5.3.3 嵌入式Linux常用文件系統(tǒng)
5.3.4 嵌入式Linux文件系統(tǒng)框架和特性
5.4 典型嵌入式Linux系統(tǒng)
5.4.1 霤Linux
5.4.2 RT-Linux
5.4.3 MontaVistaLinux
5.4.4 RTAI
練習題
第6章 嵌入式Linux系統(tǒng)的Boot Loader設計
6.1 Boot Loader的墓本概念
6.1.1 Boot Loader所支持的CPU和嵌入式板
6.1.2 Boot Loader的安裝媒介
6.1.3 用于控制Boot Loader的設備或機制
6.1.4 Boot Loader的啟動過程
6.1.5 Boot Loader的操作模式
6.1.6 Boot Loader與主機之間的文件傳輸協(xié)議
6.2 基于S3C2410開發(fā)板的Boot Loader的具體實現(xiàn)
6.2.1 系統(tǒng)啟動流程的設計
6.2.2 Boot Loader的具體實現(xiàn)
練習題
第7章 嵌入式Linux程序設計基礎
7.1 嵌入式Linux開發(fā)基礎
7.1.1 嵌入式Linux開發(fā)步驟
7.1.2 嵌入式Linux的安裝
7.1.3 開發(fā)工具的配置
7.2 Linux的常用工具
7.2.1 Shell編程
7.2.2 常用Shell命令
7.2.3 Shell編程實例
7.2.4 程序編輯器
7.3 嵌入式Linux操作系統(tǒng)的開發(fā)工具
7.3.1 編譯器GCC
7.3.2 Makefile
7.3.3 調(diào)試器GDB
7.3.4 二進制代碼工具
7.4 交叉開發(fā)環(huán)境
7.4.1 交叉開發(fā)環(huán)境介紹
7.4.2 應用程序的遠程交叉調(diào)試
練習題
第8章 嵌入式Linux系統(tǒng)的驅動開發(fā)
8.1 Linux下的設備驅動程序簡介
8.1.1 設備驅動程序的概念
8.1.2 驅動設備的分類
8.1.3 設備文件
8.1.4 主設備號和次設備號
8.1.5 Linux設備驅動程序結構
8.2 設備驅動程序的開發(fā)過程
8.2.1 模塊化驅動程序設計
8.2.2 字符設備注冊和初始化
8.2.3 中斷管理
8.2.4 設備驅動開發(fā)的摹本函數(shù)
8.3 串口驅動程序設計
8.3.1 終端設備和控制臺
8.3.2 Linux串口驅動程序分析
8.4 LCD驅動程序設計分析
8.4.1 LCD控制器
8.4.2 framebuffer設備驅動程序分析
8.4.3 LCD驅動開發(fā)的主要工作
8.5 中斷處理
8.5.1 中斷程序分析
8.5.2 一個簡單的中斷處理程序
練習題
第9章 嵌入式網(wǎng)絡程序設計
9.1 嵌入式以太網(wǎng)基礎知識
9.1.1 以太網(wǎng)介紹及其嵌入式應用
9.1.2 嵌入式系統(tǒng)中主要處理的網(wǎng)絡協(xié)議
9.2 以太網(wǎng)接口設計
9.2.1 網(wǎng)絡設備驅動程序基本結構及功能
9.2.2 以太網(wǎng)控制器CS8900A
9.2.3 基于CS8900A的網(wǎng)絡驅動程序實例
9.3 Linux網(wǎng)絡編程實現(xiàn)
9.3.1 socket基本函數(shù)
9.3.2 TCP編程實例
練習題
第10章 嵌入式Linux圖形用戶界面編程
10.1 Linux圖形開發(fā)基礎
10.1.1 GUI的一般架構
10.1.2 嵌入式GUI底層支持庫
10.1.3 嵌入式GUI高級函數(shù)庫
10.2 嵌入式Linux圖形用戶界面簡介
10.2.1 Qt/Embedded
10.2.2 MicroWindows
10.2.3 MiniGUI
10.2.4 OpenGUI
10.3 Qt/Embedded嵌入式圖形開發(fā)基礎
10.3.1 Qt/Embedded概述
10.3.2 創(chuàng)建Qt/Embedded開發(fā)環(huán)境
10.3.3 Qt/Embedded的使用
10.3.4 開發(fā)實例:基于PC的簡單程序
練習題
參考文獻