应用笔记 179 www.armjishu.com 推荐资料
2007 年 3 月发布
4
第一章 Cortex™-M3内核
这份应用文档介绍了Cortex™-M3内核的ARM处理器的主要性能特点,及其相
关的开发工具。这份应用文档还介绍了现有的ARM工程如何移植到Cortex-M3内核
的ARM处理器上。
Cortex-M3内核的ARM处理器是一款高性能、低成本,以及其低功耗的32位精
简指令处理器。这种内核的处理器仅仅支持Thumb-2指令,不支持ARM指令系统。
Cortex-M3内核是基于ARMv7-M架构设计的,是一种高性能ARMv7架构的三种内核
之一;这种内核也有低的中断响应时间和划分硬件的特性。Cortex-M3内核也是
CPU的内核,这种内核包括很多外设(一个嵌套向量中断控制器、一个可选择的
存储器保护单元、定时器、调试端口、一个可选择的嵌入跟踪宏单元)。Cortex-M3
内核的存储器内存映射是固定的。
1.1 嵌套向量中断控制器(NVIC)
这一标准依赖于半导体厂商的落实执行,嵌套向量中断控制器支持多达240
个外部中断、这些多达256个不同的中断优先级来区分不同的中断。嵌套向量中
断控制器支持电平触发和脉冲触发。当处理器响应中断时由硬件自动保存处理器
状态;当处理器退出中断时复位处理器状态。嵌套向量中断控制器还支持中断嵌
套。
Cortex-M3内核不同以前的ARM内核,通过嵌套向量控制器得到一张向量表。
这张Cortex-M3的向量表包含异常处理和中断服务程序的地址,和其它大多数ARM
核不同是非指令的。最初的堆栈指针和复位的地址必须分别为0x0和0x4;这些值
在处理器复位时装入合适的处理器的寄存器。
1.2 存储器保护单元(MPU)
这个存储器保护单元是Cortex-M3内核可选择的外设。如果内核集成了存储
器保护单元;这个外设提供一个强制的存储器保护区,以及在这个区域的存取规
则。这个存储器保护单元支持多达八个不同的区域,并且每个区域又分成八个大
小相同的子区域。
1.3 调试端口(DAP)
调试端口使用AHB-AP总线接口连接处理器和其他外设。这种内核支持两种
不同的调试接口分别是JTAG调试接口(SWJ-DP)和两线串行调试接口(SW-DP)。
你使用这两种接口的任意一种就可以调试Cortex-M3内核的处理器,这些依赖于
半导体厂商的落实执行。
1.4 存储器映射
不同于以前的ARM内核,Cortex-M3内核的器件的存储器映射是固定的。这一
特性,在基于Cortex-M3内核的处理器不同的系统中用户很容易地使用软件的接
口。这些地址空间分成很多不同的段,如图片1和表2所示。