页次: 1
既然你在学习这些通常被其它人忽略的基础,这几本书推荐给你【画框的那些】,最后都买上,真的很有帮助!
https://whycan.cn/files/members/1592/QQ图片20200424163435.jpg
https://whycan.cn/files/members/1592/QQ图片20200424163429.jpg
周六有在看CM3权威指南和ATPCS规则,CM3权威指南没看完,还是学习到了很多。
既然你在学习这些通常被其它人忽略的基础,这几本书推荐给你【画框的那些】,最后都买上,真的很有帮助!
https://whycan.cn/files/members/1592/QQ图片20200424163435.jpg
https://whycan.cn/files/members/1592/QQ图片20200424163429.jpg
大神的书好多,我也要加油了。
1.CM3每个寄存器有什么作用?
2.进入函数时,函数的局部变量,形参,执行到哪,都怎么存放在内存中的?形参太多怎么处理的?
3.还有函数调用时,上面这些东东又是如何保存的?
4.多级函数调用时,这些又是怎么保存的?
5.堆栈指针SP好像就是栈空间和栈顶的处理,是向下生长的,SP主要是用来压栈和出栈的。
然后堆呢?堆不是向上生长,主要用来C库的melloc等函数吗?堆是怎么处理的?
还有就是看了stm32的gcc的链接脚本,没有定义堆空间,只有定义栈空间,然后直接把栈顶放在第一个地址去,
这时要用melloc怎么处理的,直接用没被使用的内存?
即使是stm32的MDK中定义了堆空间和堆地址,也进行对堆地址保存,但实际用时编译器是自动去调用这个堆地址的吗?
6.CM3有一部分寄存器是自动压栈的?为什么是那一部分寄存器?为什么要留其他的手动压栈?
目前还没开始看CM3的权威指南,只是带着这些疑惑准备详细读下CM3的权威指南,有些问题可能问得很白,希望大神们可以帮忙解答一下
页次: 1