||
用STM32F105RB做了一段时间USB HOST去读取U盘数据,STM32片子一直在用感觉也不错。实际中也有发现直接用U盘维护固件的,感觉还蛮不错。于是在现有硬件基础上修改了一下,一晚上就让我的应用程序跑了起来。
必须阅读:
1.Application note AN3354:STM32F105/107 in-application programming using a USB host.
2.User manual UM1021:STM32F105/107xx USB Host library.
3.当然少不了AN3354的例程了
原例程中,将需要升级的bin文件用joystick来选择,详细可看下图的流程
如果不需要判断,可以自己定义需要升级的文件名。例程中也增加了读取flash中固件的功能,也需要选择。个人感觉平时用处不大也就注销了。读取bin格式的文件写入之后就jump to 0x8008000去了,也就是跳到应用程序中去了。写了个按键和LED的简单测试,一起正常。
另要生成bin格式的文件,在MDK4中应该在Options->user->Run User Programs After Build/Rebuild框中的Run #1多选框选中,输入 C:/Keil/ARM/BIN40/fromelf.exe --bin -o ./obj/UPLOAD.bin ./obj/UPLOAD.axf
先了解到此,还未完善很多地方可以优化,继续... ...