0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

keil常见问题及解决措施

掌芯元器 2024-08-30 13:22 次阅读

一、代码及进入调试之前相关错误及解决

1.1 未定义错误(identifier "XXXX" is undefined)

出现此类错误主要有以下几方面的原因及解决办法如下:

未包含相关函数的头文件,添加对应头文件即可。

变量的使用在变量定义之前,在C语言中,编译是从上到下进行的,故而无法找到变量定义,从而报错,因此在编程之时需要注意,不要把程序调用的内容放在定义之前。

引入头文件错误、未在keil工程中添加头文件路径,导致在编译的时候找不到对应的头文件。

1.2 无法下载程序,识别不到目标板

出现此类错误主要有以下几方面的原因及解决办法如下:

当下载程序失败可从以下几个方面进行查找,通过此电脑右键 -> 管理 -> 查看是否存在下载器相关的设备,如:AT_LINK,ST_LINK。若没有则需要安装相应调试器版本的驱动。

检查调试器和单片机下载口的接线。

检查单片机供电和开发板本身。

选择正确的下载器类型,如:CMSIS_DAP

1.3 keil报错last line of file ends without a newline

打开错误提示中出现的文件,将光标放置在文章最后,点击回车即可,可以多点几下。避免此类错误可以在编写.c和.h文件时直接在文件末尾添加几个空行。

1.4 变量重复定义

编译时出现变量在2个或多个文件中重复定义有两个原因,一是该变量确实重复定义了,二是头文件重复包含。针对此类原因对代码进行检查即可。PS:在编程时一定注意头文件的包含,养成良好的编程习惯!!!

1.5 keil报错:function "xxx" was referenced but not defined

出现此类问题多是头文件或源文件中“xxx”变量定义为静态变量,只要去掉变量定义时的static即可。

1.6 ErrorNo space in execution regions...

出现此类问题的原因是程序大小或数据大小超出分配内存空间导致的,可重新分配内存空间或优化代码。还有一种可能是未激活keil导致的,注册激活keil即可。

keil破解激活可参考此篇文章:Keil5最新注册机到2032_keil5注册机-CSDN博客

二、调试相关

2.1 退出调试,软件卡死

此问题主要针对5.38之后的版本,在此之前的版本不会出现此类现象。此问题是keil的软件本身的BUG导致。只能待官方解决,但此BUG在我们的使用过程中是可以避免的。那我们该如何避免呢?只要在我们退出调试界面之前,取消所有断点即可,但是在实际使用中发现有时候没有断点也会出现此类现象,那是为什么呢?因为在退出之前进行过单步调试,导致虽然没有设置断点,但是软件认为存在断点导致的,保险起见,每次退出调试之前,点击菜单栏的杀死所有断点选项即可。

e857a204-668f-11ef-89ff-92fbcf53809c.png

2.2 keil里无法进行 go to 的跳转

问题:no browse information available in’工程目录’ check-[target-options][output][browse information] then rebuild the target!

解决:选中工程目录下的target1 -> 点击右键,-> option for target ‘target1’-> 在弹出的对话框中选择output选项卡 -> 勾选Browse information 选项 -> 重新编译工程即可

2.3 keil无法跳转到函数和变量定义

问题:无法跳转到定义,提示错误 “no browse info for symbol in this context“

解决:把工程移到不包含中文的路径下进行编译使用。检查编译器版本和工程版本是否一致,若不一致则在keil中选择一致的编译器版本,重新编译即可。若还不行记得勾选[Use Micro LIB]。

2.4 keil无法下载个别文件

问题:“xxx.s” could not be opened/could not load file“***.axf”

解决:上述问题出现的原因是MDK查找路径太长,我们缩短相关文件路径即可。

2.5 Debug模式,某些语句不能设置断点

解决:上述问题出现的原因是编译优化太高导致的,我们将keil的优化等级改为default或者最低即可,这样每一个运行的地方都可以打断点。

2.6 Cannot access target. Shutting down debug session.

解决方法如下:勾选target选项,工程路径不包含中文即可。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C语言
    +关注

    关注

    180

    文章

    7576

    浏览量

    133993
  • keil
    +关注

    关注

    68

    文章

    1207

    浏览量

    166167
  • 代码
    +关注

    关注

    30

    文章

    4668

    浏览量

    67754
收藏 人收藏

    评论

    相关推荐

    吴鉴鹰总结的Keil编译常见问题

    吴鉴鹰总结的Keil编译常见问题
    发表于 12-20 13:04

    Keil编译常见问题

    Keil编译常见问题
    发表于 01-26 14:08

    使用keil5常见问题有哪些?如何解决这些问题?

    使用keil5常见问题有哪些?如何解决这些问题?
    发表于 11-30 06:51

    继电保护/继电器常见问题及处理措施

    继电保护/继电器常见问题及处理措施        一、触点松动回开裂   触点是继电器完成切换负荷的电接
    发表于 12-08 09:17 833次阅读

    继电器常见问题及处理措施

    继电器常见问题及处理措施   一、触点松动回开裂        触点是继电器完成切换负荷的电接触零件,
    发表于 12-08 10:02 933次阅读

    Keil编译常见问题

    吴鉴鹰总结的Keil 编译常见问题,吴鉴鹰总结的Keil 编译常见问题
    发表于 07-22 15:31 10次下载

    吴鉴鹰总结的Keil编译常见问题(一)

    吴鉴鹰总结的Keil编译常见问题,例如:.error: #18: 6.error: #18: expected a ")" 如果是出现在c 文件中 多半是因为少了一个")"或者错误行有编译器不识别的字符 如果出现在头文件中错误行又是一个函数声明多半是因为在函数声明中
    发表于 07-22 15:31 0次下载

    keil编译有哪些常见问题

    本文档的主要内容详细介绍的是keil编译有哪些常见问题
    发表于 08-24 16:04 17次下载

    功率继电器的测量方法_功率继电器常见问题及处理措施

    本文首先阐述了功率继电器的四种测量方法,另外还详细介绍了功率继电器常见问题及处理措施
    发表于 03-19 14:52 4198次阅读

    使用激光切割机出现的常见问题和原因、解决措施

    使用激光切割机出现的常见问题和原因、解决措施
    的头像 发表于 09-15 16:02 2w次阅读

    灰尘网络常见问题

    灰尘网络常见问题
    发表于 04-28 15:08 8次下载
    灰尘网络<b class='flag-5'>常见问题</b>

    C语言常见问题

    C语言常见问题
    发表于 03-21 14:57 0次下载

    OpenSSL安装常见问题

    OpenSSL安装常见问题
    的头像 发表于 07-07 11:17 732次阅读
    OpenSSL安装<b class='flag-5'>常见问题</b>

    pcb设计常见问题和改善措施

    pcb设计常见问题和改善措施  随着现代电子技术的不断发展,硬件设计的要求也越来越高。作为硬件设计的基础,PCB设计在整个电子产品的生产过程中占据着至关重要的地位。然而,在实际的PCB设计过程中
    的头像 发表于 08-29 16:40 2434次阅读

    火电机组DCS常见问题与建议措施

    电子发烧友网站提供《火电机组DCS常见问题与建议措施.doc》资料免费下载
    发表于 11-03 10:16 0次下载
    火电机组DCS<b class='flag-5'>常见问题</b>与建议<b class='flag-5'>措施</b>