OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2773|回复: 2

f105 U盘 IAP 程序 重复下载APP 才能正常运行到APP程序段,求解决怎么样一次成功下载并运行

[复制链接]

11

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2016-7-19
在线时间
43 小时
发表于 2018-2-13 11:37:47 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 Loyslf_璞野 于 2018-2-13 13:20 编辑

我最近在写  f105的  USB host U盘  IAP 程序   bootloader  的大体流程是
先初始化
usb外设  文件系统   然后枚举U盘   
检测是否有U盘插入  如果 反复检测 1000次  大概一两秒钟的时间  还没有检测到U盘  就直接跳转到  APP程序的flash区执行App
                              如果检测到U盘并且U盘里面有 名字是 STM32F105VCT6.bin的升级文件  就进行升级(将bin写入flash里)   
                                      写入完成就跳转到APP程序的flash区执行App   
                              如果没有跳转成功就会  调入到  bootloader主循环中去   执行   System_Reset();


app程序   就是 设置中断向量表地址  初始化之前的外设  并进入  app主循环 printf  


但是我遇到了很诡异的问题   之前使用  usart  IAP  都没出现过的问题
(过程中U盘一直插着)
第一回刚上电   可以实现  一次下载  一次跳转   这是我想要的结果

按下复位   可以实现app的更新  但是跳转不了   然后  落入到  bootloader主循环 执行  软件复位
                执行bootloader再次检测到U盘  下载app成功  跳转app成功
以后每回按  复位   都会是  下载 第一次 app成功  跳转不成功   下载第二次成功   跳转成功

这是怎么回事呢???
有没有什么解决办法????
@正点原子

微信截图_20180213104957.png
微信截图_20180213105352.png
微信截图_20180213111656.png
微信截图_20180213111726.png
微信截图_20180213111907.png

bootloader程序.zip

14.23 MB, 下载次数: 439

App程序.zip

14.23 MB, 下载次数: 126

最佳答案

查看完整内容[请看2#楼]

我没有找到具体问题出在哪里,可能是刷写flash的程序有问题,因为我选择每回下载程序时擦除片内所有flash以后,再运行iap升级时就可以跳转了,所以我把程序改成,检测到升级文件以后,运行flash擦除程序把app程序区域的flash都擦掉,然后再写入新的app,这样就可以实现每回升级完成都可以正常跳转了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

42

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
214
金钱
214
注册时间
2016-7-19
在线时间
43 小时
 楼主| 发表于 2018-2-13 11:37:48 | 显示全部楼层

我没有找到具体问题出在哪里,可能是刷写flash的程序有问题,因为我选择每回下载程序时擦除片内所有flash以后,再运行iap升级时就可以跳转了,所以我把程序改成,检测到升级文件以后,运行flash擦除程序把app程序区域的flash都擦掉,然后再写入新的app,这样就可以实现每回升级完成都可以正常跳转了。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2018-2-19 22:03:53 | 显示全部楼层
帮顶
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 00:46

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表