很长时间没有用STM32了,最近突然有个需求,打算用STM32来完成。以前用的是Keil MDK4版本,这次看到MDK已经升级到525了。反正也要重新装Keil,当然就图个新鲜,装个高版本呗,没想到就这样踩了一个就一个坑,将我遇到的坑写在这里,供自己日后查看,也为了让那些正准备安装MDK525的同志们少走弯路。
坑1:J-Link驱动问题
现象:在使用J-Link进行下载和调适时,需要按如下图所示进行设置,这时就出现了下面的警告,The connected J-Link is defective,Proper operation cannot be guaranteed.......虽然警告能关上,但我这人习惯遇到报警就百度一下。有人说这个警告会导致下载时Keil崩溃,吓得我一身冷汗。
原因:新版本的Keil中J-Link驱动版本过高,自己买的山寨J-Link不适配了
解决方法:把 keil_v5/ARM/Segger整个目录换掉,换成一个低版本的就可以了,下面提供了一个5.12版本的链接,有需要可以自行下载:https://download.csdn.net/download/sundonga/10931522
坑2:需要安装芯片库问题
MDK525与之前的MDK4不同,MDK525需要单独安装芯片库,安装方法有两种:
一是按下面两图所示,采用软件自动安装的方法。
二是到这个网址(http://www.keil.com/dd2/pack/#/eula-container)找到你的芯片,先下载下来,然后双击就可以安装了。下图所示就是找到STM32各个系列的库了。
下面坑来了!!!!!!下载下来后就是下面这个Keil.STM32F1xx_DFP.x.x.x.pack的文件双击运行时,看到下面的文件夹了吗?!!!
再看看我们选择芯片容量时,程序实际调用的文件夹,如下Flash文件夹为实际调用时使用的,安装的文件夹和实际使用的文件夹不一样!!!
这就导致你按下图所示这个顺序去选择芯片容量时,会发现——没有!!!强行下载就会出现:add flash programming algorithm选项缺少需要的算法解决办法这个错误。这也是看了这个博客才发现的问题,https://blog.csdn.net/qq_38376586/article/details/79582020。
解决方法1:就是按上面链接中说的,把芯片的配置文件再手动拷到Flash的文件夹中,这样就可以了。
解决方法2:找一个超全的芯片配置资料,直接拷到Flash文件夹中,下面提供了一个,需要的可以自行下载。