由于开发板没有预留swd下载口,于时在网上找教程用串口给开发板下载。
记录一下。
好文推荐:
如何使用串口来给STM32下载程序 - 知乎 (zhihu.com)
驱动安装:
CH340:CH340/CH341USB转串口WINDOWS驱动程序
PL2302:PL2303 Windows Driver Download
CP2102:CP210x USB转UART桥接VCP驱动程序
FT232:FT232R USB UART Driver Download
软件下载FlyMCU
官网:单片机在线编程网 (mcuisp.com)
下载后就可以用了,不过软件需要配置一下
1、选择端口号
参数:
另外在使用时需要修改单片机的启动模式,将BOOT直接接地,为低电平0;BOOT上拉为高电平1
使用时的问题。
开发板电源没有断开的情况下二次下载程序会导致下载失败,具体情况如图:
连接不上
解决办法,再次点击“开始编程”,会显示停止连接ISP,接下来对单片机断电。重新上电后可以正常下载,但是下载第二次还是要断电。
还有一个解决办法,按下复位键后可以再次下载。推荐该方法
以上下载程序在复位后程序被清除。
所以还有如下方法。
我用到的是USB转TTL模块,模块没有DTR和RTS,将模块连接至电脑,模块的gnd、tx、rx正常接,由于开发板默认将BOOT0和BOOT1拉低,但是预留了BOOT0引脚,于时将USB转TTL模块的3.3V连接到BOOT0将boot0拉高,接下来给开发板供电。这样可以下载程序,但是复位后程序被清除,也就是说程序没有下载保存到ram中。
但是当我在开发板正常供电且boot0被拉高的情况下,按下复位键随后拔掉boot0的外接高电平,此时下载的程序可以正常保存到RAM,掉电,复位都不会丢失程序。
运气选手,无意间发现上述结论,记录一下