这个帖子将详细介绍升级pyboardCN V2固件的方法
pyboardCN V2的MCU是STM32F405,可以使用STM32支持的任何一种方式,所以我们可以通过下面几种方式升级:
这几种方式中SWD方式速度最快,但是需要连接外部的ST-Link或Jlink等编程器,连线麻烦;DFU最方便,只要一个usb线就可以,但是在windows系统上需要安装dfu驱动;串口方式速度最慢,需要一个外部的USB转TTL的转换器。
DFU
DFU是最容易使用的升级方式之一,因为它不需要额外的硬件,只要一个usb线配合dfu软件就足够。先将BOOT0连接到3V3,然后按下复位键,在正常情况下,1-2秒就会自动进入DFU模式。第一次使用时需要安装DFU的驱动,驱动文件就在DfuSe软件的安装目录下。识别出DFU设备后,就可以选择固件文件,然后点右下角的upgrade按钮开始升级。
注意DFU软件需要使用DfuSe,不要使用后来出的一个三合一的编程软件STM32CubeProg。
(在linux下,需要使用 dfu-utils 这个工具,如果有熟悉的网友请补充一下用法。)
串口
STM32单片机内置了bootloader,可以通过串口方式升级程序。在pyboardCN V2上,只能使用B10(UART3_TX)/B11(UART3_RX),因为其它引脚被占用了。升级时,不要通过USB供电(或者使用充电线而不要用数据线,避免被识别为DFU模式),然后通过USB转TTL转换器,将串口连接到B10/B11(注意两边串口的TX/RX要交叉连接)。先运行Flash Loader程序,选择好串口(其它参数不用修改),点击Next,然后短连BOOT0和3V3,按下复位键,等待程序获取握手信号。如果通信正常,就会自动识别出芯片的型号,进入下一个界面后就可以选择固件文件,然后开始升级。
SWD方式
将PA13(SWDIO)/PA14(SWCLK)连接到ST-Link、jlink等支持SWD方式的编程器,并给板子供电,就可以通过SWD下载程序。这种方式大家应该是最熟悉的,就不多重复了。
这三种方式中,只有DFU方式会保留用户磁盘中的数据,其它两种方式会清理flash中内容,升级后用户文件会丢失。
相关软件
此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处