进行嵌入式开发过程中,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就只有一个跳转了。
--------------------- 作者:王小琪 链接:https://bbs.21ic.com/icview-3277670-1-1.html 来源:21ic.com 此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。