您尚未登录。

楼主 #1 2020-04-22 09:39:57

lt56
会员
注册时间: 2020-04-20
已发帖子: 8
积分: 8

CM3内核学习疑惑

1.CM3每个寄存器有什么作用?
2.进入函数时,函数的局部变量,形参,执行到哪,都怎么存放在内存中的?形参太多怎么处理的?
3.还有函数调用时,上面这些东东又是如何保存的?
4.多级函数调用时,这些又是怎么保存的?
5.堆栈指针SP好像就是栈空间和栈顶的处理,是向下生长的,SP主要是用来压栈和出栈的。
   然后堆呢?堆不是向上生长,主要用来C库的melloc等函数吗?堆是怎么处理的?
   还有就是看了stm32的gcc的链接脚本,没有定义堆空间,只有定义栈空间,然后直接把栈顶放在第一个地址去,
   这时要用melloc怎么处理的,直接用没被使用的内存?
   即使是stm32的MDK中定义了堆空间和堆地址,也进行对堆地址保存,但实际用时编译器是自动去调用这个堆地址的吗?
6.CM3有一部分寄存器是自动压栈的?为什么是那一部分寄存器?为什么要留其他的手动压栈?

目前还没开始看CM3的权威指南,只是带着这些疑惑准备详细读下CM3的权威指南,有些问题可能问得很白,希望大神们可以帮忙解答一下

离线

#2 2020-04-22 09:48:12

aozima
会员
所在地: 深圳
注册时间: 2019-05-25
已发帖子: 446
积分: 313.5
个人网站

Re: CM3内核学习疑惑

1. 去下载ARM的技术手册啊,实际用的时候有CMSIS的库,还有芯片厂家提供的库,不用自己抠寄存器。
2. 看ATPCS
5. 堆和栈 没有任何关系
6. 1

离线

楼主 #3 2020-04-22 09:48:50

lt56
会员
注册时间: 2020-04-20
已发帖子: 8
积分: 8

Re: CM3内核学习疑惑

本人第一个贴,学习完CM3内核后,准备学习CM7和ARM920T内核,如果大家对内核的学习有什么建议可以畅所欲言,比如为什么要学习内核知识,内核知识主要了解哪一部分就可以了等等。

离线

楼主 #4 2020-04-22 09:54:45

lt56
会员
注册时间: 2020-04-20
已发帖子: 8
积分: 8

Re: CM3内核学习疑惑

@aozima 芯片厂家提供的库?我所说的寄存器是R0-R15,不是那些GPIO寄存器之类的
              ATPCS有我要的一些答案,谢谢。
              好的,堆和栈是两个东西,堆栈指针SP只是栈处理。
              GCC如果没有定义堆空间,使用melloc时怎么分配空间?直接使用没被使用的内存空间?为什么不想MDK那样定义个堆空间呢?

最近编辑记录 lt56 (2020-04-22 10:12:30)

离线

#5 2020-04-22 10:21:43

metro
会员
注册时间: 2019-03-09
已发帖子: 442
积分: 486

Re: CM3内核学习疑惑

楼主的这些问题基本上在权威指南里面都有解答。这本书蛮好的,值得反复看。

离线

楼主 #6 2020-04-22 13:28:12

lt56
会员
注册时间: 2020-04-20
已发帖子: 8
积分: 8

Re: CM3内核学习疑惑

metro 说:

楼主的这些问题基本上在权威指南里面都有解答。这本书蛮好的,值得反复看。

准备详细看权威指南

离线

楼主 #7 2020-04-22 13:29:16

lt56
会员
注册时间: 2020-04-20
已发帖子: 8
积分: 8

Re: CM3内核学习疑惑

aozima 说:

1. 去下载ARM的技术手册啊,实际用的时候有CMSIS的库,还有芯片厂家提供的库,不用自己抠寄存器。
2. 看ATPCS
5. 堆和栈 没有任何关系
6. 1

              芯片厂家提供的库?我所说的寄存器是R0-R15,不是那些GPIO寄存器之类的
              ATPCS有我要的一些答案,谢谢。
              好的,堆和栈是两个东西,堆栈指针SP只是栈处理。
              GCC如果没有定义堆空间,使用melloc时怎么分配空间?直接使用没被使用的内存空间?为什么不想MDK那样定义个堆空间呢?

离线

#8 2020-04-24 16:21:05

armstrong
会员
注册时间: 2019-04-10
已发帖子: 246
积分: 180.5

Re: CM3内核学习疑惑

这种知识,面对面交互提问,回答的方式可以很快讲清楚。文字表述会搞死人还不一定懂。

离线

#9 2020-04-24 16:22:14

armstrong
会员
注册时间: 2019-04-10
已发帖子: 246
积分: 180.5

Re: CM3内核学习疑惑

既然你在学习这些通常被其它人忽略的基础,这几本书推荐给你【画框的那些】,最后都买上,真的很有帮助!
QQ图片20200424163435.jpg
QQ图片20200424163429.jpg

最近编辑记录 armstrong (2020-04-24 16:41:13)

离线

楼主 #10 2020-04-26 11:26:47

lt56
会员
注册时间: 2020-04-20
已发帖子: 8
积分: 8

Re: CM3内核学习疑惑

armstrong 说:

既然你在学习这些通常被其它人忽略的基础,这几本书推荐给你【画框的那些】,最后都买上,真的很有帮助!
https://whycan.cn/files/members/1592/QQ图片20200424163435.jpg
https://whycan.cn/files/members/1592/QQ图片20200424163429.jpg

大神的书好多,我也要加油了。

离线

楼主 #11 2020-04-26 11:31:02

lt56
会员
注册时间: 2020-04-20
已发帖子: 8
积分: 8

Re: CM3内核学习疑惑

armstrong 说:

既然你在学习这些通常被其它人忽略的基础,这几本书推荐给你【画框的那些】,最后都买上,真的很有帮助!
https://whycan.cn/files/members/1592/QQ图片20200424163435.jpg
https://whycan.cn/files/members/1592/QQ图片20200424163429.jpg

周六有在看CM3权威指南和ATPCS规则,CM3权威指南没看完,还是学习到了很多。

离线

#12 2020-05-02 16:27:20

wenunit
会员
注册时间: 2020-04-22
已发帖子: 30
积分: 0

Re: CM3内核学习疑惑

这些问题,直指根本,能提出来就很不错了,这些很深入了,是要看很多书的。还要很多实践。

离线

#13 2020-05-05 15:35:14

zhangxm_0701
会员
注册时间: 2020-05-05
已发帖子: 7
积分: 7

Re: CM3内核学习疑惑

去看ARM的技术手册啊

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn