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

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

[复制链接]
1699|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 王小琪 于 2023-1-10 14:49 编辑

进行嵌入式开发过程中,keil是常用的一个工具,但是在使用过程中经常会出现一些奇奇怪怪的问题,其实很多问题都不难,遇到过一次,下次再遇到就知道怎么解决了,我在这儿将我遇到过得问题进行总结一下,欢迎大家进行补充。
一、keil仿真无法退出
进行仿真后,有时会无法退出,会提示错误encountered an improper argument,删除所有断点后,encountered an improper argument会消失,但依旧会无法退出仿真。

解决方法:
1、工程路径不要有任何中文
2、将工程目录下的Project.uvoptx文件删除,然后重新编译整个工程

二、识别不到芯片,提示unkown to this version of the jlink software
由于第一次用STM32L431CBT6,插入下载器提示找不到下载器,首先芯片包是有的。

原因是keil自身的Jlink驱动版本不够,需要官网下载安装JLINK驱动
https://www.segger.com/downloads/jlink
安装完成后将Jlink文件下的所有文件全部复制,然后我们打开keil安装目录下的ARM-Segger

保留JL2CM3.dll和JLTAgdi.dll,其他文件全部用上面的JLINK文件夹下的替换掉,进行这个操作的时候需要将keil关掉。
然后重新进入keil可以看到已经读到了芯片的信息,问题解决


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



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





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


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


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

6509063bd09cc4c584.png (126.64 KB )

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,一般都是用英文版的。 ...

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

使用特权

评论回复
5
nuvotontech128| | 2023-1-12 11:06 | 只看该作者
勾选 Browse Information之后每次编译完程序都要假死一会儿,是什么原因?

使用特权

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

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

使用特权

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

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

使用特权

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

本版积分规则

227

主题

578

帖子

6

粉丝