【华为云技术分享】使用keil5打开GD32F450i的MDK项目出现的问题以及J-Link无法烧录程序对应的解决方案

问题1:使用keil5打开后缀名为.uvproj的MDK项目出现无法打开的问题

image.png

对应解决方案:上述问题主要是keil的版本不兼容问题造成,因此可以直接将项目名称后缀名称由.uvproj更改为.uvprojx即可,这样使用keil5.28即可打开。

问题2:之后直接点击编译,出现34个错误,编译不成功,具体错误如下所示:

..\..\..\Library\Firmware\CMSIS\GD\GD32F4xx\Include\gd32f4xx.h(257): error: #5: cannot open source input file "core_cm4.h": No such file or directory

#include "core_cm4.h"

image.png

对应解决方案:该问题主要是我们找不到头文件,这里直接添加对应的文件名即可,这里添加的是core_cm4.h。

点击keil5的工具栏中的options to target按钮,选中C/C++选项,添加对应的头文件目录,此处注意要明确到具体的文件所在的目录文件夹,不能为上一层文件夹。

1png.png

1png.png

添加到对应的文件即可,编译成功,出现类似的问题只需要添加对应的文件即可,上面就是添加的具体步骤。

问题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_v5\ARM\Segger)替换为自己安装目录下的J-Link.exe文件即可。同时要注意J-Link驱动的版本,可能需要更低级别的版本驱动。

问题4:烧录的时候**JLink Warning: Mis-aligned memory read: Address: ......”

对应解决方案:将C:Keil_v5\ARM\Segger目录下的JL2CM3.dll文件用更低版本的JL2CM3.dll文件进行替换即可。文件见附件

问题5:出现Error Flash DownLoad failed - "Cortex-M4",如果有人出现这种奇葩的错误可以尝试以下的方式。

image.png

对应解决方案:个人觉得这个有点奇怪,显示的应该是Jlink配置的问题,打开查看一下自己的Jlink设置,查看一下Reset状态是否是Normal,如果是也点击一下,具体如下图所示。点击options for Target。。。之后点击Debug→Settings→Reset选择Normal即可。

1572854859346557.png

JL2CM3.rar

作者:星辰27

posted @ 2020-02-29 16:32  华为云官方博客  阅读(1919)  评论(0编辑  收藏  举报