发新帖本帖赏金 20.00元(功能说明)我要提问
返回列表
[技术讨论]

keil常见问题报错及解决办法

[复制链接]
892|7
手机看帖
扫描二维码
随时随地手机跟帖
王小琪|  楼主 | 2023-1-10 14:47 | 显示全部楼层 |阅读模式
本帖最后由 王小琪 于 2023-1-10 14:49 编辑

进行嵌入式开发过程中,keil是常用的一个工具,但是在使用过程中经常会出现一些奇奇怪怪的问题,其实很多问题都不难,遇到过一次,下次再遇到就知道怎么解决了,我在这儿将我遇到过得问题进行总结一下,欢迎大家进行补充。
一、keil仿真无法退出
进行仿真后,有时会无法退出,会提示错误encountered an improper argument,删除所有断点后,encountered an improper argument会消失,但依旧会无法退出仿真。
5322063bd042b17b29.png
解决方法:
1、工程路径不要有任何中文
2、将工程目录下的Project.uvoptx文件删除,然后重新编译整个工程

二、识别不到芯片,提示unkown to this version of the jlink software
由于第一次用STM32L431CBT6,插入下载器提示找不到下载器,首先芯片包是有的。
4515063bd05c143726.png 8988063bd05ed2e4c5.png
原因是keil自身的Jlink驱动版本不够,需要官网下载安装JLINK驱动
https://www.segger.com/downloads/jlink
安装完成后将Jlink文件下的所有文件全部复制,然后我们打开keil安装目录下的ARM-Segger
3039863bd064146229.png
保留JL2CM3.dll和JLTAgdi.dll,其他文件全部用上面的JLINK文件夹下的替换掉,进行这个操作的时候需要将keil关掉。
然后重新进入keil可以看到已经读到了芯片的信息,问题解决
4244263bd066399dca.png

三、提示错误L6218E:Undefined symbol TIM_OC2Init
原因是缺少ST官方库文件,添加对应库文件即可,个人建议可以将ST所有库文件都添加进去,这样就不用担心缺少了。
3386763bd06c7a279d.png 1696663bd07531fbb0.png 5478563bd071e9eb73.png


四、注释中的中文字体乱码
在edit-configuration中,Editor-Encoding改为Chinese GB2312即可。需要将乱码删掉,重新输入就不会出现乱码了

1951663bd07a41fbd1.png 1674563bd07b44a896.png



五、跳转程序定义的时候提示No Browse Information available in ‘…\OBJ\SPI’
如下图想要看uart_init(115200)在哪定义的,结果跳出了错误。
解决方法为:点击魔术棒,选择 Output,勾选 Browse Information
741163bd082d6e8e4.png 3239263bd08cc61d44.png

六、Go To Definition会跳出多个函数
Go To Definition Of "xxxxxx"的时候会跳出来多个函数,如下图。
6830263bd099a4873a.png

这个函数定义在在adc.h里面,main.c里面没有引入头文件,所以需要增加头文件#include “adc.h”,如下图。
重新Go To Definition就只有一个跳转了。
1898663bd09e172c61.png 9712163bd0a056a016.png
6509063bd09cc4c584.png

使用特权

评论回复

打赏榜单

21ic小管家 打赏了 20.00 元 2023-02-08
理由:签约作者奖励

评论
王栋春 2023-1-10 22:45 回复TA
的确遇到过类似情况,多谢楼主分享。 

相关帖子

王栋春| | 2023-1-10 22:45 | 显示全部楼层
受教了,这个软件应该有汉化版的吧。            

使用特权

评论回复
王小琪|  楼主 | 2023-1-11 08:27 | 显示全部楼层
王栋春 发表于 2023-1-10 22:45
受教了,这个软件应该有汉化版的吧。

我没用过keil的汉化版,因为是很古老没怎么更新的软件,汉化的有很多不知名的Bug,一般都是用英文版的。

使用特权

评论回复
王栋春| | 2023-1-11 08:43 | 显示全部楼层
王小琪 发表于 2023-1-11 08:27
我没用过keil的汉化版,因为是很古老没怎么更新的软件,汉化的有很多不知名的Bug,一般都是用英文版的。 ...

俺安装了,也就玩了几次,毕竟对编程一窍不通,就是将书上的程序输入也是错误百出。

使用特权

评论回复
nuvotontech128| | 2023-1-12 11:06 | 显示全部楼层
勾选 Browse Information之后每次编译完程序都要假死一会儿,是什么原因?

使用特权

评论回复
王小琪|  楼主 | 2023-1-12 11:35 | 显示全部楼层
nuvotontech128 发表于 2023-1-12 11:06
勾选 Browse Information之后每次编译完程序都要假死一会儿,是什么原因?

我没遇到过假死,但是勾选Browse Information会导致编译时间变长倒是真的。
鱼和熊掌不可兼得,如果不勾选Browse Information,编译会更快,但是无法进行函数跳转。
你可以试试不勾选,看会不会出现“假死”

使用特权

评论回复
nuvotontech128| | 2023-2-3 13:04 | 显示全部楼层
王小琪 发表于 2023-1-12 11:35
我没遇到过假死,但是勾选Browse Information会导致编译时间变长倒是真的。
鱼和熊掌不可兼得,如果不勾 ...

不勾选Browse Information不会出现“假死”

使用特权

评论回复
发新帖 本帖赏金 20.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

227

主题

578

帖子

6

粉丝