第1章 嵌入式系統基礎知識,第2章 ARM體系結構,第3章 32位RISC微處理器 S3C2410A,第4章 嵌入式系統的存儲器系統,第5章 嵌入式系統輸入/輸出設備接口,第6章 嵌入式系統匯流排接口,第7章 嵌入式系統網路接口,第8章 嵌入式系統軟體及作業系統基礎,第9章 ARM彙編語言程式設計基礎,第10章 Bootloader設計基礎,第11章 Linux作業系統基礎,第12章 嵌入式Linux軟體設計,第13 章 圖形用戶接口(GUI),
第1章 嵌入式系統基礎知識
1.1 嵌入式系統的定義和組成
1.1.1 嵌入式系統的定義
1.1.2 嵌入式系統的發展趨勢
1.1.3 嵌入式系統的組成
1.1.4 RTOS
1.2 嵌入式微處理器體系結構
1.2.1 馮?諾依曼結構與哈佛結構
1.2.2 精簡指令集計算機
1.2.3 流水線技術
1.2.4 信息存儲的位元組順序
1.3 嵌入式微處理器的結構和類型
1.3.1 嵌入式微控制器
1.3.2 嵌入式微處理器
1.3.3 DSP處理器
1.3.4 嵌入式片上系統
1.3.5 多核處理器
思考題與習題
第2章 ARM體系結構
2.1 ARM體系結構簡介
2.2 ARM微處理器結構
2.2.1 ARM7微處理器
2.2.2 ARM9微處理器
2.2.3 ARM9E微處理器
2.2.4 ARM10E微處理器
2.2.5 SecurCore微處理器
2.2.6 StrongARM微處理器
2.2.7 XScale微處理器
2.3 ARM微處理器的暫存器結構
2.3.1 處理器的運行模式
2.3.2 處理器的工作狀態
2.3.3 處理器的暫存器組織
2.3.4 Thumb狀態的暫存器集
2.4 ARM微處理器的異常處理
2.4.1 ARM體系結構的異常類型
2.4.2 異常類型的含義
2.4.3 異常的回響過程
2.4.4 應用程式中的異常處理
2.5 ARM的存儲器結構
2.6 ARM微處理器指令系統
2.6.1 基本定址方式
2.6.2 ARM指令集
2.6.3 Thumb指令集
2.7 ARM微處理器的接口
2.7.1 ARM協處理器接口
2.7.2 ARM AMBA接口
2.7.3 ARM I/O結構
2.7.4 ARM JTAG調試接口
思考題與習題
第3章 32位RISC微處理器 S3C2410A
3.1 S3C2410A簡介
3.1.1 S3C2410A的內部結構
3.1.2 S3C2410A的技術特點
3.2 S3C2410A存儲器控制器
3.2.1 S3C2410A存儲器控制器特性
3.2.2 S3C2410A存儲器映射
3.4 S3C2410A的I/O口
3.4.1 S3C2410A的I/O口配置
3.4.2 S3C2410A的I/O口暫存器
3.5 S3C2410A的中斷控制
3.5.1 ARM系統的中斷處理
3.5.2 S3C2410A的中斷控制器
3.5.3 S3C2410A的中斷編程實例
3.6 S3C2410A的DMA控制
3.6.1 DMA工作原理
3.6.2 S3C2410A的DMA控制器
3.6.3 S3C2410A的DMA編程實例
思考題與習題
第4章 嵌入式系統的存儲器系統
4.1 存儲器系統概述
4.1.1 存儲器系統的層次結構
4.1.2 高速緩衝存儲器
4.1.3 存儲管理單元
4.2 嵌入式系統存儲設備分類
4.2.1 存儲器部件的分類
4.2.2 存儲器的組織和結構
4.2.3 常見的嵌入式系統存儲器
4.3 NOR Flash接口電路
4.3.1 NOR Flash存儲器Am29LV160D
4.3.2 S3C2410A與NOR Flash存儲器的接口電路
4.4 NAND Flash接口電路
4.4.1 S3C2410A NAND Flash控制器
4.4.2 S3C2410A與NAND Flash存儲器的接口電路
4.5 SDRAM接口電路
4.6 CF卡接口電路
4.6.1 PCMCIA接口規範
4.6.2 S3C2410A的CF卡接口電路
4.6.3 CF卡的讀/寫操作
4.7 SD卡接口電路
4.7.1 SD卡的接口規範
4.7.2 S3C2410A的SD卡接口電路
4.8 IDE接口電路
4.8.1 S3C2410A的IDE接口電路
4.8.2 IDE硬碟讀/寫操作
思考題與習題
第5章 嵌入式系統輸入/輸出設備接口
5.1 通用輸入/輸出接口
5.1.1 通用輸入/輸出接口原理與結構
5.1.2 S3C2410A輸入/輸出接口編程實例
5.2 A/D轉換器接口
5.2.1 A/D轉換的方法和原理
5.2.2 S3C2410A的A/D轉換器
5.2.3 S3C2410A A/D接口編程實例
5.3 D/A轉換器接口
5.3.1 D/A轉換器的工作原理
5.3.2 S3C2410A與D/A轉換器的接口電路
5.4 鍵盤與LED數碼管接口
5.4.1 鍵盤與LED數碼管接口基本原理與結構
5.4.2 用I/O口實現鍵盤接口
5.4.3 採用專用晶片實現鍵盤及LED接口
5.5 LCD顯示接口
5.5.1 LCD顯示接口原理與結構
5.5.2 S3C2410A的LCD控制器
5.5.3 S3C2410A LCD顯示的編程實例
5.6 觸控螢幕接口
5.6.1 觸控螢幕工作原理與結構
5.6.2 採用專用晶片的觸控螢幕控制接口
5.6.3 S3C2410A的觸控螢幕接口電路
思考題與習題
第6章 嵌入式系統匯流排接口
6.1 串列接口
6.1.1 串列接口基本原理與結構
6.1.2 S3C2410A的UART
6.1.3 與 S3C2410A的UART連線的串列接口電路
6.1.4 S3C2410A的UART編程實例
6.2 I2C接口
6.2.1 I2C接口基本原理與結構
6.2.2 S3C2410A的I2C接口
6.2.3 S3C2410A的I2C接口套用實例
6.3 USB接口
6.3.1 USB接口基本原理與結構
6.3.2 S3C2410A的USB控制器
6.3.3 S3C2410A的USB接口電路與驅動程式
6.4 SPI接口
6.4.1 SPI接口基本原理與結構
6.4.2 S3C2410A的SPI接口電路
6.4.3 S3C2410A的SPI接口編程實例
6.5 PCI接口
6.5.1 PCI接口基本結構
6.5.2 PCI接口電路
6.6 I2S匯流排接口
6.6.1 數字音頻簡介
6.6.2 I2S匯流排結構
6.6.3 S3C2410A的I2S匯流排接口
6.6.4 S3C2410A的I2S匯流排接口電路與編程
思考題與習題
第7章 嵌入式系統網路接口
7.1 乙太網接口
7.1.1 乙太網基礎知識
7.1.2 嵌入式乙太網接口的實現方法
7.1.3 在嵌入式系統中主要處理的乙太網協定
7.1.4 網路編程接口
7.1.5 乙太網的物理層接口及編程
7.2 CAN匯流排接口
7.2.1 CAN匯流排概述
7.2.2 在嵌入式處理器上擴展CAN匯流排接口
7.2.3 S3C2410A與MCP2510的CAN通信接口電路
思考題與習題
第8章 嵌入式系統軟體及作業系統基礎
8.1 嵌入式軟體基礎
8.1.1 嵌入式軟體的特點
8.1.2 嵌入式軟體的分類
8.1.3 嵌入式軟體的體系結構
8.1.4 嵌入式系統的設備驅動層
8.1.5 嵌入式中間件
8.2 嵌入式作業系統基礎
8.2.1 嵌入式作業系統的功能
8.2.2 嵌入式作業系統的分類
8.2.3 常見的嵌入式作業系統簡介
8.3 嵌入式系統的任務管理
8.3.1 單道程式設計和多道程式設計
8.3.2 進程、執行緒和任務243 8.3.3 任務的實現
8.3.4 任務的調度
8.3.5 實時系統調度
8.4 嵌入式系統的存儲管理
8.4.1 嵌入式存儲管理方式的特點
8.4.2 存儲管理的實模式與保護模式
8.4.3 分區存儲管理
8.4.4 地址映射
8.4.5 頁式存儲管理
8.4.6 虛擬頁式存儲管理
8.5 I/O設備管理
8.5.1 I/O編址
8.5.2 I/O設備的控制方式
8.5.3 I/O軟體
思考題與習題
第9章 ARM彙編語言程式設計基礎
9.1 ADS集成開發環境
9.1.1 ADS工具包的組成
9.1.2 ADS開發工具集
9.1.3 Code Warrior IDE的創建
9.1.4 AXD調試器的使用
9.2 ARM彙編偽指令
9.2.1 數據常量定義偽指令
9.2.2 數據變數定義偽指令
9.2.3 記憶體分配偽指令
9.2.4 彙編控制偽指令
9.2.5 其他常用的偽指令
9.3 ARM的彙編語言結構
9.3.1 ARM彙編語言程式結構
9.3.2 ARM彙編語言的語句格式
9.3.3 基於Windows下ADS的彙編語言程式結構
9.3.4 基於Linux下GCC的彙編語言程式結構
9.4 ARM彙編語言程式調試
9.4.1 ADS軟體模擬環境下的程式調試
9.4.2 ADS硬體仿真器環境下的程式調試
9.4.3 ADS Wiggler調試電纜環境下的程式調試
9.4.4 Linux環境下的gdb程式調試
9.5 ARM彙編語言與C語言混合編程
9.5.1 基本的ATPCS
9.5.2 彙編程式中調用C程式
9.5.3 C程式中調用彙編程式
9.5.4 C程式中內嵌彙編語句
9.5.5 從彙編程式中訪問C程式變數
思考題與習題
第10章 Bootloader設計基礎
10.1 Bootloader概述
10.1.1 Bootloader 的作用
10.1.2 Bootloader的工作模式
10.1.3 Bootloader 的啟動流程
10.2 S3C2410 平台下Linux的Bootloader
10.2.1 vivi
10.2.2 Uboot
10.3 其他常見的Bootloader
10.3.1 Windows 的Bootloader
10.3.2 Blob
思考與習題
第11章 Linux作業系統基礎
11.1 嵌入式Linux的開發環境
11.1.1 交叉開發概述
11.1.2 桌面Linux的開發工具鏈
11.1.3 嵌入式Linux的交叉開發工具鏈
11.2 桌面Linux的安裝
11.2.1 雙作業系統環境
11.2.2 Cygwin模擬環境
11.2.3 VMware虛擬機環境
11.3 Linux的使用
11.3.1 Linux基本命令
11.3.2 vi編輯器的使用
11.3.3 gcc編譯器
11.3.4 make工具和Makefile檔案
11.4 Linux核心結構
11.4.1 核心子系統
11.4.2 設備驅動程式
11.5 Linux目錄結構
11.5.1 Linux源檔案的目錄結構
11.5.2 Linux 運行系統的目錄結構
11.6 Linux檔案系統
11.6.1 檔案系統與核心的關係
11.6.2 常見通用Linux檔案系統
11.6.3 常見嵌入式Linux檔案系統
11.6.4 根檔案系統的選擇
思考題與習題
第12章 嵌入式Linux軟體設計
12.1 移植的基本概念
12.2 Bootloader的移植
12.2.1 關鍵檔案的修改
12.2.2 串口設定示例
12.2.3 Bootloader的交叉編譯
12.2.4 Bootloader的下載
12. 3嵌入式Linux核心的移植
12.3.1 核心移植的準備
12.3.2 關鍵檔案的修改
12.3.3 核心的配置與裁剪
12.3.4 核心的編譯
12.3.5 核心的下載
12.4 嵌入式Linux檔案系統的移植
12.5 Linux下設備驅動程式的開發
12.5.1 驅動程式概述
12.5.2 重要的數據結構和函式
12.5.3 字元設備驅動程式的組成
12.5.4 動態載入方式和靜態載入方式
12.5.5 字元設備驅動開發示例
12.6 應用程式開發
12.6.1 應用程式的載入方式
12.6.2 應用程式的GDB/GDBSERVER在線上調試
12.6.3 字元設備應用程式的開發
思考題與習題
第13 章 圖形用戶接口(GUI)
13.1 圖形用戶接口的層次結構
13.1.1 圖形基礎設施
13.1.2 高級圖形函式館
13.1.3 GUI視窗管理系統
13.2 桌面Linux系統GUI
13.2.1 KDE
13.2.2 GNOME
13.3 嵌入式Linux系統GUI
13.3.1 MiniGUI
13.3.2 Qtopia
13.3.3 NanoX
13.4 MiniGUI的開發初步
13.4.1 MiniGUI的開發環境
13.4.2 MiniGUI的移植
13.4.3 MiniGUI套用編程庫
13.4.4 應用程式編寫示例
13.5 Qt/E
13.5.1 Qt/E的套用架構
13.5.2 QVFB虛擬運行環境
13.6 Qt開發及運行環境的創建
13.6.1 Qt/E應用程式在PC機虛擬平台上的運行
13.6.2 Qt/E應用程式在嵌入式設備中的運行
13.6.3 Qtopia視窗系統在PC機虛擬平台上的運行
13.6.4 Qtopia視窗系統在嵌入式設備中的運行
13.7 Qt應用程式的開發
13.7.1 Qt/E基本控制項
13.7.2 開發工具Qt Designer介紹
13.7.3 控制台上的Qt/E套用編程
13.7.4 Qtopia上的Qt/E套用編程
思考題與習題
參考文獻