3744| 2
|
关于初始化过程中函数SystemInit()变量初始化的问题 |
1金钱
最佳答案SystemInit()函数只是初始化CPU时钟和中断向量.
你说的那些什么scatterload,初始化RW,ZI这些,都是在__main里面做的,这是KEIL提供的C语言库.
SystemInit()要用的是主堆栈,叫MSP,这个堆栈地址是保存在FLASH的头4个字节,由CPU自行加载.
至于局部变量的初始化,如果你的局部变量少,编译器会分配寄存器给你当局部变量,如果局部变量多了,会给你分配一段栈空间,如果你的局部变量有初始化值,编译器会给对应的地址赋立即数或是从FLASH中读 ...
| ||
| ||
| ||
机器生汇编,汇编生B,B生C,C生万物.... 经过长期对C语言的研究,目前只有两个方面不懂:这也不懂,那也不懂
https://github.com/ianhom |
||
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-2-27 21:05
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网