野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16091|回复: 2

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

[复制链接]
发表于 2018-5-10 16:31:46 | 显示全部楼层 |阅读模式
最近在学习stm32f103开发板,在深入内核学习时,遇到了如下问题,还请大神帮忙解答下哈,万分感谢!
Cortex-M3内核中有通用寄存器R0~R12,在cortex-m3权威指南中这样描述,当进入function1时,R0~R12会入栈,即保存现场;function1结束后,会出栈。
C语言中也运用到了入栈和出栈,即给局部变量分配内存

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

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

使用道具 举报

发表于 2018-5-11 08:48:53 | 显示全部楼层
r0~r12就是cpu运算时的一些寄存器
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-5-12 16:58:13 | 显示全部楼层
我知道R0到R12是CPU的寄存器耶,就是想问一下是否更详细的关于这些寄存器的信息,比如在代码运行时这些寄存器是如何工作的,等等
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-12-7 03:11 , Processed in 0.040491 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表