书籍详情
《官网ArmCortex-M和Cortex-M微处理器权威指南姚文祥微控制器微处理器Cortex-MCortex-MTrustZoneArmv8-M处理器设计技术》[31M]百度网盘|亲测有效|pdf下载
  • 官网ArmCortex-M和Cortex-M微处理器权威指南姚文祥微控制器微处理器Cortex-MCortex-MTrustZoneArmv8-M处理器设计技术

  • 出版社:机械工业出版社官方旗舰店
  • 热度:12450
  • 上架时间:2024-06-30 09:38:03
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

36d008050a11b834.jpg7e29aba89c34375c.jpg







本书着重介绍Armv8-M架构以及Cortex-M23和Cortex-M33处理器的可用功能。

该书涵盖了一系列主题内容,包括指令集、程序员模型、中断处理、操作系统支持和调试功能。本书通过一系列实例演示了如何为Cortex-M23和Cortex-M33处理器创建软件,使嵌入式软件开发人员对Armv8-M架构有所了解。

本书还详细介绍了TrustZone?技术,包括该技术如何有利于物联网应用的安全、操作、该技术如何影响处理器的硬件(如内存架构、中断处理等),以及创建安全软件的各种其他注意事项。






目  录

译者序

前言

致谢

第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