升级固件

视频教程5 - 升级固件:https://singtown.com/learn/49997/

OpenMV项目是一直更新的,用户可以升级固件来保持更新。
每次更新,都会修复bug,增加新的功能。

有两种方式升级固件,一种是IDE自带的功能,使用bootloader升级固件,我们称之为常规升级。另一种是dfu升级,使用STM芯片的升级固件功能。

请优先使用常规升级,如果是用不了,或者是新的芯片,可以使用DFU烧录程序。

常规升级

OpenMV的IDE有更新固件的功能,非常好用,优先使用这个(Windows,MacOS,Ubuntu通用)。

如果你的固件不是最新版本的话,在IDE下方会有[out of data - click here to upgrade],如上图。点击这里,会弹出一个对话框:是否升级到最新固件?

选择OK

如果想擦除文件系统,选择Yes,如果想保留文件,选择No。

这个过程大概会持续1分钟,OpenMV的灯会闪。
最后会提示:升级成功。

然后,OpenMV就升级到最新版了。

DFU升级

请优先使用常规升级。

DFU模式,是STM芯片特有的bootloader,这种升级方式,适用于没有烧录过固件的OpenMV,或者烧写固件错误的OpenMV。

dfu升级不需要调试器,只需要一根杜邦线和USB线。

第一步,安装软件

在OpenMV的IDE就集成了这个烧录软件:DFUSE

双击打开。

第二步,下载最新固件

同样,在IDE中就集成了最新的固件。

第三步,进入DFU模式

用杜邦线连接Boot引脚和RST引脚。

就进入了DFU模式,设备管理器会出现一个DFU设备。

如果没有自动安装驱动,可以在DfuSe软件的安装路径中找到驱动文件,安装即可。

第四步,烧录固件

打开软件,点击Choose选择openmv.dfu(不要选择左侧的Choose)。

请注意区分OpenMV2与OpenMV3的固件。如果你是OpenMV3 M7的板子,请选择OpenMV3的固件;如果是OpenMV2 M4的板子,请选择OpenMV2的固件。

这样就上传成功啦。 拔下杜邦线,然后重新插上USB线,运行IDE试试吧!

MacOS DFU升级

MacOS也是可以常规升级的,请优先使用常规升级。

DFU模式,是STM芯片特有的bootloader,这种升级方式,适用于没有烧录过固件的OpenMV,或者烧写固件错误的OpenMV。

Linux和Mac OS下没有找到GUI的程序,只有命令行的。

安装软件:

brew install dfu-util

固件下载

官方固件下载: https://github.com/openmv/openmv/releases

中国服务器下载:http://openmv.cc/downloads/

并把固件解压到当前目录:

ls
openmv.dfu

进入DFU模式

先检查一下:

>> sudo dfu-util -l
dfu-util 0.9
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Deducing device DFU version from functional descriptor length
Found 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 = 65536
Download    [=========================] 100%        65536 bytes
Download done.
parsing element 2, address = 0x08010000, size = 942484
Download    [=========================] 100%       942484 bytes
Download done.
done parsing DfuSe file

这样就成功升级完固件了
参考资料:https://github.com/openmv/openmv/wiki/Using-DFU-to-update-your-firmware

results matching ""

    No results matching ""