一、为什么要对openmv进行固件升级
OpenMV项目是一直更新的,用户可以升级固件来保持更新。
每次更新,都会修复bug,增加新的功能。
有两种方式升级固件,一种是IDE自带的功能,使用bootloader升级固件,我们称之为常规升级。另一种是dfu升级,使用STM芯片的升级固件功能。
二、DFU升级
常规升级请参考:https://blog.youkuaiyun.com/qq_42748213/article/details/90483880
还未安装openmv的可以参考:https://blog.youkuaiyun.com/qq_42748213/article/details/90113177
1.安装软件
下载参考地址:https://download.youkuaiyun.com/download/qq_42748213/11172981
按照软件下一步点击即可完成软件的安装
2.下载固件
官方固件下载: https://github.com/openmv/openmv/releases
优快云快捷固件下载:https://download.youkuaiyun.com/download/qq_42748213/11205973
3.进入DFU模式
用杜邦线连接Boot引脚和3.3V引脚
用USB先连接电脑后, 设备管理器会出现一个DFU设备
如果没有自动安装驱动,可以在DfuSe软件的安装路径中找到驱动文件,安装即可。
4.上传固件
打开软件,点击Choose选择openmv.dfu(不要选择左侧的Choose)
这样就上传成功啦。 拔下杜邦线,然后重新插上USB线,运行IDE试试吧!
Mac OS
Linux和Mac OS下没有找到GUI的程序,只有命令行的。
首先安装软件:
>> brew install dfu-util
然后下载固件,并把固件解压到当前目录:
>> lsopenmv.dfu
然后进入DFU模式,先监测一下:
>> sudo dfu-util -l
dfu-util 0.9Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.Copyright 2010-2016 Tormod Volden and Stefan SchmidtThis program is Free Software and has ABSOLUTELY NO WARRANTYPlease report bugs to http://sourceforge.net/p/dfu-util/tickets/Deducing device DFU version from functional descriptor lengthFound Runtime: [05ac:828f] ver=0131, devnum=4, cfg=1, intf=3, path="20-3", alt=0, name="UNKNOWN", serial="UNKNOWN"Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-2", alt=3, name="@Device Feature/0xFFFF0000/01*004 e", serial="348633623235"Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-2", alt=2, name="@OTP Memory /0x1FFF7800/01*512 e,01*016 e", serial="348633623235"Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-2", alt=1, name="@Option Bytes /0x1FFFC000/01*016 e/0x1FFEC000/01*016 e", serial="348633623235"Found DFU: [0483:df11] ver=2200, devnum=27, cfg=1, intf=0, path="20-2", alt=0, name="@Internal Flash /0x08000000/04*016Kg,01*064Kg,07*128Kg,04*016Kg,01*064Kg,07*128Kg", serial="348633623235"
说明已经进入dfu模式了,现在可以烧录固件了:
>> sudo dfu-util --alt 0 -D openmv.dfu
如果正常的话,会显示:
image for alternate setting 0, (2 elements, total size = 1008036)parsing element 1, address = 0x08000000, size = 65536Download [=========================] 100% 65536 bytesDownload done.parsing element 2, address = 0x08010000, size = 942484Download [=========================] 100% 942484 bytesDownload done.done parsing DfuSe file
这样就成功升级完固件了 参考资料:https://github.com/openmv/openmv/wiki/Using-DFU-to-update-your-firmware