书籍详情

Arm Cortex-M23和Cortex-M33微处理器权威指南

Arm Cortex-M23和Cortex-M33微处理器权威指南

作者:[英]姚文祥(Joseph Yiu)

出版社:机械工业出版社

出版时间:2023-09-01

ISBN:9787111734024

定价:¥259.00

购买这本书可以去
内容简介
  本书着重介绍Armv8-M架构以及Cortex-M23和Cortex-M33处理器的可用功能。该书涵盖了一系列主题内容,包括指令集、程序员模型、中断处理、操作系统支持和调试功能。本书通过一系列实例演示了如何为Cortex-M23和Cortex-M33处理器创建软件,使嵌入式软件开发人员对Armv8-M架构有所了解。本书还详细介绍了TrustZone?技术,包括该技术如何有利于物联网应用的安全、操作、该技术如何影响处理器的硬件(如内存架构、中断处理等),以及创建安全软件的各种其他注意事项。
作者简介
  2015年毕业于清华大学电子科学与技术专业并获博士学位,同年任教于西安电子科技大学微电子学院。主要研究方向包括SOC集成系统设计,AI与无线通信技术,数字信号处理等。
目录
目  录
译者序
前言
致谢
第1章 概述  1
1.1 微控制器与处理器  1
1.2 处理器分类  2
1.3 Cortex-M23和Cortex-M33处理器
与Armv8-M架构  3
1.4 Cortex-M23和Cortex-M33处理器
的特性  4
1.5 为什么有两种不同的处理器  5
1.6 Cortex-M23和Cortex-M33应用  6
1.7 技术特征  7
1.8 与前几代Cortex-M处理器的对比  8
1.9 Cortex-M23和Cortex-M33处理器的优势  10
1.10 了解微控制器编程  12
1.11 延伸阅读  13
参考文献  15
第2章 Cortex-M编程入门  16
2.1 概述  16
2.2 基本概念  18
2.3 Arm Cortex-M编程简介  23
2.4 软件开发流程  33
2.5 Cortex微控制器软件接口标准  35
2.6 软件开发的附加说明  41
参考文献  41
第3章 Cortex-M23与Cortex-M33
处理器技术概述  42
3.1 Cortex-M23与Cortex-M33
处理器的设计原则  42
3.2 结构图  43
3.3 处理器  45
3.4 指令集  46
3.5 内存映射  47
3.6 总线接口  48
3.7 内存保护  49
3.8 中断与异常处理  50
3.9 低功耗特性  51
3.10 操作系统支持  51
3.11 浮点运算单元  52
3.12 协处理器接口与Arm自定义
指令  52
3.13  调试与跟踪支持  52
3.14 多核系统设计支持  53
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
猜您喜欢

读书导航