- 19
- 0
- 约6.31千字
- 约 17页
- 2019-04-05 发布于广东
- 举报
Cortex M3学习笔记02寄存器,中断控制器
好像百度看了我的文章一样,上次笔记中写了一些对抱怨审 核太慢的内容,结果第二天就审核好了,不知道这次速度怎 么样……
一、 名词定义
MSP:主堆栈指针;
PSP:进程堆栈指针;
二、 寄存器
通用寄存器:32位一个,不多说,一共22个。
R0-R15,其中R13是个有两个堆栈指针寄存器的功能,
一共17个;另外还有5个特殊功能寄存器。下面来理解。
a)通用寄存器
R0-R12:
用于数据操作,使用Thumb-2可以全部访问,使用
Thumb只能访问R0?R7。
R13:
堆栈指针(SP):包括主堆栈指针(MSP),进程堆栈 指针(PSP)
PUSH和POP指令的用法解释:
PUSH {RO} //^-R13)=R0; R13 是 long*型指针
POP {RO} //R0^R13+ +
R13的最低两位强制为0,且读取同样也为0;
R14:R15:
R14:
R15:
连接寄存器(LR):
程序计数器(PC):
保存子程序返回时的地址;
PC返回的地址是当前那指令的地
址+4。
例如:0x4000 MOV RO ,PC ; //R0=0x4004;
当针对执行一条写入R15指令时,写入R15的地址被当 成一个指令地址,程序从这个地址处开始执行,但是不更新 LR寄存器,相当于引发一次跳转;
PC的LSB读回内容始终为0,不论是
原创力文档

文档评论(0)