历史上的今天
今天是:2024年12月05日(星期四)
2020年12月05日 | Cortex M3寄存器组
2020-12-05 来源:eefocus

1、通用目的寄存器R0~R7
R0-R7 也被称为低组寄存器。所有指令都能访问它们。它们的字长全是 32 位,复位后的初始值是不可预料的。
2、通用目的寄存器 R8-R12
R8-R12 也被称为高组寄存器。这是因为只有很少的 16 位 Thumb 指令能访问它们, 32 位的thumb-2 指令则不受限制。它们也是 32 位字长,且复位后的初始值是不可预料的。
3、特殊功能寄存器

程序状态寄存器:APSR, IPSR, EPSR ---- MRS/MSR

APSR:
N:负条件码标志位,运算结果小于0,N=1, 大于等于0,N=0;
Z:零条件码标志位,运算结果为0,Z=1;
C:进位条件码标志位,运算指令产生进位(无符号加法溢出),C=1;
V:溢出条件码标志位,运算溢出(有符号加法溢出), V=1;
Q:饱和条件码标志位;
IPSR:处于线程模式时,该位域为0;在手柄模式下,该位域为当前异常的异常号。
EPSR:
T:Thumb状态, T=1,ARM状态,T=0;
PRIMASK, FAULTMASK 和 BASEPRI:控制异常的使能和除能

控制寄存器CONTROL:其一用于定义特权级别,其二用于选择当前使用哪个堆栈指针。

4、堆栈指针R13
R13 是堆栈指针。在 CM3 处理器内核中共有两个堆栈指针,于是也就支持两个堆栈。当引用 R13(或写作 SP)时,引用到的是当前正在使用的那一个,另一个必须用特殊的指令来访问( MRS,MSR指令)。
主堆栈指针(MSP),或写作 SP_main。这是缺省的堆栈指针,它由 OS 内核、异常服务例程以及所有需要特权访问的应用程序代码来使用。
进程堆栈指针(PSP),或写作 SP_process。用于常规的应用程序代码(不处于异常服用例程中时)。
5、连接寄存器R14
R14 是连接寄存器( LR)。在一个汇编程序中,你可以把它写作 both LR 和 R14。 LR 用于在调用子程序时存储返回地址。例如,当你在使用 BL(分支并连接, Branch and Link)指令时,就自动填充 LR的值。
6、程序计数器R15
R15 是程序计数器,在汇编代码中一般我们都都叫它的外号“ PC”。因为 CM3 内部使用了指令流水线,读 PC 时返回的值是当前指令的地址+4。
上一篇:STM32系统时钟默认设置
下一篇:Cortex-M3工作模式与异常
史海拾趣
|
本帖最后由 jameswangsynnex 于 2015-3-3 20:00 编辑 答:DLP背投的核心就是DMD芯片,只有火柴盒大小的芯片上竟密密麻麻地排列了80万至100万面小镜子,而且每个小镜子都可以独立向正负方向翻转10度,并可以每秒钟翻转65000次。 ...… 查看全部问答> |
|
AT91R40008 单片机烧写不是很方便。请问大侠有哪些方式可以对这款ARM芯片烧写?目前使用方式AT91R40009+外部FLASH . 这样烧写麻烦,需要用编程器烧写,而且需要把文件转换成.HEX文件,使用专门的软件。 有大侠使用过该款芯片吗?而且 ...… 查看全部问答> |
|
请教Candence高手我的FPM(footprint making)双击没用 如题,小弟初学allegro,刚开始自己做了几个封装,后来在网上下了一个fpm,发现这个软件做的封装比我自己 做的好。所以开始用这个软件。可是昨晚回去之后双击它竟然没有反应,后来我就卸载重装还是这样,,弄了我好长时间,,接近崩溃,有没有人遇 ...… 查看全部问答> |
|
如题,有一块s3c6400的板子,用openice调试,但是在cpu设置里面选择detect cpu只显示\"none 0x0eb5 (1)\",是不是意思是没找到cpu?想继续往下进行时总是出现518,517,509之类的错误,实在没有办法了, 请问有人用过openice么?应该怎么设置?… 查看全部问答> |
|
我的需求是希望在程序运行过程中,实现自我升级的功能. 也就是说, 正在运行的程序会将从串口接受到的新程序写入Flash中, 而新的程序会在设备再次启动后自动加载! 那位高手从事过相关的开发,请指教,谢谢! any comment is welcomed, Thanks!… 查看全部问答> |
|
LM4F232H5QD板子flash锁住了,怎么办??? 如何将错误的程序给擦除了,或者重新下载程序 板子上只有jtag接口… 查看全部问答> |
|
EEworld MSP430月度最佳项目活动细则(筹)-by wstt 活动对象:EEworld论坛全体会员活动目的:持续的激励EEworld会员完成DIY和原创项目。这个活动是由我(论坛ID:wstt)发起的,在与EEworld的管理员取得联系后,得到了论坛大力的支持。活动的奖励都是有论坛无偿筹备的,希望所有的坛友能够享受DIY和 ...… 查看全部问答> |




