请问BOOT跳到APP进入不到main函数是什么原因?

2019-07-14 17:13发布

最近做一个BOOT程序,BOOT程序已经做完,跳转地址设置为0x8008000,这也是APP程序的起始地址----------------

自己写了一个APP程序,从BOOT跳转过来可以正常运行-----------------------

把公司APP程序编译到0x8008000地址,可以确定已经从BOOT跳转过来了,可就是运行不起来,总是固定的跳到一个地方------------------


最后查的结果是       在执行“ __scatterload_zeroinit”的时候,不知道什么时候就跳到上文所说的那个地方了!百思不得其解,求各路大神不吝赐教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
7762642422d
1楼-- · 2019-07-15 13:27
qwer38 发表于 2018-9-30 15:15
找到问题了,是BOOT程序在跳转之前没有关中断,关了中断就没问题。具体原因还在进一步分析,多谢

期待进一步的结果
qwer38
2楼-- · 2019-07-15 18:16
在APP程序进入到MAIN函数之前发生了系统滴答中断,此中断中对系统有操作,而此时freertos系统内核还没启动,所以产生了异常中断,而异常中断中会打印信息,会调用fput函数,在此函数中会调用串口进行打印,由于串口未进行初始化,所以就会一直在那里死等,所以程序就进入不了main函数,每次都会停在fput函数里

一周热门 更多>