圖書簡介
本書既介紹了嵌入式系統硬體結構、軟體結構、基於
ARM的嵌入式處理器、基於
Linux和μC/OS-II的嵌入式作業系統的知識,還介紹了和嵌入式系統息息相關的數字媒體、計算機網路等相關知識,適合有一定計算機硬體基礎、
C語言基礎和Linux作業系統基礎的工程師學習,以及高等院校計算機相關專業的學生和愛好者閱讀,也可以作為工程設計的參考手冊。
目錄
第一章 嵌入式系統基礎 1
1.1 嵌入式系統的起源和發展 1
1.1.1 什麼是嵌入式系統 1
1.1.2 嵌入式系統的發展 6
1.1.3 嵌入式系統的分類 9
1.2 嵌入式系統的構成 10
1.2.1 嵌入式硬體系統 10
1.2.2 嵌入式處理器 11
1.2.3 外圍電路 13
1.2.4 嵌入式軟體系統 14
1.3 一些和嵌入式系統相關的術語介紹 16
1.3.1 積體電路及其生產過程 16
1.3.2 EDA 19
1.3.3 SoC 23
1.3.4 IP核 24
1.4 實例解析和習題 26
1.4.1 實例解析 26
1.4.2 本章習題 28
1.4.3 習題答案 28
第二章 嵌入式系統和數字媒體 29
2.1 信息和數字媒體 29
2.2 文本 29
2.2.1 文本基礎 30
2.2.2 字元集和編碼方式 30
2.2.3 文本的分類 34
2.2.4 文本的處理和展示 35
2.3 圖像 37
2.3.1 圖像的獲取 37
2.3.2 數字圖像的參數 38
2.3.3 圖像壓縮算法和常見檔案類型 39
2.4 音頻 40
2.4.1 音頻的獲取 41
2.4.2 數字音頻的參數 41
2.4.3 音頻壓縮算法和常見檔案的類型 42
2.5 視頻 43
2.5.1 視頻的獲取 43
2.5.2 視頻壓縮算法和視頻檔案的類型 44
2.6 本章小結 45
2.7 實例解析和習題 45
2.7.1 實例解析 45
2.7.2 本章習題 47
2.7.3 習題答案 48
第三章 數字通信及計算機網路 49
3.1 通信和通信系統 49
3.1.1 通信系統的分類 49
3.1.2 幾個數字通信中涉及的關鍵技術 51
3.1.3 數字通信系統的技術指標 54
3.2 計算機網路 55
3.2.1 計算機網路的組成 55
3.2.2 計算機網路的分類 55
3.3.3 計算機網路模型和TCP/IP協定 59
3.4 本章小結 65
3.5 實例解析和習題 65
3.5.1 實例解析 65
3.5.2 本章習題 66
3.5.3 習題答案 67
第四章 嵌入式處理器基礎及ARM 68
4.1 嵌入式系統的處理器的結構 68
4.1.1 指令結構 68
4.1.2 存儲結構 70
4.1.3 I/O連線埠編址方式 71
4.2 常見嵌入式處理器核心介紹 72
4.3 ARM處理器基礎 74
4.3.1 ARM處理器的發展 74
4.3.2 ARM處理器的架構、類型和型號 76
4.3.3 ARM處理器的一些相關術語 77
4.4 ARM處理器的分類和特點 78
4.4.1 ARM Classic系列 78
4.4.2 Cortex-M系列 79
4.4.3 Cortex-R系列 84
4.4.4 Cortex-A系列 86
4.4.5 Cortex-A50系列 88
4.4.5 ARM處理器總結 89
4.5 本章小結 89
4.6 實例解析和習題 89
4.6.1 實例解析 89
4.6.2 本章習題 90
4.6.3 習題答案 91
第五章 ARM處理器編程模型 92
5.1 ARM處理器的工作狀態 92
5.1.1 ARM狀態和Thumb/Thumb-2狀態 92
5.1.2 ARM狀態和Thumb狀態的切換 94
5.1.3 調試狀態 94
5.2 ARM處理器的工作模式 95
5.3 ARM處理器的暫存器組織 96
5.3.1 ARM狀態下的暫存器組織及其套用 96
5.3.2 Thumb狀態下的暫存器組織 99
5.4 ARM處理器的異常處理 100
5.4.1 ARM處理器支持的異常類型 101
5.4.2 ARM處理器的異常向量表和優先權 101
5.4.3 ARM處理器對異常的處理和返回 102
5.5 ARM處理器的數據類型和存儲格式 104
5.5.1 ARM處理器支持的數據類型 104
5.5.2 ARM處理器的存儲格式 105
5.6 ARM處理器的存儲器管理單元和存儲器保護單元 106
5.6.1 存儲器管理單元(MMU) 106
5.6.2 存儲器保護單元(MPU) 110
5.7 本章小結 110
5.8 實例解析和習題 110
5.8.1 實例解析 110
5.8.2 本章習題 112
5.8.3 習題答案 113
第六章 ARM處理器的指令系統和彙編語言程式設計 114
6.1 ARM處理器的指令分類和指令集 114
6.1.1 ARM處理器指令集的特點 114
6.1.2 ARM處理器指令的分類 115
6.1.3 ARM處理器的指令集 119
6.2 ARM處理器的指令格式 120
6.2.1 ARM處理器指令的組成 120
6.2.2 ARM處理器指令的條件域 121
6.3 ARM處理器的定址方式 122
6.3.1 立即定址 122
6.3.2 暫存器定址 122
6.3.3 暫存器間接定址 123
6.3.4 暫存器偏移定址 123
6.3.5 基址定址 124
6.3.6 多暫存器定址 124
6.3.7 相對定址 125
6.3.8 堆疊定址 125
6.4 ARM處理器的偽指令 126
6.4.1 符號定義偽指令 127
6.4.2 數據定義偽指令 128
6.4.3 彙編控制偽指令 128
6.4.4 宏指令 129
6.4.5 其他 129
6.5 ARM處理器的彙編程式設計 130
6.5.1 ARM彙編語言的程式結構 130
6.5.2 ARM彙編語言的語句格式 131
6.5.4 ARM處理器彙編程式設計實例 131
6.6 彙編和C語言混合設計 135
6.6.1 ARM處理器ATPCS規則介紹 135
6.6.2 在C語言中使用彙編語言 137
6.6.3 在彙編語言中使用C語言 140
6.7 本章小結 143
6.8 實例解析和習題 144
6.8.1 實例解析 144
6.8.2 本章習題 145
6.8.3 習題答案 146
第七章 嵌入式系統的硬體結構 147
7.1 SoC的片上匯流排 147
7.1.1 SOC片上匯流排的特點和分類 147
7.1.2 AMBA片上匯流排介紹 151
7.1.3 基於AMBA片上匯流排的SoC晶片結構 152
7.2 ARM嵌入式系統核心結構 153
7.2.2 電源系統 153
7.2.3 復位系統 161
7.2.4 時鐘系統 163
7.3 常用ARM結構處理器及選擇方案 163
7.4 嵌入式系統的存儲器 164
7.4.1 存儲器的體系結構和性能指標 164
7.4.2 高速緩衝存儲器(Cache) 166
7.4.3 SDRAM存儲器 167
7.4.4 FLASH存儲器 170
7.4.4 E2PROM存儲器 176
7.4.5. 大容量存儲系統 176
7.5 本章小結 178
7.6 實例解析和習題 179
7.6.1 實例解析 179
7.6.2 本章習題 181
7.6.3 習題答案 181
第八章 嵌入式系統的外圍設備 182
8.1 輸入設備 182
8.1.1 按鍵 182
8.1.2 鍵盤 183
8.1.3 撥碼開關 185
8.1.4 觸控螢幕 185
8.2 顯示設備 187
8.2.1 發光二極體 187
8.2.2 數碼管 188
8.2.2 液晶顯示 193
8.3 感測器 194
8.3.1 溫度感測器 194
8.3.2 時間感測器 195
8.3.3 其他感測器 196
8.4 本章小結 200
8.5 真題解析和習題 201
8.5.1 真題解析 201
8.5.2 本章習題 202
8.5.3 習題答案 203
第九章 嵌入式系統的輸入輸出接口 204
9.1 通用輸入輸出接口(GPIO) 204
9.2 UART接口 204
9.2.1 UART的通信協定 205
9.2.2 UART接口的硬體模組 205
9.2.3 嵌入式處理器中的UART 206
9.3 I2C匯流排接口 207
9.3.1 I2C匯流排基礎 207
9.3.2 I2C匯流排的信號 208
9.3.3 I2C匯流排的地址 209
9.3.4 嵌入式處理器中的I2C匯流排接口 210
9.4 SPI匯流排接口 210
9.4.1 SPI匯流排的信號 210
9.4.2 嵌入式處理器中的SPI匯流排接口 211
9.5 1-wire匯流排接口 211
9.5.1 1-wire匯流排基礎 211
9.5.2 1-wire匯流排的命令和時序 212
9.5.2 嵌入式處理器中的1-wire匯流排接口 214
9.5 USB匯流排接口 214
9.5.1 USB匯流排的版本和特點 214
9.5.2 USB匯流排的組成和外部接口 215
9.5.3 嵌入式處理器中的USB匯流排 216
9.6 視頻接口(HDMI、VGA和DVI) 216
9.7 本章小結 217
9.8 真題解析和習題 218
9.8.1 真題解析 218
9.8.2 本章習題 219
9.8.3 習題答案 220
第十章 嵌入式系統的遠程通信接口 22