前两周,我们相继介绍了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,希望本篇文章可以给
您带来帮助,谢谢。
分享到:
相关推荐
总的来说,这个“Cortex-M3 技术参考手册”是学习和开发基于Cortex-M3处理器的嵌入式系统的重要参考资料,无论你是初学者还是经验丰富的开发者,都能从中获取到宝贵的知识和实践经验。通过阅读和实践手册中的内容,...
**ARM Cortex-M3与Cortex-M4权威指南** 在嵌入式系统设计中,ARM处理器架构因其高效能、低功耗的特点而广受欢迎。本文将深入探讨ARM Cortex-M3和Cortex-M4两个微控制器核心,这两款处理器是ARM公司针对微控制器市场...
3. **Cortex-M4核心**:除了Cortex-M3的所有功能外,还涵盖了其增强的特性,如FPU、单指令多数据(SIMD)指令、数字信号处理优化等。 4. **开发工具和调试**:介绍如何使用IDE、编译器、调试器等工具进行软件开发和...
本书详细介绍了Cortex-M3和Cortex-M4的体系结构、编程模型、中断处理、内存管理、调试技术等方面的知识。读者将学习到如何有效地利用这两种处理器进行系统设计,包括中断服务程序的编写、存储器映射、外设接口控制等...
这些信息可能包括Cortex-M3处理器的内部架构、指令集、寄存器、异常处理、中断管理以及调试功能等。 标签“cortex”直接关联到ARM的Cortex系列处理器,这是ARM公司处理器产品线中的一种。Cortex系列以提供不同性能...
Cortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3权威指南(中文).zipCortex-M3...
《ARM Cortex-M3/M4 权威指南》第三版是一本深入探讨ARM Cortex-M3和Cortex-M4处理器架构及应用的权威书籍。Cortex-M系列是ARM公司针对微控制器市场设计的一系列低功耗、高性能的处理器核心,广泛应用于嵌入式系统、...
ARM Cortex-M3与Cortex-M4权威指南高清版 姚文祥、吴常玉、曹孟娟、王丽红编写的《ARM Cortex-M3与Cortex-M4权威指南(第3版)》经过了全 新修订:增加了ARM Cortex—M4l处理器的信息;对 ARM cortex一M3处理器的讲解...
STM32F10xxx系列微控制器是基于ARM公司Cortex-M3内核的高性能、低功耗微处理器,广泛应用于嵌入式系统设计。Cortex-M3是ARM的32位RISC(精简指令集计算)处理器,旨在提供高效能与低功耗的平衡,特别适合实时控制...
本书可以深入学习了解ARM 处理器Cortex-M3与Cortex-M4的指令、寄存器、中断等原理及应用。 Joseph Yiu著。吴常玉等翻译。
《Cortex-M3权威指南》是一本专门为对ARM Cortex-M3处理器感兴趣的软件和硬件开发者编写的书籍。Cortex-M3是ARM公司推出的一种高效能、低功耗的微控制器核心,广泛应用于嵌入式系统设计。该书由Joseph Yiu撰写,宋岩...
Cortex-M3内核,内部的数据路径为32位,寄存器为32位,存储器接口也是32位。Cortex-M3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问分开进行。Cortex-M3还提供一个可选的MPU,对存储器进行...
1. **体系结构描述**:手册详细介绍了Cortex-M3的体系结构,包括寄存器布局、存储器映射、中断处理机制等。 2. **编程模型**:涵盖数据对齐、异常处理、堆栈管理、浮点运算支持等方面的编程指南。 3. **处理器状态和...
3. **低功耗设计**:Cortex-M3优化了电源管理,支持多种低功耗模式,如睡眠、停机和待机,以适应不同应用场景的需求。 4. **中断处理**:Cortex-M3具有快速中断响应机制,确保实时性和高效率的系统操作。中断向量表...
总之,《Cortex-M3 技术参考手册中文版》是一本涵盖Cortex-M3处理器所有核心特性的权威资料,不仅适合初学者学习基础知识,也为有经验的工程师提供了深入技术细节的参考资料。通过阅读和实践,开发者能掌握Cortex-M3...
《ARM Cortex-M3权威指南》拔地而起的ARM Cortex-M3处理器。《ARM Cortex-M3权威指南》是编程与实现它的不二指南! 在嵌入式处理器的世界,cortex-M3是一位人见人爱的后生。它的成本和功耗低,可配置性很高。《ARM ...
1. **Cortex-M3内核结构**:包括CPU架构、寄存器组织、异常模型、中断处理等,帮助读者理解Cortex-M3的运行机制。 2. **NVIC中断管理**:介绍如何配置和管理中断,包括中断优先级设置、中断向量表、中断处理流程等...