BootLoader跳转不正常,试过多种方法都没作用

2019-07-20 13:19发布

做了一个sd卡读取刷新固件的BL,跳转部分是这样的:
[mw_shl_code=c,true]#ifndef APP_ADDR
#define APP_ADDR 0x80100000
#endif
typedef void (*pFunction)(void);
pFunction JumpToApplication;
uint32_t JumpAddress;

void LoadApplication(void)
{
    f_mount(&fs, "", 0);
    HAL_SD_DeInit(&cardHandle);
    HAL_DeInit();
    SysTick->CTRL = 0;
    JumpAddress = *(__IO uint32_t*) (APP_ADDR + 4);
    JumpToApplication = (pFunction) JumpAddress;
    __set_MSP(*(__IO uint32_t*) APP_ADDR);
    JumpToApplication();
}[/mw_shl_code]
是的....跳转没有成功.app是个很简单的点灯程序
首先我把Linker.ld文件的地址修改成了0x08010000
system_stm32f4xx.c里
[mw_shl_code=applescript,true]#define VECT_TAB_OFFSET  0x10000[/mw_shl_code]
不知道是否有遗漏,或者是哪里改错了,劳烦各位大虾帮看一下.先谢过了
因为环境限制...我用的是SW4STM32,人小言微不方便强行更换
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
weihua8206
1楼-- · 2019-07-20 16:14
IAP的程序起始位置,IAP程序大小,主程序起始位置,主程序大小。
这四个参数设对了应该就没问题了
alphasion
2楼-- · 2019-07-20 18:28
 精彩回答 2  元偷偷看……
alphasion
3楼-- · 2019-07-20 21:19
而且话说,HAL库里貌似没有这个方法

一周热门 更多>