STM32F0 IAP怎么跳轉到user application功能

2019-07-14 16:51发布

小弟目前需要一個bootloader可以將開啟後跳轉到user application的功能,版子是STM32F030R8

發現官網有一個IAP sample看起來很適合做這樣的功能,如下
http://www.st.com/web/en/catalog ... 743/LN1734/PF258152

查看了一下code,主要做跳轉的動作是以下幾行程序,但是用IAR的debug模式下並沒有看到跳轉到我設定的application address
    if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
    {
      /* Jump to user application */
      JumpAddress = *(__IO uint32_t*) (APPLICATION_ADDRESS + 4);
      Jump_To_Application = (pFunction) JumpAddress;
      
      /* Initialize user application's Stack Pointer */
      __set_MSP(*(__IO uint32_t*) APPLICATION_ADDRESS);
      
      /* Jump to application */
      Jump_To_Application();
    }

請問有甚麼地方是我疏忽的嗎?  

麻煩各位高手指教了~~謝謝
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
zhouxk
1楼-- · 2019-07-14 19:24
    if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000) 这个if语句看看有没有执行。
tianyou15
2楼-- · 2019-07-15 00:07
顶起来
mu89640
3楼-- · 2019-07-15 01:00
zhouxk 发表于 2018-10-17 13:05
    if (((*(__IO uint32_t*)APPLICATION_ADDRESS) & 0x2FFE0000 ) == 0x20000000) 这个if语句看看有没有执行。

有的,有進這個條件,所以也有看到後面執行jump_to_application,但是不知道為甚麼沒有跳轉到設定的位址

查了一些文件,似乎跟向量表設定有關?  

但是目前還看不是很懂....是否有高手能提點?
zhouxk
4楼-- · 2019-07-15 04:00
 精彩回答 2  元偷偷看……
mu89640
5楼-- · 2019-07-15 04:52
在app的main加了向量表的設定後已經可以work了

再來的我還需要能讓iap跟user app之間互相做跳轉

這部分還沒有甚麼想法該怎麼做

請問有高手能給建議嗎?

一周热门 更多>