记录一下ARM寄存器以及stm32内存结构

本文详细介绍了ARM微处理器的寄存器分类,包括通用寄存器的使用情况,特别是R13到R16的特殊功能。在ARM架构中,寄存器R13作为栈指针SP,R14作为链接寄存器LR,R15则是程序计数器PC。此外,还讨论了STM32的栈大小、地址、栈的增长方向以及其小端模式的内存存储特性。
摘要由CSDN通过智能技术生成

 一.寄存器分类

       ARM微处理器共有37个32位寄存器,其中31个为通用寄存器,6个位状态寄存器。但是这些寄存器不能被同时访问,具体哪些寄存器是可以访问的,取决ARM处理器的工作状态及具体的运行模式。但在任何时候,通用寄存器R14~R0、程序计数器PC(即R15)、一个状态寄存器都是可访问的。

ARM是不能直接读取RAM的值的,需要借助其寄存器

通用寄存器
通用寄存器包括R0~R15,可以分为3类:
(1)未分组寄存器R0~R7   

                            ---------未分组寄存器都指向同一个物理寄存器,切换模式后内容会被破坏
(2)分组寄存器R8~R14,不同状态下不同组

------------不同模式下会对应不同的物理寄存器,不同模式访问不同的物理寄存器。
(3)程序计数器PC(R15)

二.R13-R16

 mode可为:usr,fiq,irq,svc,abt,und.

如图6中模式,sys和user共用,左下角有三角的表示所用寄存器和sys-user不同。

R13   SP 常常存放MSP指针

R14   LR (link register)执行BL时,保存PC指针的备份

R15   PC  当前程序的下两条程序(+8bytes)arm架构有  取指,译指,取值。PC在取值处

R16   CP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值