打印

cortex-m3内核寄存器和入栈出栈问题请教!

[复制链接]
352|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近在学习stm32f103开发板,在深入内核学习时,遇到了如下问题,还请大神帮忙解答下哈,万分感谢!
Cortex-M3内核中有通用寄存器R0~R12,在cortex-m3权威指南中这样描述,当进入function1时,R0~R12会入栈,即保存现场;function1结束后,会出栈。
C语言中也运用到了入栈和出栈,即给局部变量分配内存

①请问R0~R12在程序运行时的作用到底是什么,能否有较详细的解释?
②C程序中的入栈出栈和权威指南中汇编语言的入栈出栈的描述是否为同一个概念?
③如果②中为同一概念,那么请问C中分配内存时,R0~R12寄存器以及入栈出栈操作是怎么进行的?
④uc/os中在任务切换和中断时,也有寄存器入栈出栈的操作,请问是否和②中的表达一致?

一下子问了较多问题,但都是同一类型的,问题困扰多时了,还望大神能够给出答复,谢谢!

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

457

主题

483

帖子

1

粉丝