打印
[STM32F1]

stm32f105通过usb host来实现U盘升级

[复制链接]
1250|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhaoxqi|  楼主 | 2021-1-19 22:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stm32f105通过usb host来实现U盘升级

使用特权

评论回复
沙发
tian111| | 2021-1-19 22:42 | 只看该作者
这就要写个Bootloader,开机过程通过按键选择进入到升级程序,从USB读U盘升级。

使用特权

评论回复
板凳
heweibig| | 2021-1-19 22:45 | 只看该作者
楼主自己研究一下Bootloader怎么写吧

使用特权

评论回复
地板
jiahy| | 2021-1-19 22:47 | 只看该作者
没做过,但是听说是需要用Bootloader

使用特权

评论回复
5
lizye| | 2021-1-19 22:49 | 只看该作者
不仅会USB通信,还要回Bootloader编写。

使用特权

评论回复
6
wangpe| | 2021-1-19 22:54 | 只看该作者
一般情况下需要写bootloader来支持,我用沁恒CH563做的时候厂家直接提供的例程

使用特权

评论回复
7
huangchui| | 2021-1-19 22:57 | 只看该作者

我F405上是这样实现的:
1. 扫描U盘寻找特定的固件升级文件;
2. 打开文件读入固件到Flash未使用的区间B;
3.构造一个IAP函数,其功能是将区间B的内容Copy到工作空间;
  IAP函数仅仅是Flash操作,且不能有任何函数调用.
4. 将IAR函数拷贝到RAM中.
5. 调用RAM中的IAP函数。
6. MCU自复位

使用特权

评论回复
8
wyjie| | 2021-1-19 23:00 | 只看该作者
搞定USB读取U盘,剩下的就不难

使用特权

评论回复
9
bqyj| | 2021-1-19 23:01 | 只看该作者
Bootloader 会写的话就很简单了。

使用特权

评论回复
10
hanwe| | 2021-1-19 23:04 | 只看该作者
可以的,官方的开发板就可以这么做

使用特权

评论回复
11
zhaoxqi|  楼主 | 2021-1-19 23:06 | 只看该作者
嗯,那我按大家的说法挨个排查一下,谢谢哈

使用特权

评论回复
12
香水城| | 2021-1-25 17:13 | 只看该作者
ST有个应用笔记可以参考下,AN3990 Upgrading STM32F4DISCOVERY board firmware using a USB key

使用特权

评论回复
13
yangxiaor520| | 2021-1-25 19:50 | 只看该作者
好好看下楼上分享的资料吧

使用特权

评论回复
14
nawu| | 2021-2-5 17:14 | 只看该作者
自己写一个升级程序就可以了

使用特权

评论回复
15
qcliu| | 2021-2-5 17:15 | 只看该作者
感谢城主分享笔记连接

使用特权

评论回复
16
tfqi| | 2021-2-5 17:16 | 只看该作者
7喽介绍的步骤很详细

使用特权

评论回复
17
wiba| | 2021-2-5 17:18 | 只看该作者
如果升级被打断是什么后果呢

使用特权

评论回复
18
zljiu| | 2021-2-5 17:19 | 只看该作者
打断的话 就是升级不成功 不影响老版本应该

使用特权

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

本版积分规则

808

主题

10636

帖子

4

粉丝