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

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
没有人帮我顶,自己先顶起来了
dsjsjf 回答时间:2018-9-11 20:20:14
你判断要更新固件的条件是什么?是不是插上U盘,然后找指定的文件?如果找不到这个文件会怎么样?
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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版