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

2019-07-14 17:13发布

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

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

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


最后查的结果是       在执行“ __scatterload_zeroinit”的时候,不知道什么时候就跳到上文所说的那个地方了!百思不得其解,求各路大神不吝赐教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
TOPCB
1楼-- · 2019-07-14 22:40
 精彩回答 2  元偷偷看……
qwer38
2楼-- · 2019-07-15 01:13
FLASH_BASE  = 0x8000000
VECT_TAB_OFFSET = 0x8000;
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;

用的这个
qwer38
3楼-- · 2019-07-15 05:25
看HEX文件,向量表也的确从0x8008000地址开始的
qwer38
4楼-- · 2019-07-15 06:16
:020000040800F2
:10800000F8E2002041820008014D0108C511010875
:10801000214C010891C40008FBB7010800000000D2
:108020000000000000000000000000008581000842
:108030003DD7000800000000C98100084522020861
:108040005B8200085B8200085B8200085B8200089C
:108050005B8200085B8200085B82000897F90008D9
:108060005B8200085B820008A1F900085B820008BF
:108070005B8200085B8200085B8200085B8200086C
:108080005B8200085B8200085B8200085B8200085C
:108090005B8200085B8200085B820008ABF9000885
:1080A0005B8200085B8200085B8200085B8200083C
:1080B000D5A001085B8200085B8200085B82000893
:1080C0005B8200085B8200085B8200085B8200081C
:1080D0005B820008BDB70108C9B8010829B90108C9
:1080E0008DF900085B8200085B8200080000000038
:1080F0000000000000000000000000000000000080
:1081000000000000000000005B8200085B820008A5
亲爱的娜娜
5楼-- · 2019-07-15 09:10
公司的程序生成的bin和自己写的测试app的bin大小差别很大吗,__scatterload_zeroinit只是将sram中为零的变量设置为0,这个不应该导致程序进入不了main啊?
qwer38
6楼-- · 2019-07-15 10:20
 精彩回答 2  元偷偷看……

一周热门 更多>