下载器类型有很多种,现在看到比较多的朋友都是使用STlink了,所以我也购买了ST LINK v2下载器进行学习使用。后来使用才发现这个下载器的功能特别强大,可以下载程序、调试程序、读取芯片数据,解除芯片读写保护等等,辅助软件用的是STM32 ST-LINK Utility。
第一步:将ST-link通过usb T口线连接到电脑USB上,然后打开设备管理器可以看到是没有通用串行设备的,说明这个电脑一直没有安装过这个驱动。
第二步:打开下载器的资料文件夹(正点原子有提供),找到ST-LINK驱动文件,所在的文件夹双击dpinst_amd64.exe可执行文件,这个要根据自己电脑系统位数来选择的。
第五步:这个驱动安装非常的简单,依次点击NEXT或者下一页即可。
第六步:安装完成后查看是否成功安装ST-link驱动;设备管理器里查看:
如果安装驱动出现黄色的叹号,说明安装失败了,如下图:
解决方法就是禁用电脑数字签名后,重新插拔ST-LINK,问题即可解决(如果不行,可以重新安装一遍驱动)。
用 ST-LINK v2下载器给STM32F103ZE 战舰开发板下载程序和调试程序:
下载器和开发板的接口对应接即可,如果不清楚,开发板的背面有丝印提示。
如果下载提示No STLINK detected,驱动没有安装导致的。
MDK配置:
2.点击settings 选择接口方式为SW模式,时钟频率不要选太快。
Reset and run可选可不选,不选时下载完程序要按复位键程序才会运行;勾选了程序下载完成后会自动运行。
在Programming Algorithm 窗口 选择芯片相应flash烧写算法。
战舰开发板是Cortex M3的芯片,容量是512k的,所以选择 512K的烧写算法,如果打开窗口时看到这个Programming Algorithm 窗口没有可选择的芯片,要检查看看是否已安装芯片所需的PACK包 Keil.STM32F1xx_DFP.2.2.0.pack。
查看方法如下:
只要是安装了是会如上图所示,看到对应的芯片型号,如果是没有安装则是空白的,找不到对应的芯片。
可以直接到软件资料里面双击Keil.STM32F1xx_DFP.2.2.0.pack 安装即可,安装时路径默认就行。
上面的步骤都配置完后,点击确定回到主界面,可以选择性编译一下工程,当然不编译也没有问题,也可以直接点击下载按钮进行程序下载。
注意:正版的STLINK下载器是没有供电能力的,开发板和下载器要独立供电才可以正常下载程序。
代码调试一般采取硬件仿真的方式进行调试:
点击魔术棒按钮进行设置,settings里面的参数和程序下载设置的是一样的,这里不赘述了。
就是里面的时钟要选为系统时钟即可,不然看到运行的时间就不准。
自己仿真时在这遇到一个bug,就是当你打了断点,而没有取消就退出则程序工程会有卡死现象,无法再正常关闭了,只能通过任务管理器进行强行关闭啦。所以这个是比较要留心的步骤。
第三步:如果点击Device Connect 提示下面这个,那么可以尝试插拔一下stlink上的USB(断电再上电)再点击Device Connect 即可。
第四步:再次点击Device Connect后就可以正常点击Yes按钮啦。
如果没有升级软件的朋友,可以下载下面的链接:
stlink固件升级软件路径1
stlink固件升级软件路径2
注意:下面这些问题都是能正常识别驱动的情况下的
1.提示No target connected,如下图:
原因就是板子没有独立供电导致的。
2.提示ST-LINK USB communication error
提示这个,升级一下固件即可。
上面的内容是在学习过程中遇到的一些常见问题及解决方案,希望可以帮助到广大的朋友们。