stm32 iAP成功跳转APP 但是没有执行 正解在5楼

2019-12-17 21:29发布

本帖最后由 天涯行客 于 2014-12-4 12:37 编辑

程序所有配置都没有问题,就是不执行APP程序,不知道怎么回事啊 2014-12-04_105927.png (77.37 KB, 下载次数: 4) 下载附件 2014-12-4 11:00 上传

程序跳转代码

        if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
        {
            SerialPutString("Execute user Program ");

            JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
            Jump_To_Application = (pFunction) JumpAddress;

            __set_MSP(*(__IO uint32_t*) ApplicationAddress);
            Jump_To_Application();
        }
#define ApplicationAddress    0x8010000


我APP程序比较大 生成的BIN文件有60K左右,会是堆栈溢出的问题吗?


正解在5楼
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
64条回答
天涯行客
1楼-- · 2019-12-20 10:46
xianghaisha 发表于 2014-12-4 14:07
也就是说需要提前完成这些工作喽?

嗯 是的 可以这样  
SystemInit();
NVIC_SetVectorTable(0x08000000,0x00010000);

一般启动文件中有以下代码的话,也可以不用调用SystemInit();
Reset_Handler    PROC
                 EXPORT  Reset_Handler             [WEAK]
        IMPORT  SystemInit
        IMPORT  __main
                 LDR     R0, =SystemInit
                 BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP
wdooy
2楼-- · 2019-12-20 15:24
学习了!  研究研究这类操作!
dreampet
3楼-- · 2019-12-20 16:18
既然用库,那就按库的要求来,只需要在system_stm32f10x.c里面改下VECT_TAB_OFFSET的值就行了
cddxhy
4楼-- · 2019-12-20 20:11
 精彩回答 2  元偷偷看……
shangso
5楼-- · 2019-12-20 23:51
正巧遇到这问题,太感谢LZ了
TANK99
6楼-- · 2019-12-21 05:09
记录,还没有搞定IAP

一周热门 更多>