STM32F4 USB HOST 实现 U盘 IAP

2020-01-04 18:59发布

本帖最后由 niu14789 于 2014-2-14 10:45 编辑

这个程序在是四个月前的一个项目上使用过的,今天整理电脑时发现了它,本着开源公享的精神把它贴出来

STM32F4 使用USBHOST实现的U盘IAP

    程序上电之后会判断是否有U盘插入,如果没有则直接跳转,如果有U盘插入,接着会判断是否存在ROM.bin文件,如果存在则进行IAP

IAP程序区占用地址为 0x08000000~0x08040000


对应的用户程序起始地址就得进行更改

需要将要更新的程序转换为BIN文件并改名的ROM.bin保存到U盘中才能进行IAP

KEIL 中 生成 BIN文件的命令为

Output/OTG.axf为工程成生axf文件的地址,生成的OTGROM.bin文件保存在工程根目录下

在用户程序中,在中断初始之前要加入以下代码才能保证中断会正确的被响应。

设置中断向量表偏移地址。

程序中跟LCD相关的都可以删掉。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
99条回答
wudision
1楼-- · 2020-01-07 14:45
mark 收藏
xmu234
2楼-- · 2020-01-07 18:18
 精彩回答 2  元偷偷看……
wumingjianke
3楼-- · 2020-01-07 22:17
谢谢分享,非常有用。
hpdell
4楼-- · 2020-01-08 02:10
XA144F 发表于 2014-2-14 11:12
40000这数值有点大啊,我用的是8000.
我根据discovery板子里面的那个例程修改的,效果一样。 ...

你好,能否发给我共享一下啊 ??

我的usb u盘 Iap 始终都没有成功,单片机也是使用stm32f407vet6 的,最大flash空间0x80000
XA144F
5楼-- · 2020-01-08 02:56
hpdell 发表于 2014-8-30 22:08
你好,能否发给我共享一下啊 ??

我的usb u盘 Iap 始终都没有成功,单片机也是使用stm32f407vet6 的, ...

我上传一个F405的u盘升级吧,这和F407的一样——我就是从F407移植过去的。
要烧写的用户程序需要fromelf转换为bin文件,文件名image.bin。
用户程序开始地址需要加上便宜0x8000,中断向量表开始地址也要改成0x8000.
F405-UDISK_BOOTLOADER.rar (6.3 MB, 下载次数: 676) 2014-8-31 12:08 上传 点击文件名下载附件
usb bootloader
hpdell
6楼-- · 2020-01-08 03:48
XA144F 发表于 2014-8-31 12:08
我上传一个F405的u盘升级吧,这和F407的一样——我就是从F407移植过去的。
要烧写的用户程序需要fromelf ...

非常感谢感谢啊!!!

一周热门 更多>