Keil 使用问题汇总

说明

记录日常工作中使用Keil遇到的问题的解决方法。

keil仿真相关

添加芯片flash型号

在用仿真器烧录时,需要在flash download列表下,选择待烧写设备的芯片对应的flash型号。如果flash download添加列表中,没有我们要的芯片flash型号,则需要去官网下载相应系列的芯片包,如STM32F4xx_DFP。这里面会包含我们需要的FLM文件,将FLM文件复制到keil安装路径\ARM\flash目录下即可。

烧录异常

在安装JLink驱动时,最后一步会检测本地电脑中,使用 JLinkARM.dll 的第三方应用程序,并提示是否要将它们使用的dll替换为当前安装的版本,详见下图。

jLink.png

如果错误的替换了dll,则可能导致第三方应用程序使用异常,比如:keil烧录、仿真异常。

1
The firmware of the connected J-link does not support the following memory access(Cannot load driver \ARM\Segger\JL2CM3.dll)。

解决方法:进入Keil安装目录下的\ARM\Segger,将里面的JLinkARM.dll用合适的JLinkARM.dll替换即可。如:JLink驱动安装目录下,或者从其他正常使用keil的电脑,在同样的路径里面找到dll,复制出来替换。

1
JLink Warning: Mis-aligned memory write: Address: 0x20000000, NumBytes: 2, Alignment: 2 (Halfword-aligned)

这个是JL2CM3.dll的问题,把它换成其他版本的(版本不要过低),也可以安装MDK其他的低版本解决,或者同上一个问题一样复制替换。

编译报错

1
.\Output\Stm32_MCU_FBL.axf: error: L6050U: The code size of this image (42994 bytes) exceeds the maximum allowed for this version of the linker.

原因是没有注册,还是试用版,对编译文件的大小有限制。解决方法:keil注册(破解)

Keil工程相关

当电脑安装了Keil4与Keil5两个软件时,打开工程文件会默认选择Keil5打开,而用Keil4创建的工程,用keil5打开会崩溃。通过修改注册表可以实现,不同的工程文件类型用指定的Keil版本打开。即Keil4建立的工程用Keil4打开,Keil5建立的工程用Keil5打开。

打开注册表,展开HKEY_CLASSER_ROOT,找到UVPROJFILE目录(Keil4工程文件类型)和UVPROJXFILE目录(Keil5工程文件类型)。在右侧窗口双击名称下面的条目,出现编辑框后,将数值数据填写为对应的Keil应用程序路径即可。

keil注册表.png

其他

之前遇到过一个问题,在win10环境下,Keil4启动时会有类型闪退的现象,卡在启动界面一段时间后会自动退出。调出任务管理器,查看程序的运行状态,发现启动时会自动被挂起。后续,安装高版本的keil4之后不再出现。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2021-2023 wrd
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信