基本介紹
- 中文名:
- 出版時間:
- 出版社:
- ISBN:
內容簡介,圖書目錄,
內容簡介
圖書目錄
3.15 Cortex-M23與Cortex-M33
處理器的關鍵功能增強 53
3.16 與其他Cortex-M系列處理器的
兼容性 57
3.17 處理器配置選項 57
3.18 TrustZone功能介紹 59
3.19 為什麼TrustZone能帶來更好的
安全性 65
3.20 使用僅執行記憶體保護固件 68
參考文獻 69
第4章 架構 70
4.1 Armv8-M指令集架構簡介 70
4.2 編程者模型 72
4.3 記憶體系統 94
4.4 異常與中斷 105
4.5 調試 112
4.6 復位與復位順序 114
4.7 其他架構相關內容 117
參考文獻 118
第5章 指令集 119
5.1 背景 119
5.2 Cortex-M系列處理器的指令集
特徵 120
5.3 了解彙編語言語法 123
5.4 指令後綴的使用 127
5.5 統一彙編語言 128
5.6 指令集—處理器內部數據傳送
指令 129
5.7 指令集—記憶體訪問 134
5.8 指令集—算術運算 153
5.9 指令集—邏輯運算 157
5.10 指令集—移位和循環操作 158
5.11 指令集—數據轉換(擴展和
反向排序) 160
5.12 指令集—位域處理 162
5.13 指令集—飽和操作 163
5.14 指令集—程式流程控制 165
5.15 指令集—DSP擴展 174
5.16 指令集—浮點支持指令 182
5.17 指令集—異常相關指令 187
5.18 指令集—睡眠模式相關
指令 189
5.19 指令集—記憶體屏障指令 190
5.20 指令集—TrustZone支持
指令 192
5.21 指令集—協處理器和Arm
自定義指令支持 193
5.22 指令集—其他函式 197
5.23 基於CMSIS-CORE訪問特殊
暫存器 199
參考文獻 201
第6章 記憶體系統 202
6.1 記憶體系統概述 202
6.2 記憶體映射 204
6.3 記憶體類型和記憶體屬性 206
6.4 訪問許可權管理 210
6.5 記憶體中的位元組順序 213
6.6 數據對齊和非對齊數據的訪問
支持 216
6.7 獨占訪問支持 217
6.8 記憶體排序和記憶體屏障指令 220
6.9 匯流排等待狀態和錯誤支持 221
6.10 單周期I/O連線埠(僅限於Cortex-M23) 223
6.11 微控制器中的記憶體系統 224
6.12 軟體方面的考慮 229
參考文獻 230
第7章 在記憶體系統中支持TrustZone 231
7.1 概覽 231
7.2 SAU與IDAU 232
7.3 備份與不備份的暫存器 234
7.4 測試目標指令與分區ID編號 236
7.5 記憶體保護控制器與外設保護
控制器 241
7.6 安全自適應外設 243
參考文獻 244
第8章 異常與中斷—架構
概述 245
8.1 異常與中斷概述 245
8.2 異常類型 248
8.3 異常與中斷管理概述 250
8.4 異常序列 252
8.5 異常優先權定義 255
8.6 中斷向量表與中斷向量表偏移
暫存器 260
8.7 中斷輸入與中斷掛起行為 262
8.8 安全TrustZone系統中的異常與
中斷目標狀態 266
8.9 棧幀 268
8.10 EXC_RETURN 277
8.11 同步異常與異步異常分類 281
參考文獻 282
第9章 異常和中斷管理 283
9.1 異常和中斷管理概述 283
9.2 用於中斷管理的NVIC暫存器 287
9.3 用於系統異常管理的SCB
暫存器 293
9.4 用於異常或中斷禁止的特殊
暫存器 300
9.5 編程中的向量表定義 306
9.6 中斷延遲和異常處理最佳化 309
9.7 提示與技巧 313
參考文獻 314
第10章 低功耗及系統控制
特性 315
10.1 低功耗需求 315
10.2 Cortex-M23/M33的低功耗
特性 316
10.3 WFI、WFE、SEV的更多指令
介紹 327
10.4 開發低功耗套用 332
10.5 系統控制塊和系統控制特性 334
10.6 輔助控制暫存器 341
10.7 系統控制塊中的其他暫存器 342
第11章 支持作業系統的特性 343
11.1 支持作業系統的特性概述 343
11.2 系統計時器 344
11.3 棧指針備份 352
11.4 棧限制檢查 356
11.5 SVCall與PendSV異常 360
11.6 非特權執行等級與記憶體保護
單元 367
11.7 獨占訪問 368
11.8 如何在支持TrustZone安全功能
擴展的系統環境運行RTOS 370
11.9 Cortex-M系列處理器中的RTOS
操作概念 372
參考文獻 383
第12章 記憶體保護單元 384
12.1 記憶體保護單元概述 384
12.2 MPU暫存器 386
12.3 MPU配置 393
12.4 TrustZone和MPU 400
12.5 Armv8-M架構與前幾代架構關於MPU的主要區別 402
參考文獻 403
第13章 故障異常與故障處理 404
13.1 概述 404
13.2 故障的產生原因 406
13.3 啟用故障異常事件 412
13.4 故障處理程式的設計考慮 413
13.5 故障狀態與其他信息 415
13.6 死鎖 422
13.7 故障事件分析 424
13.8 棧跟蹤 426
13.9 在故障處理程式中抽取棧幀並
列印故障狀態 428
參考文獻 431
第14章 Cortex-M33處理器的
浮點單元 432
14.1 浮點數 432
14.2 Cortex-M33中的浮點運算
單元 436
14.3 Cortex-M33 FPU和Cortex-M4
FPU的主要區別 448
14.4 延遲入棧詳解 449
14.5 使用FPU 455
14.6 浮點異常 460
14.7 提示與技巧 463
參考文獻 463
第15章 協處理器接口與Arm
自定義指令 464
15.1 概述 464
15.2 架構概述 470
15.3 在C語言中通過內建函式訪問
協處理器指令 470
15.4 在C語言中通過內建函式使用
Arm自定義指令 472
15.5 啟用協處理器和Arm自定義
指令時要採取的軟體步驟 474
15.6 協處理器功耗控制 474
15.7 提示與技巧 475
參考文獻 476
第16章 調試和跟蹤功能 477
16.1 概述 477
16.2 調試架構細節 482
16.3 調試組件簡介 493
16.4 啟動調試會話 523
16.5 快閃記憶體編程支持 524
16.6 軟體設計注意事項 525
參考文獻 525
第17章 軟體開發 526
17.1 概述 526
17.2 Keil MDK入門 528
17.3 Arm架構的過程調用標準 562
17.4 軟體場景 564
參考文獻 566
第18章 安全軟體開發 567
18.1 安全軟體開發概述 567
18.2 TrustZone技術細節 569
18.3 安全軟體開發流程 580
18.4 在Keil MDK中創建安全
項目 595
18.5 其他工具鏈中的CMSE支持 605
18.6 安全軟體設計考慮 606
參考文獻 620
第19章 Cortex-M33處理器中的數位訊號處理 621
19.1 為何微控制器中需要DSP 621
19.2 使用Cortex-M系列處理器開發DSP套用的理由 622
19.3 點乘案例 624
19.4 利用SIMD指令獲得更高的
性能 626
19.5 處理溢出 628
19.6 用於數位訊號處理的數據類型 631
19.7 Cortex-M33 DSP指令 634
19.8 針對Cortex-M33處理器編寫
最佳化的DSP代碼 647
參考文獻 664
第20章 使用Arm CMSIS-
DSP庫 665
20.1 庫概述 665
20.2 函式命名約定 667
20.3 獲取幫助 667
20.4 示例1—DTMF演示 667
20.5 示例2—通過最小二乘法實現
運動跟蹤 678
20.6 示例3—實時濾波器設計 682
20.7 如何確定基於Cortex-M33的
系統所支持的指令集特性 705
參考文獻 706
第21章 進階主題 707
21.1 關於棧記憶體保護的更多信息 707
21.2 信號量、載入獲取和存儲釋放
指令 708
21.3 非特權中斷處理程式 711
21.4 中斷處理程式重入 717
21.5 軟體最佳化主題 721
參考文獻 731
第22章 IoT安全和PSA
Certified框架簡介 732
22.1 從處理器架構到IoT安全 732
22.2 PSA Certified簡介 733
22.3 TF-M項目 741
22.4 附加信息 746
參考文獻 747