cortex m3 寄存器
指针是什么意思?
pointer,点,指向某个点,指向某个位置,相当于快递地址。本质是一个地址,想要的数据就在这个地址上。
通用寄存器:R0-R12
R0-R12 32位通用寄存器
R0-R7 低寄存器
R8-R12 高寄存器,不能被16位指令访问
栈指针:Stack Pointer (R13)
忽略 bit[1:0] 的值,即自动 4字节 32 位对齐。
CONTROL bit[1] 指示使用的栈
0= Main Stack Pointer (MSP). 默认值
1=Process Stack Pointer (PSP).
复位后 MSP = 0x00000000。
链接寄存器:Link Register (R14)
为 子程序、函数调用、异常 保留返回信息,即 PC 的值。
复位后 LR = 0xFFFFFFFF。
程序计数器:Program Counter (R15)
当前程序地址。
该寄存器 bit[0] 始终为 0,即 2字节 16 位对齐。
复位后处理器赋值 PC = reset vector,@ 0x00000004
reset vector bit[0] 将赋值到 EPSR T-bit,bit[0] 必须是 1(指令集状态)。
程序状态寄存器:Program Status Register
有三种 Application, Interrupt, Execution, APSR, IPSR, ESPR.
使用 MSR 写, MRS 读。
应用程序状态寄存器:APSR
【31】N 负号标志。0,结果为正或大于0;1,结果为负或小于0。
【30】Z 0 标志。0,结果为非0;1,结果为0。
【29】C 进位、借位标志。0,没有进位或借位;1,有进位或借位。
【28】V 溢出标志。0,没有溢出;1,有溢出。
【27】Q Saturation flag。不会
【26:0】Reserved
中断程序状态标志位:IPSR
【31:9】Reserved
【8:0】ISR_NUMBER。Interrupt Service Routine。
0 = Thread mode
1 = Reserved
2 = NMI
3 = HardFault
4 = MemManage
5 = BusFault
6 = UsageFault
7 - 10 = Reserved
11 = SVCall
12 = Reserved for Debug
13 = Reserved
14 = PendSV
15 = SysTick
16 = IRQ0
...
15 + n = IRQ(n-1) n = (1, 240)
执行程序状态寄存器:EPSR
。。。不会
异常屏蔽寄存器,优先级屏蔽寄存器:PRIMASK
异常屏蔽寄存器,错误屏蔽寄存器:FAULTMASK
异常屏蔽寄存器,低优先级屏蔽寄存器:BASEPRI
控制寄存器:CONTROL
cortex m3 寄存器相关推荐
- Cortex M3寄存器组
寄存器组 宗旨:技术的学习是有限的,分享的精神是无限的. 1.通用目的寄存器R0~R7 R0-R7 也被称为低组寄存器.所有指令都能访问它们.它们的字长全是 32 位,复位后的初始值是不可预料的. 2 ...
- Cortex M3 NVIC与中断控制
Cortex M3 NVIC与中断控制 宗旨:技术的学习是有限的,分享的精神是无限的. 一.NVIC概览 --嵌套中断向量表控制器 NVIC 的寄存器以存储器映射的方式来访问,除了包含控制寄存器和中断 ...
- cortex m3的操作模式和状态
1.操作状态(operation state): debug state:处理器在调试器发起halt或匹配到断点时,会进入debug state并停止执行指令. thumb state:处理器正在运行 ...
- Cortex、ARMv8、arm架构、ARM指令集、soc?Cortex A8、A9都是ARMv7a 架构;Cortex M3、M4是ARMv7m架构;前者是处理器(内核)后者是指令集的架构(架构)
架构组成元素的指令集状态或者语法thumb指令集与arm指令集的区别例如thumb指令集是什么_thumb指令集与arm指令集的区别以及thumb-2的关系在下一文中介绍,本文暂时不讨论 有粉丝问我到 ...
- Cortex‐M3的Faults异常究竟是什么?
关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 有许多朋友在学习,或者开发STM32时都遇到过HardFault_Handler的情 ...
- Cortex‐M3和Cortex‐M0是否都能位带操作
最近在进行stm32l011f4的编程,想到stm32有位带操作,便想试一试,但是事与愿违,先贴下位带操作代码 Cortex‐M0的位带操作代码 //IO输出方向设置 #define SDA_IN() ...
- Cortex M3内核架构
CortexM3内核架构 宗旨:技术的学习是有限的,分享的精神是无限的. 1.ARMCortex-M3处理器 Cortex-M3处理器内核是单片机的中央处理单元( CPU). 完整的基于CM3的MCU ...
- Cortex M3 Bit-banding简介
http://blog.csdn.net/shevsten/article/details/7676397 Cortex M3 Bit-banding简介 分类: ARM MCU2012-06-19 ...
- cortex m3 开源_开源增强现实耳机,Steam的125M有效帐户等
cortex m3 开源 您好,开放游戏迷! 在本周的版本中,我们将了解Steam的1.25亿活跃帐户和Game Developers Conference,这是一个开源增强现实头戴设备,Linux游 ...
- Cortex M3处理器工作模式及中断过程
来自::http://blog.csdn.net/ffgamelife/article/details/6947300 1. 工作模式 线程模式(Thread mode):处理器复位或异常退 ...
最新文章
- 禁止ping入自己的主机
- java面向对象编程集合边框_Java学习系列(七)Java面向对象之集合框架详解(上)
- Linux命令(10)——vim编辑器
- 一颗钉子能承受多大的重量?
- java接口开发规范,干货满满
- 2021金蝶全球创见者大会成功举办, 500强企业共话EBC数字战斗力
- startsBBS在nginx环境下的部署,出现布局错误和验证码不能显示的解决方法
- 1.11 超过人的表现
- SQL2000和SQL2005和SQL2008同时安装问题
- Gobinet/QMI-WWAN/ppp拨号区别
- webpack 加载html模板,Webpack:从html模板加载图像
- go语言介绍及应用场景分析
- 【渝粤题库】广东开放大学 建筑CAD 形成性考核
- 新课程背景下高中化学实验室的硬件建设要求
- 【转】“弱水三千 只取一瓢”(出处就不去考证了)
- 程序员真的很孤独吗?
- 【软件工程师之路一】咸鱼翻身之自学软件开发
- 零基础使用Xmind
- kbhit(), bioskey(), system(pause)
- CAD中插入外部参照字体会变繁体_为什么CAD插入外部参照时有些文字消失了?