前段时间买了一个STM32F407的开发板,打算做一点小实验,因为之前就用过STM32系列,算是比较熟悉,也没有太在意,安装完Keil后直接开始下载代码试试,问题出现了。
问题现象:
Keil下代码编译通过,但是下载FLASH和在线调试都报错,无法识别仿真器。
问题分析:
遂查看设备管理器,果然显示两个未安装驱动的设备,CDC-ACM和J-Link。
想起来只顾着安装Keil和Licence了,竟然忘了安装J-Link驱动,果然是生疏了。
按照开发板提供的驱动文件(Setup_JLinkARM_V415e.exe),安装完却没解决问题,手动指定驱动路径也无济于事。
想起来开发板厂家提供的资料都有点老,包括Keil的Licence都过期了。。。
而且自己的电脑系统版本是Windows 11,好多专业软件存在兼容性问题,怀疑是版本和系统不匹配,需要找最新版本的驱动。
官网显示最新版本是V792e,下载速度非常慢,又发现一个V732版本,专为ARM设计,下载,卸载原有驱动,安装V732版本,神奇的事情发生了。。。驱动安装成功了,欣喜之余,马上连接开发板试了下最简单的一个流水灯的代码,可以仿真可以下载,问题解决了!
V732版本下载路径如下:
SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace
问题总结:
1. Windows 11确实比较新,包括不能用ISE和这次的J-Link问题,以后遇到类似问题,需要特别注意,驱动和部分专业软件可能都有限制;
2. 远离工程开发较长时间,都已经忘了工程师本就是为了解决问题而存在,太过顺风顺水以至于忘了初心,需要调整心态。