你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

USB IAP跳转异常

[复制链接]
ajianyes 提问时间:2018-9-11 11:49 /
最近在使用F429做USB IAP升级,遇到奇怪的问题,感到很疑惑,在插上U盘升级的时候程序总停留在Default handler里面
如图片所示,当拔掉U盘启动则软件运行正常
IAP里面的跳转程序如下
if( ((*(__IO uint32_t*)AppAddr)&0x2FFE0000) == 0x20000000
{
  __asm("CPSID  I");
  JumpAddress = (*(__IO uint32_t*)(AppAddr + 4));
  JumpToApplication = (pFunction)JumpAddress;
  /* Initialize user application's Stack Pointer */
  __set_MSP(*(volatile uint32_t*)AppAddr);
  JumpToApplication();
}


IAP地址设置为0x010000,64K空间,尝试了将所有的中断handler函数都添加到it.c里,问题仍旧。。。。。
收藏 评论8 发布时间:2018-9-11 11:49

举报

8个回答
ajianyes 回答时间:2018-9-11 13:10:57
没有人帮我顶,自己先顶起来了
埃斯提爱慕 回答时间:2018-9-11 20:20:14
提示: 作者被禁止或删除 内容自动屏蔽
feixiang20 回答时间:2018-9-11 22:48:49
看看FLASH 的目的地址, 中断向量表等有没有异常.
废鱼 回答时间:2018-9-12 08:14:59
是不是USB中断在IAP程序里面开启了。而应用程序又没有USB的中断处理?向量地址是否进行了更新?
ajianyes 回答时间:2018-9-17 15:27:14
dsjsjf 发表于 2018-9-11 20:20
你判断要更新固件的条件是什么?是不是插上U盘,然后找指定的文件?如果找不到这个文件会怎么样? ...

插入U盘,找到目标更新文件,若是没有目标文件则会直接跳转进入APP程序
ajianyes 回答时间:2018-9-17 15:28:20
安 发表于 2018-9-12 08:14
是不是USB中断在IAP程序里面开启了。而应用程序又没有USB的中断处理?向量地址是否进行了更新? ...

向量表地址有增加偏移,在APP里面,应用程序确实是没有USB的中断处理。但是这里好像不影响啊
ajianyes 回答时间:2018-9-17 15:29:38
feixiang20 发表于 2018-9-11 22:48
看看FLASH 的目的地址, 中断向量表等有没有异常.

我的升级方式是FLASH,中断向量表有在FLASH处增加偏移
废鱼 回答时间:2018-9-18 08:21:09
如果IAP开启了USB中断,那么这里就会有影响的。进入APP以后,或者之前,要把USB关闭。我之前遇到过的问题是当串口在IAP中初始化后,有些寄存器是不会清除的,导致串口产生中断而复位。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版