《ARMCortex-M4體系結構與外設接口實戰開發》是2014年8月電子工業出版社出版的圖書,作者是北京通聯物網教育諮詢有限公司奚海蛟,童強,林慶峰。
基本介紹
- 書名:ARMCortex-M4體系結構與外設接口實戰開發
- 作者:北京通聯物網教育諮詢有限公司奚海蛟,童強,林慶峰
- ISBN:9787121239076
- 出版社:電子工業出版社
- 出版時間:2014年8月
- 頁數:336
- 字數:530千字
- 開本:16(185*260)
- 版次:01-01
內容簡介
圖書目錄
第1章 Cortex-M4核心簡介1
1.1 主流的ARM處理器介紹1
1.1.1 ARM體系結構的命名規則2
1.1.2 ARM Cortex應用程式處理器2
1.1.3 ARM Cortex嵌入式處理器4
1.1.4 經典ARM處理器8
1.1.5 ARM專家處理器9
1.1.6 其他ARM處理器10
1.1.7 ARM處理器的特點11
1.2 套用領域11
1.3 ARM Cortex-M4簡介12
1.3.1 Cortex-M4信號處理技術13
1.3.2 ARM Cortex-M微控制器技術13
1.4 以ARM Cortex-M4為核心的處理器14
本章小結16
第2章 Cortex-M4核心結構17
2.1 Cortex-M4處理器與核心外圍設備17
2.2 流水線21
2.3 Cortex-M4的匯流排接口23
2.4 Cortex-M4相關暫存器組28
2.4.1 暫存器28
2.4.2 異常與中斷34
2.5 操作模式34
本章小結35
第3章 Cortex-M4彙編指令集37
3.1 Cortex-M4指令集37
3.1.1 ARM32和Thumb指令集37
3.1.2 Thumb-2指令集38
3.2 CMSIS標準38
3.3 ARM彙編語言基礎39
3.3.1 指令的格式40
3.3.2 運算元40
3.3.3 PC與SP暫存器的使用限制40
3.3.4 靈活的第二個運算元40
3.3.5 移位運算40
3.3.6 地址對齊43
3.3.7 標號——PC相對地址表達式44
3.3.8 條件碼44
3.3.9 指令寬度46
3.4 Cortex-M4處理器定址方式47
3.4.1 立即定址47
3.4.2 暫存器定址48
3.4.3 暫存器間接定址48
3.4.4 暫存器偏移定址48
3.4.5 基址變址定址48
3.4.6 多暫存器定址49
3.4.7 堆疊定址49
3.5 Cortex-M4指令集50
3.5.1 分支指令50
3.5.2 常見的數據處理指令55
3.5.3 乘除指令59
3.5.4 飽和指令61
3.5.5 擴展指令62
3.5.6 位段操作指令63
3.5.7 狀態暫存器訪問指令65
3.5.8 載入存儲指令67
3.5.9 多暫存器載入和存儲指令69
3.5.10 雜項處理指令70
3.5.11 異常生成指令72
3.5.12 協處理指令——Cortex-M4不支持的指令73
3.6 彙編實例74
本章小結75
第4章 DSP擴展指令和FPU77
4.1 簡介77
4.2 DSP擴展指令77
4.2.1 乘加指令78
4.2.2 飽和指令82
4.2.3 位段指令83
4.2.4 SIMD並行加減指令85
4.2.5 雜項數據處理指令86
4.3 FPU87
4.3.1 FPU的暫存器87
4.3.2 FPU的操作模式88
4.3.3 浮點數載入存儲指令88
4.3.4 浮點數暫存器傳送指令89
4.3.5 浮點數數據處理指令89
本章小結91
第5章 Cortex-M4彙編與C混合編程93
5.1 ATPCS概述93
5.1.1 暫存器的使用規則94
5.1.2 數據棧使用規則94
5.1.3 參數傳遞規則95
5.2 內嵌彙編96
5.2.1 內嵌彙編的語法格式96
5.2.2 內嵌彙編指令的特點96
5.2.3 內嵌彙編指令注意事項98
5.2.4 內嵌彙編指令舉例100
5.3 ARM中的彙編和C語言相互調用101
5.3.1 從彙編程式中訪問C程式變數102
5.3.2 C程式調用彙編程式102
5.3.3 彙編程式調用C程式104
本章小結104
第6章 系統控制和存儲管理105
6.1 系統控制105
6.1.1 系統控制和ID暫存器106
6.1.2 系統定時器107
6.1.3 可嵌套中斷向量控制器(NVIC)108
6.1.4 記憶體保護系統架構(PMSAv7)109
6.2 記憶體映射109
6.2.1 對齊訪問112
6.2.2 位元組序(Endian)113
6.3 位帶操作114
6.3.1 bit-band和bit-band alias區域的訪問116
6.3.2 bit-banding的功能116
6.4 記憶體保護單元(MPU)117
6.4.1 記憶體保護單元(MPU)簡介117
6.4.2 MPU暫存器組119
6.4.3 MPU套用示例122
本章小結123
第7章 Cortex-M4的異常處理125
7.1 異常類型125
7.2 異常的優先權127
7.3 異常向量表130
7.4 異常處理131
7.4.1 異常的進入131
7.4.2 異常中斷的回響時序132
7.4.3 異常的返回133
7.4.4 中斷late-arrive和tail-chaining機制133
7.5 故障類異常135
7.5.1 匯流排故障135
7.5.2 存儲器管理故障136
7.5.3 套用故障138
7.5.4 硬故障139
本章小結139
第8章 嵌套中斷向量控制器141
8.1 NVIC介紹141
8.2 NVIC工作原理142
8.3 NVIC暫存器143
8.4 中斷編程實例145
本章小結151
第9章 Cortex-M4調試與跟蹤系統153
9.1 嵌入式調試技術概述153
9.2 CoreSight技術介紹154
9.3 Cortex-M4調試架構155
9.4 SW-DP和SWJ-DP156
9.4.1 SWJ-DP156
9.4.2 SWJ-DP接口157
9.4.3 SWJ-DP中JTAG和SWD的選擇機制157
9.5 Cortex-M4調試模式158
9.6 Cortex-M4的跟蹤系統160
9.6.1 數據觀察點與跟蹤(DWT)161
9.6.2 儀器化跟蹤宏單元(ITM)162
9.6.3 嵌入式跟蹤單元ETM163
9.6.4 跟蹤連線埠接口單元(TPIU)163
9.6.5 快閃記憶體地址重載及斷點單元(FPB)164
本章小結165
第10章 開發環境介紹167
10.1 USBDM調試器167
10.2 CodeWarrior for MCU v10.2介紹168
10.2.1 CodeWarrior的功能和特點168
10.2.2 CodeWarrior安裝與配置168
10.2.3 建立第一個工程169
10.3 Keil MDK介紹171
10.4 Keil ULINK仿真器173
10.5 MDK-ARM的軟體開發周期174
10.6 μVisionIDE的使用174
10.6.1 μVision調試器176
10.6.2 建立第一個工程177
10.6.3 調試180
10.6.4 燒寫Flash185
10.7 IAR for ARM基本介紹186
10.7.1 IAR EWARM 開發環境IDE介紹187
10.7.2 建立第一個工程188
10.7.3 調試器C-SPY191
本章小結193
第11章 以μC/OS-II移植例程理解Cortex-M4核心編程195
11.1 μC/OS-II作業系統195
11.1.1 μC/OS-II作業系統簡介195
11.1.2 μC/OS-II的工作原理196
11.2 μC/OS-II在Kinetis K10開發板上的移植196
11.2.1 μC/OS-II目錄結構簡介196
11.2.2 移植概述197
11.2.3 移植詳解198
11.3 測試μC/OS-II209
11.4 板級支持包214
本章小結214
第12章 基於Cortex-M4核心的Kinetis架構介紹215
12.1 Cortex-M4匯流排接口215
12.2 Cortex-M4核心同Kinetis系統架構的連線216
12.3 交叉開關218
12.3.1 交叉開關簡介218
12.3.2 交叉開關的暫存器定義218
12.3.3 交叉開關功能描述219
12.3.4 Kinetis K10處理器中的交叉開關219
12.3.5 Kinetis K10處理器中的MPU220
本章小結221
第13章 Kinetis系統控制模組和時鐘模組223
13.1 Kinetis的系統控制223
13.1.1 Kinetis架構223
13.1.2 核心匯流排224
13.1.3 交叉開關224
13.1.4 記憶體耦合226
13.1.5 系統訪問時間228
13.2 時鐘管理229
13.2.1 多時鐘發生器229
13.2.2 系統振盪器235
13.2.3 實時時鐘振盪器238
13.3 電源管理238
13.3.1 電源模式239
13.3.2 進入及退出電源模式240
13.3.3 電源模式轉換240
13.3.4 電源模式關閉序列240
13.3.5 低功耗模式操作模組241
13.3.6 時鐘門控技術244
13.3.7 時鐘初始化實例244
本章小結248
第14章 Freescale Kinetis開發實例249
14.1 系統初始化框架249
14.2 GPIO257
14.3 實時時鐘RTC266
14.4 通用異步收發器272
14.4.1 UART功能概述272
14.4.2 UART相關暫存器273
14.4.3 UART測試實例278
14.5 定時器287
14.5.1 定時器簡介287
14.5.2 定時器測試實例288
14.6 看門狗291
14.6.1 看門狗簡介291
14.6.2 測試實例293
14.7 模/數轉換模組295
14.7.1 ADC功能概述295
14.7.2 ADC特殊功能暫存器296
14.7.3 ADC測試實例298
14.8 矩陣鍵盤300
14.8.1 鍵盤概述300
14.8.2 矩陣鍵盤測試實例302
14.9 PWM模組操作(servo9g舵機)309
14.9.1 FTM功能概述309
14.9.2 FTM特殊功能暫存器310
14.9.3 FTM控制舵機測試實例318
本章小結324
參考文獻325