问题1:使用keil5打开后缀名为.uvproj的MDK项目出现无法打开的问题
对应解决方案:上述问题主要是keil的版本不兼容问题造成,因此可以直接将项目名称后缀名称由.uvproj更改为.uvprojx即可,这样使用keil5.28即可打开。
问题2:之后直接点击编译,出现34个错误,编译不成功,具体错误如下所示:
......LibraryFirmwareCMSISGDGD32F4xxIncludegd32f4xx.h(257): error: #5: cannot open source input file "core_cm4.h": No such file or directory
#include "core_cm4.h"
对应解决方案:该问题主要是我们找不到头文件,这里直接添加对应的文件名即可,这里添加的是core_cm4.h。
点击keil5的工具栏中的options to target按钮,选中C/C++选项,添加对应的头文件目录,此处注意要明确到具体的文件所在的目录文件夹,不能为上一层文件夹。
添加到对应的文件即可,编译成功,出现类似的问题只需要添加对应的文件即可,上面就是添加的具体步骤。
问题3:安装J-Link驱动后,依然无法烧录程序,报错Flash Download failed “Cortex-M4”以及The connected J-Link is defective。。。
对应解决方案:前者通过在keil中配置Jlink即可,后者由于keil5.25及更高版本默认安装高版本的J-Link驱动,需要将keil5.25自带的J-Link.exe文件(默认C:Keil_v5ARMSegger)替换为自己安装目录下的J-Link.exe文件即可。同时要注意J-Link驱动的版本,可能需要更低级别的版本驱动。
问题4:烧录的时候**JLink Warning: Mis-aligned memory read: Address: ......”
对应解决方案:将C:Keil_v5ARMSegger目录下的JL2CM3.dll文件用更低版本的JL2CM3.dll文件进行替换即可。文件见附件
问题5:出现Error Flash DownLoad failed - "Cortex-M4",如果有人出现这种奇葩的错误可以尝试以下的方式。
对应解决方案:个人觉得这个有点奇怪,显示的应该是Jlink配置的问题,打开查看一下自己的Jlink设置,查看一下Reset状态是否是Normal,如果是也点击一下,具体如下图所示。点击options for Target。。。之后点击Debug→Settings→Reset选择Normal即可。
作者:星辰27