本書共15章,前14章分別介紹嵌入式系統基礎知識、ARM技術概述、Cortex-A53編程模型、ARM開發(fā)環(huán)境搭建、ARM微處理器的指令系統、ARM匯編語言程序設計、ARMv8異常處理、通用I/O接口、ARM外部中斷、UART串行通信接口、PWM定時器與“看門狗”定時器、A/D轉換器、SPI總線接口、I2C總線接口;最后一章提供一個綜合案例。
劉洪濤 2005年畢業(yè)于北京工業(yè)大學機電工程專業(yè),碩士研究生學歷,目前就職于北京華清遠見科技信息有限公司。職位是華清遠見技術總監(jiān);ARM公司全球認證講師;參與編寫過幾十本專業(yè)圖書;國內知名物聯網方向技術顧問;首批高校物聯網專業(yè)建設教學指導委員會專家委員會成員;豐富的嵌入式及物聯網系統軟、硬件產品開發(fā)經驗;主持開發(fā)過多個大型嵌入式及物聯網項目,涉及工業(yè)控制、網絡、通訊、消費電子等眾多領域。
第1章 嵌入式系統基礎知識 1
1.1 嵌入式系統概述 2
1.1.1 嵌入式系統簡介 2
1.1.2 嵌入式系統定義 2
1.1.3 嵌入式系統特點 3
1.1.4 嵌入式操作系統發(fā)展趨勢 4
1.2 嵌入式系統的組成 4
1.2.1 嵌入式系統硬件子系統 5
1.2.2 嵌入式系統軟件子系統 5
1.3 嵌入式系統開發(fā)流程 6
1.3.1 嵌入式系統基本設計流程 6
1.3.2 嵌入式系統的開發(fā)流程 7
1.4 小結 7
1.5 練習題 8
第 2章 ARM技術概述 9
2.1 ARM體系結構的發(fā)展及技術特征 10
2.1.1 ARM公司簡介 10
2.1.2 ARM技術特征 10
2.1.3 ARM體系結構的發(fā)展 11
2.2 ARM微處理器簡介 12
2.2.1 Cortex-A系列處理器 13
2.2.2 Cortex-R系列處理器 14
2.2.3 Cortex-M系列處理器 14
2.2.4 SecurCore系列處理器 15
2.3 ARM微處理器架構 16
2.4 ARM微處理器應用選型 16
2.5 小結 16
2.6 練習題 17
第3章 Cortex-A53編程模型 18
3.1 Cortex-A53處理器功能及特點 19
3.2 Cortex-A53支持的數據類型 20
3.2.1 ARM的基本數據類型 20
3.2.2 浮點數據類型 20
3.2.3 存儲器大 小端模式 21
3.3 Cortex-A53內核工作模式 21
3.4 Cortex-A53存儲系統 第1
3.4.1 存儲管理單元(MMU) 23
3.4.2 高速緩沖存儲器(Cache) 23
3.5 指令流水線 24
3.5.1 指令流水線的概念與原理 24
3.5.2 指令流水線的分類 24
3.5.3 影響指令流水線性能的因素 26
3.6 寄存器組織 26
3.6.1 通用寄存器 26
3.6.2 程序狀態(tài)寄存器 30
3.7 基于Cortex-A53的S5P6818處理器 33
3.8 FS6818開發(fā)平臺簡介 34
3.9 小結 36
3.10 練習題 36
第4章 ARM開發(fā)環(huán)境搭建 37
4.1 FS-JTAG(B)仿真器 38
4.2 開發(fā)環(huán)境的搭建 38
4.2.1 開發(fā)環(huán)境簡介 38
4.2.2 安裝VMware Player 39
4.2.3 解壓縮虛擬機鏡像 41
4.2.4 打開虛擬機 41
4.2.5 連接硬件平臺 43
4.2.6 USB轉串口驅動安裝 43
4.2.7 PuTTY串口第1配置 44
4.3 新建工程 45
4.4 添加已有工程 53
4.5 編譯工程 54
4.6 調試工程 55
4.6.1 配置FS-JTAG調試工具 55
4.6.2 配置調試工具 56
4.6.3 查看2量和寄存器的方法 59
4.6.4 斷點設置方法 60
4.6.5 查看內存數據信息的方法 60
4.6.6 調試結果后的處理 61
4.7 小結 62
4.8 練習題 62
第5章 ARM微處理器的指令系統 63
5.1 ARM指令系統簡介 64
5.1.1 ARM指令分類 64
5.1.2 ARM指令編碼格式 64
5.1.3 ARM指令條件碼域 64
5.2 ARM指令的尋址方式 65
5.2.1 數據處理指令的尋址方式 65
5.2.2 內存訪問指令的尋址方式 67
5.3 ARM指令集 67
5.3.1 數據處理指令 67
5.3.2 Load Store指令 81
5.3.3 跳轉指令 88
5.3.4 程序狀態(tài)寄存器訪問指令 92
5.3.5 異常產生指令 93
5.4 ARM偽指令 93
5.5 小結 94
5.6 練習題 95
第6章 ARM匯編語言程序設計 96
6.1 GNU匯編器支持的ARM偽指令 97
6.1.1 符號定義偽指令 97
6.1.2 數據定義偽指令 98
6.1.3 匯編控制偽指令 101
6.1.4 雜項偽指令 102
6.2 匯編語言的語句格式 104
6.3 匯編語言的程序結構 104
6.4 小結 109
6.5 練習題 110
第7章 ARMv8異常處理 111
7.1 ARMv8異常概述 112
7.2 ARMv8異常種類 112
7.3 ARMv8異常處理 114
7.3.1 異常處理寄存器 115
7.3.2 同步和異步異常 117
7.3.3 由異常引起的執(zhí)行狀態(tài)和異常
級別的改2 118
7.3.4 AArch64異常表 118
7.3.5 中斷處理 119
7.4 小結 121
7.5 練習題 1第1
第8章 通用I O接口 123
8.1 GPIO功能介紹 124
8.2 S5P6818處理器GPIO控制器 124
8.2.1 GPIO功能描述 124
8.2.2 GPIO特性 125
8.2.3 GPIO分組 125
8.2.4 GPIO常用寄存器分類 125
8.2.5 GPIO寄存器詳解 126
8.3 GPIO接口電路與程序設計 128
8.3.1 電路連接 128
8.3.2 寄存器設置 128
8.3.3 程序的編寫 130
8.3.4 調試與運行結果 131
8.4 小結 131
8.5 練習題 131
第9章 ARM外部中斷 132
9.1 ARM中斷控制器簡介 133
9.1.1 中斷軟件分支處理 133
9.1.2 硬件支持的分支處理 134
9.2 S5P6818處理器通用中斷控制器 135
9.2.1 GIC功能模塊 136
9.2.2 GIC中斷控制器中斷類型 137
9.2.3 GIC中斷控制器中斷狀態(tài) 137
9.2.4 GIC中斷處理流程 138
9.3 中斷接口電路與程序設計 138
9.3.1 電路連接 138
9.3.2 寄存器設置 138
9.3.3 程序的編寫 148
9.3.4 調試與運行結果 152
9.4 小結 152
9.5 練習題 152
第10章 UART串行通信接口 153
10.1 串行通信 154
10.1.1 異步串行通信原理 154
10.1.2 RS-232C串口規(guī)范 154
10.1.3 RS-232C接線方式 156
10.2 S5P6818處理器UART控制器 156
10.3 UART接口電路與程序設計 158
10.3.1 電路連接 158
10.3.2 寄存器設置 158
10.3.3 程序的編寫 162
10.3.4 調試與運行結果 165
10.4 小結 166
10.5 練習題 166
第11章 PWM定時器與“看門狗”
定時器 167
11.1 PWM定時器 168
11.2 S5P6818處理器PWM定時器 168
11.3 PWM接口電路與程序設計 171
11.3.1 電路連接 171
11.3.2 寄存器設置 172
11.3.3 程序的編寫 175
11.3.4 調試與運行結果 176
11.4 “看門狗”定時器 176
11.5 S5P6818處理器“看門狗”定時器 177
11.5.1 “看門狗”定時器概述 177
11.5.2 寄存器設置 178
11.5.3 程序的編寫 179
11.5.4 調試與運行結果 181
11.6 小結 181
11.7 練習題 181
2 第1章 A D轉換器 182
12.1 A D轉換器原理 183
12.1.1 A D轉換器的類別 183
12.1.2 A D轉換器的參數 187
12.2 S5P6818處理器的A D轉換器 187
12.3 A D轉換器接口電路與程序設計 188
12.3.1 電路連接 188
12.3.2 寄存器設置 189
12.3.3 程序的編寫 190
12.3.4 調試與運行結果 193
12.4 小結 194
12.5 練習題 194
第13章 SPI總線接口 195
13.1 SPI總線協議 196
13.1.1 SPI總線協議簡介 196
13.1.2 SPI總線協議內容 196
13.2 S5P6818處理器的SPI總線控制器 199
13.3 SPI接口電路與程序設計 200
13.3.1 電路連接 200
13.3.2 寄存器設置 200
13.3.3 程序的編寫 205
13.3.4 調試與運行結果 212
13.4 小結 212
13.5 練習題 212
第14章 I2C總線接口 213
14.1 I2C總線協議 214
14.1.1 I2C總線協議簡介 214
14.1.2 I2C總線協議內容 214
14.2 S5P6818處理器的I2C控制器 216
14.3 I2C接口電路和程序設計 218
14.3.1 電路連接 219
14.3.2 寄存器設置 219
14.3.3 程序的編寫 第13
14.3.4 調試與運行結果 第19
14.4 小結 第19
14.5 練習題 第19
第15章 溫度監(jiān)控系統綜合案例 230
15.1 系統功能 231
15.2 系統組成 231
15.3 接口電路設計 231
15.4 程序設計 234
15.5 運行結果 240
15.6 小結 240
15.7 練習題 240