新手上路
- 积分
- 31
- 金钱
- 31
- 注册时间
- 2015-1-24
- 在线时间
- 0 小时
|
5金钱
启动文件中的程序如下:
; Reset handler
Reset_Handler PROC
EXPORT Reset_Handler [WEAK]
IMPORT __main
IMPORT SystemInit
LDR R0, =SystemInit
BLX R0
LDR R0, =__main
BX R0
ENDP
那是否意味着主函数中的SystemInit()不需要再次调用?
之前有网友说可以注释掉这两行代码
IMPORT SystemInit
LDR R0, =SystemInit
想请教一下原子哥, 可不可以注释掉启动文件中的代码,或者是主函数中的代码? |
最佳答案
查看完整内容[请看2#楼]
不建议注释,如果你启用了外部ram做内存,那么在进入main函数之前就要进行内存初始化,如果注释掉而在main中调用,可能会出现不可预知的问题。事实上这个并不是用库和用寄存器的区别,用寄存器你可以把自己的初始化函数放到这里替换SystemInit(),主要是在进入main之前就初始化好系统,保证main中的代码是在设定好的条件中运行。
|