STM32/STM8技术william hill官网
直播中

h1654155275.5969

7年用户 213经验值
私信 关注
[问答]

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

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

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

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


最后查的结果是       在执行“ __scatterload_zeroinit”的时候,不知道什么时候就跳到上文所说的那个地方了!百思不得其解,求各路大神不吝赐教!

回帖(9)

h1654155275.5969

2018-9-30 10:06:52
用的芯片是STM32F105VC
举报

孙婷婷

2018-9-30 10:18:22
程序的向量列表有没有修改呢?
举报

h1654155275.5969

2018-9-30 10:32:20
FLASH_BASE  = 0x8000000
VECT_TAB_OFFSET = 0x8000;
SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET;

用的这个
举报

h1654155275.5969

2018-9-30 10:42:25
看HEX文件,向量表也的确从0x8008000地址开始的
举报

h1654155275.5969

2018-9-30 10:53:53
:020000040800F2
:10800000F8E2002041820008014D0108C511010875
:10801000214C010891C40008FBB7010800000000D2
:108020000000000000000000000000008581000842
:108030003DD7000800000000C98100084522020861
:108040005B8200085B8200085B8200085B8200089C
:108050005B8200085B8200085B82000897F90008D9
:108060005B8200085B820008A1F900085B820008BF
:108070005B8200085B8200085B8200085B8200086C
:108080005B8200085B8200085B8200085B8200085C
:108090005B8200085B8200085B820008ABF9000885
:1080A0005B8200085B8200085B8200085B8200083C
:1080B000D5A001085B8200085B8200085B82000893
:1080C0005B8200085B8200085B8200085B8200081C
:1080D0005B820008BDB70108C9B8010829B90108C9
:1080E0008DF900085B8200085B8200080000000038
:1080F0000000000000000000000000000000000080
:1081000000000000000000005B8200085B820008A5
举报

张倩

2018-9-30 11:11:08
公司的程序生成的bin和自己写的测试app的bin大小差别很大吗,__scatterload_zeroinit只是将sram中为零的变量设置为0,这个不应该导致程序进入不了main啊?
举报

h1654155275.5969

2018-9-30 11:19:07
找到问题了,是BOOT程序在跳转之前没有关中断,关了中断就没问题。具体原因还在进一步分析,多谢
举报

李悛

2018-9-30 11:32:48
引用: qwer38 发表于 2018-9-30 15:15
找到问题了,是BOOT程序在跳转之前没有关中断,关了中断就没问题。具体原因还在进一步分析,多谢

期待进一步的结果
举报

h1654155275.5969

2018-9-30 11:40:37
在APP程序进入到MAIN函数之前发生了系统滴答中断,此中断中对系统有操作,而此时freertos系统内核还没启动,所以产生了异常中断,而异常中断中会打印信息,会调用fput函数,在此函数中会调用串口进行打印,由于串口未进行初始化,所以就会一直在那里死等,所以程序就进入不了main函数,每次都会停在fput函数里
举报

更多回帖

发帖
×
20
完善资料,
赚取积分