前两周,我们相继介绍了Cortex-M3的发展近况,也了解了其相关技术背景。而作为一名初学者,在ARM的学习中,会遇到大量的或熟悉或陌生的名词缩写,有效的理解并记忆它们十分有利于我们的学习。下面,是我们大致做的一些总结:
AHB先进高性能总线
AHB‐AP AHB访问端口
AMBA先进单片机总线架构
APB先进外设总线
ARM ARMARM架构参考手册
ASIC行业领域专用集成电路
ATB先进跟踪总线
BE8字节不变式大端模式
CPI每条指令的周期数
CPU中央处理单元
DAP调试访问端口
DSP数字信号处理器/数字信号处理
DWT数据观察点及跟踪
ETM嵌入式跟踪宏单元
FPB闪存地址重载及断点
FSRFault状态寄存器
HTMCoreSight AHB跟踪宏单元
ICE在线仿真器
IDE集成开发环境
IRQ中断请求(通常是指外部中断的请求)
ISA指令系统架构
ISR中断服务例程
ITM指令跟踪宏单元
JTAG连结点测试行动组(一个关于测试和调试接口的标准)
JTAG‐DP JTAG调试端口
LR连接寄存器
LSB最低有效位
LSU加载/存储单元
MCU微控制器单元(俗称单片机)
MMU存储器管理单元
MPU存储器保护单元
MSB最高有效位
MSP主堆栈指针
NMI不可屏蔽中断
NVIC嵌套向量中断控制器
OS操作系统
PC程序计数器
PSP进程堆栈指针
PPB私有外设总线
接下来,请随我来了解一下Cortex-M3的寄存器组
Cortex‐M3处理器拥有R0‐R15的寄存器组。其中R13作为堆栈指针SP。SP有两个,但在同一时刻只能有一个可以看到,这也就是所谓的“banked”寄存器。
1. R0-R12:通用寄存器
R0‐R12都是32位通用寄存器,用于数据操作。但是注意:绝大多数16位Thumb指令只能访问R0‐R7,而32位Thumb‐2指令可以访问所有寄存器。
2. Banked R13: 两个堆栈指针
Cortex‐M3拥有两个堆栈指针,然而它们是banked,因此任一时刻只能使用其中的一个。主堆栈指针(MSP):复位后缺省使用的堆栈指针,用于操作系统内核以及异常处理例程(包括中断服务例程)进程堆栈指针(PSP):由用户的应用程序代码使用。堆栈指针的最低两位永远是0,这意味着堆栈总是4字节对齐的。
在ARM编程领域中,凡是打断程序顺序执行的事件,都被称为异常(exception)。除了外部中断外,当有指令执行了“非法操作”,或者访问被禁的内存区间,因各种错误产生的fault,以及不可屏蔽中断发生时,都会打断程序的执行,这些情况统称为异常。在不严格的上下文中,异常与中断也可以混用。另外,程序代码也可以主动请求进入异常状态的(常用于系统调用)。
3. R14:连接寄存器
当呼叫一个子程序时,由R14存储返回地址 不像大多数其它处理器,ARM为了减少访问内存的次数(访问内存的操作往往要3个以上指令周期,带MMU和cache的就更加不确定了),把返回地址直接存储在寄存器中。这样足以使很多只有1级子程序调用的代码无需访问内存(堆栈内存),从而提高了子程序调用的效率。如果多于1级,则需要把前一级的R14值压到堆栈里。在ARM上编程时,应尽量只使用寄存器保存中间结果,迫不得以时才访问内存。在RISC处理器中,为了强调访内操作越过了处理器的界线,并且带来了对性能的不利影响,给它取了一个专业的术语:溅出。
4. R15:程序计数寄存器
指向当前的程序地址。如果修改它的值,就能改变程序的执行流(很多高级技巧就在这里面——译注)。
5. 特殊功能寄存器
Cortex‐M3还在内核水平上搭载了若干特殊功能寄存器,包括
程序状态字寄存器组(PSRs)
中断屏蔽寄存器组(PRIMASK,FAULTMASK, BASEPRI)
控制寄存器(CONTROL)
更多信息请访问相关博文:http://blog.csdn.net/wiznet2012/article/details/7178238
如果您有什么疑问请留言或者来信:wiznetbj@wiznettechnology.com,希望本篇文章可以给
您带来帮助,谢谢。
分享到:
相关推荐
ARM Cortex-M3内核技术参考手册,中文版
Cortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3...
Cortex-M3内核,内部的数据路径为32位,寄存器为32位,存储器接口也是32位。Cortex-M3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问分开进行。Cortex-M3还提供一个可选的MPU,对存储器进行...
本书可以深入学习了解ARM 处理器Cortex-M3与Cortex-M4的指令、寄存器、中断等原理及应用。 Joseph Yiu著。吴常玉等翻译。
《ARM Cortex-M3权威指南》拔地而起的ARM Cortex-M3处理器。《ARM Cortex-M3权威指南》是编程与实现它的不二指南! 在嵌入式处理器的世界,cortex-M3是一位人见人爱的后生。它的成本和功耗低,可配置性很高。《ARM ...
ARM Cortex-M3与Cortex-M4权威指南 第三版,
LM3S811(Cortex-M3)的GPIO口基本操作,包括...另外怎样将Cortex-M3按照51单片机的位操作的习惯进行设置,使Cortex-M3也能进行位操作,从而非常容易的将51程序移植到Cortex-M3 注:程序基于LM3S811的开发板开编写的!
ARM Cortex-M3与Cortex-M4权威指南.zip
ARM Cortex-M3指令集;ARM Cortex-M3指令集;ARM Cortex-M3指令集;ARM Cortex-M3指令集
Cortex-M3 技术参考手册(中文) Cortex-M3 技术参考手册(中文)
The ARM Cortex-M4 processor is the latest embedded processor by ARM ...So, the Cortex-M4 is a Cortex-M3 with the DSP instruction add-ons, and migrating from Cortex-M3 to Cortex-M4 is very easy!
这是ARM公司的Cortex-M3架构产品的技术手册,以Cortex-M3为基础开发电子产品的工程师人手必备
提供STM32F10xxx的Cortex-M3编程手册英文版参考
第1章ARM及Cortex-M3处理器概述 1.1ARM处理器系列 1.1.1命名规则 1.1.2ARM处理器系列 1.2ARMCortex-M3处理器 1.2.1处理器组件 1.2.2Cortex-M3的层次和实现选项 1.2.3处理器内核 1.2.4嵌套向量中断控制器(NVIC) 1.2.5...
深入浅出USB系统开发--基于ARM Cortex-M3
cortex-m3相关资料下载,基于cortex-m3核心文档
Cortex-M3 Technical Reference Manual(英文原版),可帮助自己编写软件最小系统,理解内核原理
3.Cortex-M3技术参考手册-r0p0中文版.pdf 4.Cortex-M3技术参考手册-r1p1英文版.pdf 5.Cortex-M3权威指南.pdf 6.STM32F10xxx_RM0008_CH_Rev7V3参考手册.pdf 7.STM32F10x闪存编程手册.pdf 8.STM32F101_Datasheet.pdf 9...