请教关于STM32F107的IAP 问题

[复制链接]
4385|4
 楼主| kanprin 发表于 2012-6-15 16:51 | 显示全部楼层 |阅读模式
本帖最后由 kanprin 于 2012-6-15 16:54 编辑

MDK4.53

通过网络升级

设置APP代码从0x08009000开始
#define USER_FLASH_FIRST_PAGE_ADDRESS 0x08009000

IAP区中将需要跳转到的地址内容从串口打印出来:

uart1_printf("RAM address contain: %08x\n",*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS);
/*jump to the app*/
/* Check if valid stack address (RAM address) then jump to user application */
if (((*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS) & 0x2FFE0000 ) == 0x20000000)
{
    /*跳转*/
}


APP中,设置
NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x9000);

在MDK中设置:
MKD.jpg
结果在IAP中打印出来的内容为 20008df0

APP代码编译完后,转成BIN文件,结果0x08009000的内容也是2008df0
这样就导致跳转到APP后,执行错误。

BIN文件:
BIN.jpg

请问MDK还有哪里设置不正确的地方吗?
谢谢。

 楼主| kanprin 发表于 2012-6-15 22:39 | 显示全部楼层
有请高手支个招
lxj19901115 发表于 2012-8-28 18:03 | 显示全部楼层
我也在想这个问题,求指教
bingye1086 发表于 2012-8-28 19:00 | 显示全部楼层
*(__IO uint32_t*)USER_FLASH_FIRST_PAGE_ADDRESS这是啥意思?
直接这样吧应该uart1_printf("RAM address contain: %08x\n",(__IO uint32_t)USER_FLASH_FIRST_PAGE_ADDRESS);
luting409 发表于 2014-6-4 15:22 | 显示全部楼层
楼主这个问题解决了吗,我最近在做107的IAP,也越到这个问题,不知道怎么解决
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

343

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部