第一章 介绍
背景
各行各业对于单片机的能力要求越来越高,希望更高的运算速度,更硬的实时能力,更多的模块功能,且保持低功耗等过分需求。CM3运应而生。
CM3的优势
性能强劲、功耗低、实时性好,代码密度提升大、使用更方便(编程模型和调试系统更简单)、成本低、开发工具全、方便移植代码。
Cortex-M3处理器内核与基于Cortex-M3的MCU之间的关系:
Cortex-M3处理器内核是单片机的中央处理单元。完整的MCU除了中央处理单元外,还需要很多其他的组件(存储器,外设,I/O以及其他功能块),不同芯片厂家设计的单片机会有不同的配置和功能。
ARM的各种架构版本
ARM从ARMv6开始,进一步扩展它的CPU设计,设计出ARMv7架构,在该版本中,内核架构首次从单一款式变成了三种款式,分别为:
- A系列:设计用于高性能的开发性应用平台
- R系列:用于高端的嵌入式系统,尤其是实时性要求
- M系列:用于深度嵌入的,单片机风格的系统中
ARM处理器命名法
最开始ARM的命名包含数字和字母,如ARM7TDMI中的T表示Thumb指令集,D表示支持JTAG调试,M表示快速乘法器,I表示嵌入ICE模块。后来ARM的内核均标配这几种功能便不再使用这种命名方式。但是新的后缀不断加入,包括定义存储器接口的,定义高速缓存的,以及定义“紧耦合存储器TCM”的等等。
注:
- MMU,存储器管理单元,用于实现虚拟内存和内存的分区保护。
- MPU,MMU的功能子集,支持分区保护,不支持虚拟内存机制。
指令系统的开发
ARM处理一直支持两种相对独立的指令集,分别是:
- 32位的ARM指令集,对应处理器状态:ARM状态
- 16位的Thumb指令集,对应处理器状态:Thumb状态
处理器可以动态地在两种执行状态之中切换,实际上,Thumb指令集在在功能上是ARM指令集的一个子集,但它能带来更高的代码密度。
Thumb-2指令集体系结构,Thumb-2指令集是Thumb指令的一个超集,支持16位指令和32位指令。