使用keil5打开GD32F450i的MDK项目出现的问题以及J-Link无法烧录程序对应的解决方案

举报
星辰27 发表于 2019/10/08 16:37:54 2019/10/08
【摘要】 使用keil5打开后缀名为.uvproj的MDK项目出现无法打开的问题以及下面问题的解决error: #5: cannot open source input file "core_cm4.h": No such file or directory #include "core_cm4.以及J-Link安装后无法烧录程序问题,出现Flash Download failed等问题

问题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 680.4KB 下载次数:38
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。