使用keil5打开GD32F450i的MDK项目出现的问题以及J-Link无法烧录程序对应的解决方案
【摘要】 使用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项目出现无法打开的问题
对应解决方案:上述问题主要是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"
对应解决方案:该问题主要是我们找不到头文件,这里直接添加对应的文件名即可,这里添加的是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_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",如果有人出现这种奇葩的错误可以尝试以下的方式。
对应解决方案:个人觉得这个有点奇怪,显示的应该是Jlink配置的问题,打开查看一下自己的Jlink设置,查看一下Reset状态是否是Normal,如果是也点击一下,具体如下图所示。点击options for Target。。。之后点击Debug→Settings→Reset选择Normal即可。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)