IAP无法跳转

2019-07-14 15:07发布

  基于STM32Cube_IAP_using_UART编写boot程序时碰到一个奇怪的现象,跳转到新的地址执行APP程序时,APP无法正常执行。但是如果在void GotoApp(void)函数中,在跳转之前对GPIOA或GPIOB或GPIOC任一引脚做任一状态初始化,则可以正常跳转执行。同样的,把这段初始化代码加载APP main函数的第一行,也无法正常执行。看起来,这段初始化只有在boot中才会有作用。  不知各位是否碰到类似的问题,可能得原始是什么?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
zzy0407
1楼-- · 2019-07-16 02:27
yh3091876423 发表于 2018-12-19 17:32
问题解决。
所用的icf有问题,未初始化一部分stack。正确的icf文件如下:
/*###ICF### Section handled by ICF editor, don't touch! ****/

错误的icf文件是哪来的?
flowerddd
2楼-- · 2019-07-16 08:04
IAR  option->linker->edit项里面的vector table和memory regions设置正确。
NVIC_SetVectorTable( NVIC_VectTab_FLASH, 0x0 );
这个API宏不要改,只更改第二个参数,偏移量

一周热门 更多>