定 價:75 元
叢書名:高等學(xué)校新工科計(jì)算機(jī)類專業(yè)系列教材
- 作者:王忠民
- 出版時間:2025/6/1
- ISBN:9787560676517
- 出 版 社:西安電子科技大學(xué)出版社
- 中圖法分類:TP360.21
- 頁碼:
- 紙張:
- 版次:1
- 開本:16開
本書介紹了嵌入式系統(tǒng)的概念、ARM處理器的發(fā)展歷程、Cortex系列處理器和STM32微控制器,詳細(xì)講解了ARM Cortex-M3微處理器的體系結(jié)構(gòu)、指令系統(tǒng)以及基于該處理器的程序設(shè)計(jì)方法。在硬件接口編程部分,本書圍繞STM32F103微控制器,詳細(xì)介紹了GPIO、定時器、外部中斷、USART、I2C和ADC等關(guān)鍵外設(shè)的原理及應(yīng)用,通過大量的實(shí)例仿真,幫助讀者掌握這些外設(shè)的使用方法和編程技巧。此外,本書還介紹了嵌入式操作系統(tǒng)的基本概念,并以μC/OS-II為例,深入講解了嵌入式應(yīng)用程序的開發(fā)過程,使讀者能夠了解并掌握嵌入式操作系統(tǒng)在復(fù)雜嵌入式系統(tǒng)中的應(yīng)用。
本書可作為高等院校計(jì)算機(jī)、電子信息、自動化等專業(yè)本科生、研究生嵌入式系統(tǒng)課程的教材,也可供從事嵌入式系統(tǒng)開發(fā)的技術(shù)人員參考。
第1章 ARM嵌入式系統(tǒng)概述 1
1.1 嵌入式系統(tǒng)概述 2
1.1.1 計(jì)算機(jī)的發(fā)展歷程 2
1.1.2 “后PC時代”計(jì)算機(jī)的
發(fā)展趨勢 2
1.1.3 嵌入式系統(tǒng)的發(fā)展歷程 3
1.2 ARM處理器的發(fā)展歷程 5
1.2.1 ARM公司的發(fā)展歷程 5
1.2.2 ARM架構(gòu)及處理器的發(fā)展歷程 6
1.3 ARM Cortex處理器 9
1.3.1 ARM Cortex處理器的分類 9
1.3.2 Cortex-M系列處理器 10
1.3.3 Cortex-M3處理器 11
1.4 STM32微控制器 12
1.4.1 STM32系列微控制器命名規(guī)則 13
1.4.2 STM32主要產(chǎn)品線 14
1.5 Keil MDK5嵌入式系統(tǒng)集成開發(fā)工具 15
1.5.1 Keil MDK5概述 15
1.5.2 基于ARM Cortex-M3處理器的
工程構(gòu)建 16
1.5.3 基于STM32F1系列微控制器
芯片支持包的工程構(gòu)建 17
1.6 嵌入式系統(tǒng)設(shè)計(jì)與開發(fā) 18
1.6.1 嵌入式交叉開發(fā)環(huán)境 18
1.6.2 嵌入式軟件開發(fā) 19
1.6.3 基于Proteus的嵌入式系統(tǒng)
硬件設(shè)計(jì) 19
1.6.4 嵌入式系統(tǒng)調(diào)試 22
1.7 嵌入式系統(tǒng)學(xué)習(xí)建議 24
1.7.1 ARM Cortex-M3處理器學(xué)習(xí)
難點(diǎn)及建議 24
1.7.2 STM32F103微控制器學(xué)習(xí)
難點(diǎn)及建議 24
1.7.3 嵌入式系統(tǒng)開發(fā)學(xué)習(xí)難點(diǎn)及建議 25
本章小結(jié) 26
習(xí)題 27
第2章 ARM Cortex-M3 微處理器
體系結(jié)構(gòu) 28
2.1 ARM Cortex體系結(jié)構(gòu)概述 29
2.1.1 馮??諾依曼結(jié)構(gòu)和哈佛結(jié)構(gòu) 29
2.1.2 復(fù)雜指令集CISC和精簡
指令集RISC 30
2.1.3 操作模式和特權(quán)級別 31
2.2 Cortex-M3的組成 33
2.2.1 Cortex-M3處理器核 33
2.2.2 存儲器保護(hù)單元MPU 34
2.2.3 Cortex-M3總線接口 35
2.2.4 跟蹤系統(tǒng) 38
2.2.5 調(diào)試接口 39
2.3 寄存器陣列 39
2.3.1 通用寄存器組 39
2.3.2 特殊功能寄存器 41
2.4 存儲器系統(tǒng) 44
2.4.1 Cortex-M3存儲器映射 44
2.4.2 位帶操作 46
2.4.3 存儲格式 50
2.5 中斷與異常 51
2.5.1 嵌套向量中斷控制器NVIC 51
2.5.2 中斷向量表 54
2.5.3 系統(tǒng)復(fù)位過程 55
本章小結(jié) 56
習(xí)題 57
第3章 ARM Cortex-M3指令系統(tǒng) 60
3.1 匯編語言基礎(chǔ) 61
3.1.1 ARM匯編語言指令集簡介 61
3.1.2 ARM匯編語言源程序的組成 61
3.1.3 Thumb-2指令集的編碼格式 64
3.1.4 純匯編工程的構(gòu)建 66
3.2 尋址方式 72
3.2.1 立即數(shù)尋址方式 73
3.2.2 寄存器(寄存器移位)尋址方式 77
3.2.3 存儲器尋址方式 77
3.2.4 地址型操作數(shù)尋址方式 80
3.3 匯編語言指令系統(tǒng) 80
3.3.1 算術(shù)運(yùn)算指令 84
3.3.2 邏輯運(yùn)算與位操作指令 86
3.3.3 內(nèi)部數(shù)據(jù)傳送指令 90
3.3.4 存儲器數(shù)據(jù)傳輸(Load/Store)
指令 92
3.3.5 比較與測試指令 95
3.3.6 控制轉(zhuǎn)移指令 96
本章小結(jié) 97
習(xí)題 98
第4章 基于ARM Cortex-M3微處理器的
程序設(shè)計(jì) 102
4.1 ARM匯編語言的程序結(jié)構(gòu) 102
4.2 ARM匯編器偽指令 104
4.2.1 段定義偽指令 104
4.2.2 數(shù)據(jù)定義偽指令 105
4.2.3 過程定義偽指令 107
4.2.4 宏定義偽指令 108
4.2.5 其他偽指令 108
4.3 ARM匯編語言程序設(shè)計(jì) 110
4.3.1 順序程序 110
4.3.2 分支程序 111
4.3.3 循環(huán)程序 113
4.3.4 過程調(diào)用 116
4.4 C與匯編語言混合編程 118
4.4.1 ARM架構(gòu)過程調(diào)用標(biāo)準(zhǔn)
AAPCS 119
4.4.2 C程序內(nèi)嵌匯編代碼 121
4.4.3 C程序調(diào)用匯編過程 123
4.4.4 匯編程序調(diào)用C函數(shù) 126
4.4.5 C與匯編程序變量互訪 129
本章小結(jié) 131
習(xí)題 131
第5章 STM32F103微控制器 133
5.1 STM32系列微控制器概述 133
5.1.1 STM32系列微控制器 134
5.1.2 STM32F103系列微控制器 134
5.2 STM32F103微控制器組成 136
5.2.1 系統(tǒng)架構(gòu) 136
5.2.2 存儲結(jié)構(gòu) 139
5.2.3 中斷系統(tǒng) 143
5.2.4 時鐘系統(tǒng) 149
5.2.5 引腳定義 153
5.2.6 啟動配置 153
5.3 STM32F103微控制器最小系統(tǒng) 154
5.3.1 電源電路 156
5.3.2 時鐘電路 156
5.3.3 復(fù)位電路 157
5.3.4 調(diào)試與下載電路 158
本章小結(jié) 159
習(xí)題 160
第6章 基于STM32F103微控制器的
嵌入式系統(tǒng)開發(fā)基礎(chǔ) 162
6.1 STM32開發(fā)模式 163
6.1.1 寄存器開發(fā)模式 165
6.1.2 標(biāo)準(zhǔn)外設(shè)庫開發(fā)模式 168
6.1.3 HAL庫開發(fā)模式 170
6.1.4 LL庫開發(fā)模式 171
6.2 CMSIS軟件接口標(biāo)準(zhǔn)及其支持包 173
6.2.1 CMSIS軟件接口標(biāo)準(zhǔn) 174
6.2.2 STM32F1xx微控制器的設(shè)備
支持包下載與安裝 175
6.2.3 基于設(shè)備支持包的工程構(gòu)建 176
6.3 STM32F1標(biāo)準(zhǔn)外設(shè)庫 177
6.3.1 STM32F10x標(biāo)準(zhǔn)外設(shè)庫的
組成 177
6.3.2 STM32F10x標(biāo)準(zhǔn)外設(shè)庫中的
文件關(guān)系 179
6.3.3 標(biāo)準(zhǔn)外設(shè)庫C語言基礎(chǔ) 185
6.4 基于標(biāo)準(zhǔn)外設(shè)庫的工程構(gòu)建 188
6.4.1 創(chuàng)建存放工程的工程文件夾 188
6.4.2 在Keil MDK中創(chuàng)建工程 190
6.5 嵌入式系統(tǒng)的仿真與調(diào)試 198
6.5.1 基于Proteus的仿真調(diào)試 198
6.5.2 基于硬件調(diào)試器的調(diào)試 199
本章小結(jié) 201
習(xí)題 202
第7章 GPIO原理及應(yīng)用 204
7.1 GPIO概述 205
7.2 STM32F103中的GPIO 206
7.2.1 GPIO的引腳描述 206
7.2.2 GPIO的內(nèi)部結(jié)構(gòu) 207
7.2.3 GPIO的工作模式 208
7.2.4 GPIO的內(nèi)部寄存器 209
7.3 GPIO庫函數(shù)開發(fā)原理 213
7.4 基于寄存器的GPIO輸入輸出
仿真與實(shí)現(xiàn) 217
7.4.1 功能描述與硬件設(shè)計(jì) 217
7.4.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 217
7.5 基于標(biāo)準(zhǔn)外設(shè)庫的GPIO輸入輸出
仿真與實(shí)現(xiàn) 221
7.5.1 標(biāo)準(zhǔn)外設(shè)庫中與GPIO相關(guān)的
常用接口函數(shù) 221
7.5.2 GPIO輸入輸出仿真與實(shí)現(xiàn) 222
本章小結(jié) 227
習(xí)題 228
第8章 定時器原理及應(yīng)用 229
8.1 定時器概述 229
8.2 STM32F103的定時器 231
8.2.1 STM32F103定時器分類 231
8.2.2 基本定時器 233
8.2.3 通用定時器 235
8.2.4 高級控制定時器 248
8.3 基于寄存器操作的定時器應(yīng)用實(shí)例
?仿真與實(shí)現(xiàn) 248
8.3.1 功能描述與硬件設(shè)計(jì) 248
8.3.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 249
8.4 基于標(biāo)準(zhǔn)外設(shè)庫的定時器應(yīng)用
實(shí)例仿真與實(shí)現(xiàn) 252
8.4.1 標(biāo)準(zhǔn)外設(shè)庫中與通用定時器
相關(guān)的常用接口函數(shù) 253
8.4.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 253
本章小結(jié) 258
習(xí)題 259
第9章 外部中斷及應(yīng)用 260
9.1 中斷概述 260
9.2 STM32F103的外部中斷 262
9.2.1 NVIC的主要寄存器 263
9.2.2 EXTI內(nèi)部結(jié)構(gòu) 270
9.2.3 EXTI工作原理 272
9.2.4 EXTI內(nèi)部寄存器 272
9.3 基于寄存器操作的中斷應(yīng)用實(shí)例
?仿真與實(shí)現(xiàn) 274
9.3.1 功能描述與硬件設(shè)計(jì) 274
9.3.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 274
9.4 基于標(biāo)準(zhǔn)外設(shè)庫的中斷應(yīng)用實(shí)例
?仿真與實(shí)現(xiàn) 279
9.4.1 標(biāo)準(zhǔn)外設(shè)庫中與EXTI相關(guān)的
接口函數(shù) 279
9.4.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 280
本章小結(jié) 285
習(xí)題 286
第10章 USART原理及應(yīng)用 287
10.1 數(shù)據(jù)通信的基本概念 287
10.2 STM32F103中的USART 290
10.2.1 USART的內(nèi)部結(jié)構(gòu) 290
10.2.2 USART的數(shù)據(jù)傳輸過程 293
10.2.3 USART中斷 296
10.2.4 USART內(nèi)部寄存器 297
10.3 基于寄存器操作的USART應(yīng)用
實(shí)例仿真與實(shí)現(xiàn) 300
10.3.1 功能描述與硬件設(shè)計(jì) 300
10.3.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 301
10.4 基于標(biāo)準(zhǔn)外設(shè)庫的USART應(yīng)用
實(shí)例仿真與實(shí)現(xiàn) 309
10.4.1 標(biāo)準(zhǔn)外設(shè)庫中與USART
相關(guān)的接口函數(shù) 309
10.4.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 310
本章小結(jié) 317
習(xí)題 318
第11章 I2C串行通信原理及應(yīng)用 319
11.1 I2C串行通信原理 319
11.2 STM32F103中的I2C接口 321
11.2.1 STM32F103微控制器I2C
接口簡介 322
11.2.2 STM32F103微控制器I2C
接口工作原理 323
11.2.3 STM32F103微控制器I2C
內(nèi)部寄存器 327
11.3 基于寄存器操作的I2C應(yīng)用實(shí)例
?仿真與實(shí)現(xiàn) 335
11.3.1 功能描述與硬件設(shè)計(jì) 336
11.3.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 336
11.4 基于標(biāo)準(zhǔn)外設(shè)庫的I2C應(yīng)用實(shí)例
仿真與實(shí)現(xiàn) 341
11.4.1 標(biāo)準(zhǔn)外設(shè)庫中與I2C相關(guān)的
接口函數(shù) 341
11.4.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 342
本章小結(jié) 349
習(xí)題 350
第12章 ADC原理及應(yīng)用 351
12.1 ADC概述 352
12.2 STM32F103中的ADC接口 354
12.2.1 ADC接口簡介 354
12.2.2 ADC的內(nèi)部結(jié)構(gòu) 355
12.2.3 STM32F103的ADC工作原理 357
12.2.4 ADC內(nèi)部寄存器 362
12.3 基于寄存器操作的ADC應(yīng)用實(shí)例
仿真與實(shí)現(xiàn) 367
12.3.1 功能描述與硬件設(shè)計(jì) 367
12.3.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 367
12.4 基于標(biāo)準(zhǔn)外設(shè)庫的ADC應(yīng)用實(shí)例
仿真與實(shí)現(xiàn) 373
12.4.1 標(biāo)準(zhǔn)外設(shè)庫中與ADC相關(guān)的
接口函數(shù) 373
12.4.2 軟件設(shè)計(jì)與仿真實(shí)現(xiàn) 373
本章小結(jié) 380
習(xí)題 381
第13章 基于嵌入式操作系統(tǒng)的應(yīng)用
?程序開發(fā) 382
13.1 嵌入式應(yīng)用程序開發(fā)的特點(diǎn) 382
13.1.1 開發(fā)調(diào)試環(huán)境的建立 383
13.1.2 基于嵌入式處理器的直接
編程技術(shù) 384
13.1.3 基于嵌入式操作系統(tǒng)的
編程技術(shù) 385
13.2 μC/OS-Ⅱ應(yīng)用程序結(jié)構(gòu)分析 386
13.3 基于μC/OS-Ⅱ的程序設(shè)計(jì)技術(shù) 388
13.3.1 任務(wù)劃分與設(shè)計(jì) 388
13.3.2 任務(wù)間行為同步 390
13.3.3 任務(wù)間共享資源同步 392
13.3.4 任務(wù)間數(shù)據(jù)通信 394
13.4 μC/OS-Ⅱ在ARM微處理器上的
移植 394
13.4.1 μC/OS-Ⅱ?qū)μ幚砥鞯囊?394
13.4.2 μC/OS-Ⅱ移植相關(guān)文件 394
13.4.3 μC/OS-Ⅱ移植過程 397
13.5 應(yīng)用程序設(shè)計(jì)實(shí)例 407
13.5.1 功能描述與硬件設(shè)計(jì) 407
13.5.2 應(yīng)用程序設(shè)計(jì) 408
本章小結(jié) 414
習(xí)題 415
參考文獻(xiàn) 416