>
ARM CortexMARM堆栈的SP是一个指向栈顶ARM堆栈的寄存器ARM堆栈,具体说明如下功能SP是栈顶的指南针ARM堆栈,用于指示当前栈的顶部位置它负责在函数调用和中断处理时ARM堆栈,管理临时数据局部变量以及寄存器参数和返回地址的存储在CortexM系列中的特性CortexM系列的堆栈方向从高地址向低地址扩展堆栈通常被放置在bss段之后,以。

SP每一种异常模式都有其自己独立的r13,它通常指向异常模式所专用的堆栈,也就是说五种异常模式非异常模式用户模式和系统模式,都有各自独立的堆栈,用不同的堆栈指针来索引这样当ARM进入异常模式的时候,程序就可以把一般通用寄存器压入堆栈,返回时再出栈,保证了各种模式下程序的状态的完整性。
这样就有四种类型的堆栈工作方式,ARM微处理器支持这四种类型的堆栈工作方式,即满递增堆栈堆栈指针指向最后压入的数据,且由低地址向高地址生成如指令LDMFA,STMFA 等满递减堆栈堆栈指针指向最后压入的数据,且由高地址向低地址生成如指令LDMFD,STMFD 等空递增堆栈堆栈指针指向下一个。
此外,CortexM7还包含主堆栈指针MSP和线程堆栈指针PSP两种堆栈指针在Handler模式下,只能使用MSP而在Thread模式下,可以选择使用MSP或PSP四异常模型 CortexM7处理器支持255个异常,其中1~15属于内核异常,大于15的属于外设中断异常分为非活跃且非挂起状态挂起状态活跃状态和活跃且挂起状态每个异常。

相关标签 :
上一篇: ue5,ue5用什么编程语言
微信医疗(登记+咨询+回访)预约管理系统
云约CRM微信小程序APP系统定制开发
云约CRM体检自定义出号预约管理系统
云约CRM云诊所系统,云门诊,医疗预约音视频在线问诊预约系统
云约CRM新版美容微信预约系统门店版_门店预约管理系统
云约CRM最新ThinkPHP6通用行业的预约小程序(诊所挂号)系统联系电话:18300931024
在线QQ客服:616139763
官方微信:18300931024
官方邮箱: 616139763@qq.com