《嵌入式圖形系統開發與套用教程》是2012年出版的圖書,作者是張寶銀。
本書作者結合多年的教學和開發經驗,並借鑑多本優秀教材,以理論與實踐相結合的方式由淺入深地介紹了嵌入式圖形的基礎、理論與方法。 本書共分7章。第1章主要涉及硬體及軟體的基礎知識。第2章介紹嵌入式開發環境的建立。第3章介紹硬體平台的構建。第4章詳細介紹嵌入式微處理器方面的知識。第5章介紹嵌入式系統開發的交叉編譯開發方法。第6章介紹嵌入式圖形界面工具,包括MiniGUI以及Qt圖形界面設計工具,同時還介紹了相關實例。第7章以LCD控制器為例,綜合講解了Qt圖形界面工具的具體使用方法。 本書適合從事嵌入式套用系統設計的廣大工程技術人員使用,也可以作為高等學校和職業學校嵌入式系統軟硬體設計與機電一體化專業教育培訓的理想教材和參考書。
基本介紹
- 書名:嵌入式圖形系統開發與套用教程
- 作者:張寶銀
- ISBN:9787302298533
- 定價:32元
圖書信息
印次:1-1
裝幀:平裝
印刷日期:2012-10-29
圖書簡介
本書適合從事嵌入式套用系統設計的廣大工程技術人員使用,也可以作為高等學校和職業學校嵌入式系統軟硬體設計與機電一體化專業教育培訓的理想教材和參考書。
圖書前言
,嵌入式圖形設計及套用越來越受到人們的關注,也有許多該方面的圖書出版。已有的圖書大多是專一地介紹硬體或軟體方面的知識,很少將它們系統地結合在一起講述。本書則從理論基礎及圖形設計實際套用的角度出發,不僅詳細地講述了嵌入式系統基礎理論方面的知識,還結合實例講述了嵌入式圖形系統設計的詳細開發方法和步驟,內容的可讀性、可用性和實踐性強。
全書共分7章。
第1章介紹嵌入式系統基礎知識,主要涉及硬體及軟體的介紹。
* 第2章介紹嵌入式開發環境的建立,其中包括作業系統核心、進程與中斷管理、調度機制、I/O設備等內容。
* 第3章介紹嵌入式系統硬體平台的構建,其中包括存儲器、電源轉換與管理、接口技術、匯流排等內容。
* 第4章介紹嵌入式ARM處理器,在第1章的基礎上,詳細介紹嵌入式微處理器方面的知識,重點介紹ARM微處理器的特點及套用編程方法,最後簡單介紹其他一些主流嵌入式微處理器的知識。
* 第5章介紹嵌入式系統交叉編譯,在嵌入式系統開發中,交叉編譯是非常重要的一種開發方法,本章將詳細介紹。
* 第6章介紹圖形用戶界面,包括MiniGUI以及Qt圖形界面設計工具,同時還介紹了相關實例。
* 第7章是有關圖形界面設計的具體實例,本章以LCD控制器為例,綜合講解了Qt圖形界面工具的具體使用方法。
適用讀者群
* 高校本科學生。
* 嵌入式圖形系統的初學者。
* 嵌入式圖形系統的設計人員。
本書由河北聯合大學張寶銀編寫並負責全書的統稿工作,其中第2、4、5、7章由張寶銀編寫,第1、3、6章由李偉編寫。
由於時間倉促以及作者水平有限,書中難免存在疏漏之處,歡迎廣大讀者和同仁提出寶貴意見。
編 著
II
嵌入式圖形系統開發與套用教程
圖書目錄
1.1 嵌入式系統簡介 2
1.1.1 嵌入式系統的定義 2
1.1.2 嵌入式系統的軟硬體特徵 2
1.1.3 嵌入式作業系統 3
1.1.4 學習嵌入式系統的意義 3
1.2 嵌入式系統的硬體基礎 3
1.2.1 嵌入式處理器 3
1.2.2 嵌入式微處理器 4
1.2.3 嵌入式微控制器 5
1.2.4 嵌入式DSP處理器 6
1.2.5 嵌入式片上系統 6
1.2.6 嵌入式處理器的選擇 7
1.3 嵌入式系統的軟體基礎 8
1.3.1 作業系統的發展史 9
1.3.2 主流嵌入式作業系統介紹 10
1.4 實訓:編譯Bootloader 12
1.5 習題 17
第2章 嵌入式開發環境的建立 19
2.1 作業系統核心 20
2.1.1 記憶體管理功能 20
2.1.2 記憶體分割 20
2.1.3 虛擬記憶體 21
2.2 進程與中斷管理 23
2.2.1 進程描述與控制 24
2.2.2 並發控制:互斥與同步 29
2.2.3 並發控制:死鎖處理 36
2.2.4 中斷及中斷處理 40
2.3 調度機制 42
2.3.1 調度類型 42
2.3.2 單處理器調度 43
2.3.3 多處理器調度 46
2.3.4 實時調度 48
2.4 I/O設備 51
2.4.1 I/O設備描述參數 52
2.4.2 I/O技術的演變 52
2.4.3 I/O設備邏輯描述 53
2.4.4 I/O緩衝技術 54
2.4.5 磁碟調度 56
2.5 檔案管理 59
2.5.1 檔案與檔案系統 60
2.5.2 檔案組織與訪問 60
2.5.3 檔案共享 63
2.5.4 記錄分塊 64
2.5.5 外圍存儲設備管理 65
2.6 用戶界面 66
2.6.1 圖形用戶界面 66
2.6.2 關鍵技術 67
2.7 智慧型化用戶界面 69
2.7.1 Agent技術 69
2.7.2 Agent技術與用戶界面的
結合 71
2.8 實訓:編譯 Linux 核心 73
2.9 習題 89
第3章 嵌入式系統硬體平台的構建 91
3.1 存儲器 92
3.1.1 ROM 92
3.1.2 RAM 92
3.2 輸入/輸出設備 93
3.2.1 液晶顯示 93
3.2.2 觸控螢幕 94
3.2.3 語音輸入/輸出技術 96
3.2.4 鍵盤 96
3.3 電源轉換與管理 98
3.3.1 電源IC分類 99
3.3.2 電源IC的特點 99
3.3.3 電源IC選用指南 100
3.4 接口技術 102
3.4.1 並行接口 102
3.4.2 串口 103
3.4.3 USB 104
3.4.4 PCMCIA和CF 104
3.4.5 紅外線接口 106
3.5 匯流排 107
3.5.1 ISA 107
3.5.2 PCI 108
3.5.3 I2C匯流排 108
3.5.4 SPI匯流排 109
3.5.5 PC104匯流排 110
3.5.6 CAN匯流排 110
3.6 嵌入式系統開發常用的硬體調試
和編程技術 111
3.6.1 微代碼支持的串口調試 111
3.6.2 常用編程技術 112
3.6.3 JTAG與IEEE 1149協定
簡介 113
3.6.4 3.3V和5V裝置的互連 114
3.7 實訓:燒寫各部分到目標板 115
3.8 習題 120
第4章 嵌入式ARM處理器介紹 121
4.1 ARM處理器概述 122
4.1.1 ARM處理器的發展 122
4.1.2 ARM處理器的套用領域 122
4.1.3 ARM處理器的特點 123
4.1.4 ARM處理器的重要特性 123
4.2 ARM處理器指令系統 135
4.2.1 ARM處理器的定址方式 135
4.2.2 ARM指令集 137
4.2.3 Thumb指令 160
4.3 S3C44B0處理器結構 161
4.3.1 S3C44B0片上資源簡介 161
4.3.2 內部結構及引腳信號定義 163
4.4 S3C44B0初始化彙編程式實例 166
4.4.1 BootLoader介紹 166
4.4.2 初始化代碼 166
4.4.3 調試與運行 175
4.5 實訓:製作檔案系統及程式的
燒寫 180
4.6 習題 184
第5章 嵌入式系統交叉編譯 185
5.1 編譯原理 186
5.1.1 編譯的一般過程 186
5.1.2 與編譯器相關的程式 187
5.1.3 編譯器的移植 187
5.2 詞法分析 188
5.2.1 詞法的形式化描述 188
5.2.2 詞法分析程式的設計 191
5.3 語法分析 192
5.3.1 自頂向下的語法分析 193
5.3.2 自底向上的語法分析 195
5.4 中間代碼 197
5.5 代碼最佳化 199
5.6 交叉編譯技術 202
5.7 GCC交叉編譯器 203
5.7.1 GCC編譯流程 203
5.7.2 Linux環境下的GCC交叉
編譯器 206
5.8 一個交叉編譯器的生成實例 207
5.8.1 執行檔格式 207
5.8.2 交叉編譯器 208
5.8.3 相關問題 210
5.9 實訓:交叉編譯並運行簡單程式 210
5.10 習題 215
第6章 圖形用戶界面 217
6.1 顯示驅動接口 218
6.1.1 framebuffer驅動接口 218
6.1.2 qvfb虛擬驅動接口 219
6.2 MiniGUI圖形界面工具 221
6.2.1 MiniGUI的簡介與安裝 221
6.2.2 MiniGUI使用基礎 225
6.2.3 MiniGUI對話框、控制項、
選單與繪圖 228
6.3 Qt embeded圖形界面工具 237
6.3.1 Qt embeded的簡介與安裝 237
6.3.2 Qt embeded使用基礎 239
6.3.3 Qt Designer介紹 242
6.4 實訓:使用開發工具Qt Designer 243
6.5 習題 251
第7章 LCD控制器實例 253
7.1 LCD控制器 254
7.1.1 LCD介紹 254
7.1.2 LCD控制器介紹 254
7.1.3 LCD控制器的結構 255
7.1.4 LCD控制器操作 256
7.1.5 特殊暫存器 260
7.2 實例過程 266
7.2.1 電路連線 266
7.2.2 暫存器設定 266
7.2.3 程式的編寫 268
7.2.4 調試與運行結果 270
IV
嵌入式圖形系統開發與套用教程
V
目錄
1.1 嵌入式系統簡介 2
1.1.1 嵌入式系統的定義 2
1.1.2 嵌入式系統的軟硬體特徵 2
1.1.3 嵌入式作業系統 3
1.1.4 學習嵌入式系統的意義 3
1.2 嵌入式系統的硬體基礎 3
1.2.1 嵌入式處理器 3
1.2.2 嵌入式微處理器 4
1.2.3 嵌入式微控制器 5
1.2.4 嵌入式DSP處理器 6
1.2.5 嵌入式片上系統 6
1.2.6 嵌入式處理器的選擇 7
1.3 嵌入式系統的軟體基礎 8
1.3.1 作業系統的發展史 9
1.3.2 主流嵌入式作業系統介紹 10
1.4 實訓:編譯Bootloader 12
1.5 習題 17
第2章 嵌入式開發環境的建立 19
2.1 作業系統核心 20
2.1.1 記憶體管理功能 20
2.1.2 記憶體分割 20
2.1.3 虛擬記憶體 21
2.2 進程與中斷管理 23
2.2.1 進程描述與控制 24
2.2.2 並發控制:互斥與同步 29
2.2.3 並發控制:死鎖處理 36
2.2.4 中斷及中斷處理 40
2.3 調度機制 42
2.3.1 調度類型 42
2.3.2 單處理器調度 43
2.3.3 多處理器調度 46
2.3.4 實時調度 48
2.4 I/O設備 51
2.4.1 I/O設備描述參數 52
2.4.2 I/O技術的演變 52
2.4.3 I/O設備邏輯描述 53
2.4.4 I/O緩衝技術 54
2.4.5 磁碟調度 56
2.5 檔案管理 59
2.5.1 檔案與檔案系統 60
2.5.2 檔案組織與訪問 60
2.5.3 檔案共享 63
2.5.4 記錄分塊 64
2.5.5 外圍存儲設備管理 65
2.6 用戶界面 66
2.6.1 圖形用戶界面 66
2.6.2 關鍵技術 67
2.7 智慧型化用戶界面 69
2.7.1 Agent技術 69
2.7.2 Agent技術與用戶界面的
結合 71
2.8 實訓:編譯 Linux 核心 73
2.9 習題 89
第3章 嵌入式系統硬體平台的構建 91
3.1 存儲器 92
3.1.1 ROM 92
3.1.2 RAM 92
3.2 輸入/輸出設備 93
3.2.1 液晶顯示 93
3.2.2 觸控螢幕 94
3.2.3 語音輸入/輸出技術 96
3.2.4 鍵盤 96
3.3 電源轉換與管理 98
3.3.1 電源IC分類 99
3.3.2 電源IC的特點 99
3.3.3 電源IC選用指南 100
3.4 接口技術 102
3.4.1 並行接口 102
3.4.2 串口 103
3.4.3 USB 104
3.4.4 PCMCIA和CF 104
3.4.5 紅外線接口 106
3.5 匯流排 107
3.5.1 ISA 107
3.5.2 PCI 108
3.5.3 I2C匯流排 108
3.5.4 SPI匯流排 109
3.5.5 PC104匯流排 110
3.5.6 CAN匯流排 110
3.6 嵌入式系統開發常用的硬體調試
和編程技術 111
3.6.1 微代碼支持的串口調試 111
3.6.2 常用編程技術 112
3.6.3 JTAG與IEEE 1149協定
簡介 113
3.6.4 3.3V和5V裝置的互連 114
3.7 實訓:燒寫各部分到目標板 115
3.8 習題 120
第4章 嵌入式ARM處理器介紹 121
4.1 ARM處理器概述 122
4.1.1 ARM處理器的發展 122
4.1.2 ARM處理器的套用領域 122
4.1.3 ARM處理器的特點 123
4.1.4 ARM處理器的重要特性 123
4.2 ARM處理器指令系統 135
4.2.1 ARM處理器的定址方式 135
4.2.2 ARM指令集 137
4.2.3 Thumb指令 160
4.3 S3C44B0處理器結構 161
4.3.1 S3C44B0片上資源簡介 161
4.3.2 內部結構及引腳信號定義 163
4.4 S3C44B0初始化彙編程式實例 166
4.4.1 BootLoader介紹 166
4.4.2 初始化代碼 166
4.4.3 調試與運行 175
4.5 實訓:製作檔案系統及程式的
燒寫 180
4.6 習題 184
第5章 嵌入式系統交叉編譯 185
5.1 編譯原理 186
5.1.1 編譯的一般過程 186
5.1.2 與編譯器相關的程式 187
5.1.3 編譯器的移植 187
5.2 詞法分析 188
5.2.1 詞法的形式化描述 188
5.2.2 詞法分析程式的設計 191
5.3 語法分析 192
5.3.1 自頂向下的語法分析 193
5.3.2 自底向上的語法分析 195
5.4 中間代碼 197
5.5 代碼最佳化 199
5.6 交叉編譯技術 202
5.7 GCC交叉編譯器 203
5.7.1 GCC編譯流程 203
5.7.2 Linux環境下的GCC交叉
編譯器 206
5.8 一個交叉編譯器的生成實例 207
5.8.1 執行檔格式 207
5.8.2 交叉編譯器 208
5.8.3 相關問題 210
5.9 實訓:交叉編譯並運行簡單程式 210
5.10 習題 215
第6章 圖形用戶界面 217
6.1 顯示驅動接口 218
6.1.1 framebuffer驅動接口 218
6.1.2 qvfb虛擬驅動接口 219
6.2 MiniGUI圖形界面工具 221
6.2.1 MiniGUI的簡介與安裝 221
6.2.2 MiniGUI使用基礎 225
6.2.3 MiniGUI對話框、控制項、
選單與繪圖 228
6.3 Qt embeded圖形界面工具 237
6.3.1 Qt embeded的簡介與安裝 237
6.3.2 Qt embeded使用基礎 239
6.3.3 Qt Designer介紹 242
6.4 實訓:使用開發工具Qt Designer 243
6.5 習題 251
第7章 LCD控制器實例 253
7.1 LCD控制器 254
7.1.1 LCD介紹 254
7.1.2 LCD控制器介紹 254
7.1.3 LCD控制器的結構 255
7.1.4 LCD控制器操作 256
7.1.5 特殊暫存器 260
7.2 實例過程 266
7.2.1 電路連線 266
7.2.2 暫存器設定 266
7.2.3 程式的編寫 268
7.2.4 調試與運行結果 270
IV
嵌入式圖形系統開發與套用教程
V
目錄
1.1 嵌入式系統簡介 2
1.1.1 嵌入式系統的定義 2
1.1.2 嵌入式系統的軟硬體特徵 2
1.1.3 嵌入式作業系統 3
1.1.4 學習嵌入式系統的意義 3
1.2 嵌入式系統的硬體基礎 3
1.2.1 嵌入式處理器 3
1.2.2 嵌入式微處理器 4
1.2.3 嵌入式微控制器 5
1.2.4 嵌入式DSP處理器 6
1.2.5 嵌入式片上系統 6
1.2.6 嵌入式處理器的選擇 7
1.3 嵌入式系統的軟體基礎 8
1.3.1 作業系統的發展史 9
1.3.2 主流嵌入式作業系統介紹 10
1.4 實訓:編譯Bootloader 12
1.5 習題 17
第2章 嵌入式開發環境的建立 19
2.1 作業系統核心 20
2.1.1 記憶體管理功能 20
2.1.2 記憶體分割 20
2.1.3 虛擬記憶體 21
2.2 進程與中斷管理 23
2.2.1 進程描述與控制 24
2.2.2 並發控制:互斥與同步 29
2.2.3 並發控制:死鎖處理 36
2.2.4 中斷及中斷處理 40
2.3 調度機制 42
2.3.1 調度類型 42
2.3.2 單處理器調度 43
2.3.3 多處理器調度 46
2.3.4 實時調度 48
2.4 I/O設備 51
2.4.1 I/O設備描述參數 52
2.4.2 I/O技術的演變 52
2.4.3 I/O設備邏輯描述 53
2.4.4 I/O緩衝技術 54
2.4.5 磁碟調度 56
2.5 檔案管理 59
2.5.1 檔案與檔案系統 60
2.5.2 檔案組織與訪問 60
2.5.3 檔案共享 63
2.5.4 記錄分塊 64
2.5.5 外圍存儲設備管理 65
2.6 用戶界面 66
2.6.1 圖形用戶界面 66
2.6.2 關鍵技術 67
2.7 智慧型化用戶界面 69
2.7.1 Agent技術 69
2.7.2 Agent技術與用戶界面的
結合 71
2.8 實訓:編譯 Linux 核心 73
2.9 習題 89
第3章 嵌入式系統硬體平台的構建 91
3.1 存儲器 92
3.1.1 ROM 92
3.1.2 RAM 92
3.2 輸入/輸出設備 93
3.2.1 液晶顯示 93
3.2.2 觸控螢幕 94
3.2.3 語音輸入/輸出技術 96
3.2.4 鍵盤 96
3.3 電源轉換與管理 98
3.3.1 電源IC分類 99
3.3.2 電源IC的特點 99
3.3.3 電源IC選用指南 100
3.4 接口技術 102
3.4.1 並行接口 102
3.4.2 串口 103
3.4.3 USB 104
3.4.4 PCMCIA和CF 104
3.4.5 紅外線接口 106
3.5 匯流排 107
3.5.1 ISA 107
3.5.2 PCI 108
3.5.3 I2C匯流排 108
3.5.4 SPI匯流排 109
3.5.5 PC104匯流排 110
3.5.6 CAN匯流排 110
3.6 嵌入式系統開發常用的硬體調試
和編程技術 111
3.6.1 微代碼支持的串口調試 111
3.6.2 常用編程技術 112
3.6.3 JTAG與IEEE 1149協定
簡介 113
3.6.4 3.3V和5V裝置的互連 114
3.7 實訓:燒寫各部分到目標板 115
3.8 習題 120
第4章 嵌入式ARM處理器介紹 121
4.1 ARM處理器概述 122
4.1.1 ARM處理器的發展 122
4.1.2 ARM處理器的套用領域 122
4.1.3 ARM處理器的特點 123
4.1.4 ARM處理器的重要特性 123
4.2 ARM處理器指令系統 135
4.2.1 ARM處理器的定址方式 135
4.2.2 ARM指令集 137
4.2.3 Thumb指令 160
4.3 S3C44B0處理器結構 161
4.3.1 S3C44B0片上資源簡介 161
4.3.2 內部結構及引腳信號定義 163
4.4 S3C44B0初始化彙編程式實例 166
4.4.1 BootLoader介紹 166
4.4.2 初始化代碼 166
4.4.3 調試與運行 175
4.5 實訓:製作檔案系統及程式的
燒寫 180
4.6 習題 184
第5章 嵌入式系統交叉編譯 185
5.1 編譯原理 186
5.1.1 編譯的一般過程 186
5.1.2 與編譯器相關的程式 187
5.1.3 編譯器的移植 187
5.2 詞法分析 188
5.2.1 詞法的形式化描述 188
5.2.2 詞法分析程式的設計 191
5.3 語法分析 192
5.3.1 自頂向下的語法分析 193
5.3.2 自底向上的語法分析 195
5.4 中間代碼 197
5.5 代碼最佳化 199
5.6 交叉編譯技術 202
5.7 GCC交叉編譯器 203
5.7.1 GCC編譯流程 203
5.7.2 Linux環境下的GCC交叉
編譯器 206
5.8 一個交叉編譯器的生成實例 207
5.8.1 執行檔格式 207
5.8.2 交叉編譯器 208
5.8.3 相關問題 210
5.9 實訓:交叉編譯並運行簡單程式 210
5.10 習題 215
第6章 圖形用戶界面 217
6.1 顯示驅動接口 218
6.1.1 framebuffer驅動接口 218
6.1.2 qvfb虛擬驅動接口 219
6.2 MiniGUI圖形界面工具 221
6.2.1 MiniGUI的簡介與安裝 221
6.2.2 MiniGUI使用基礎 225
6.2.3 MiniGUI對話框、控制項、
選單與繪圖 228
6.3 Qt embeded圖形界面工具 237
6.3.1 Qt embeded的簡介與安裝 237
6.3.2 Qt embeded使用基礎 239
6.3.3 Qt Designer介紹 242
6.4 實訓:使用開發工具Qt Designer 243
6.5 習題 251
第7章 LCD控制器實例 253
7.1 LCD控制器 254
7.1.1 LCD介紹 254
7.1.2 LCD控制器介紹 254
7.1.3 LCD控制器的結構 255
7.1.4 LCD控制器操作 256
7.1.5 特殊暫存器 260
7.2 實例過程 266
7.2.1 電路連線 266
7.2.2 暫存器設定 266
7.2.3 程式的編寫 268
7.2.4 調試與運行結果 270