打印

请教关于STM32F107的IAP 问题

[复制链接]
3558|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中设置:

结果在IAP中打印出来的内容为 20008df0

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

BIN文件:


请问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);

使用特权

评论回复
5
luting409| | 2014-6-4 15:22 | 只看该作者
楼主这个问题解决了吗,我最近在做107的IAP,也越到这个问题,不知道怎么解决

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

343

帖子

0

粉丝