keil (全版本)安装包下载链接:
https://pan.baidu.com/s/1rn1ywOEhN1yinBUydWxrHQ?pwd=8888
提取码:8888
所有软件均为压缩文件,务必使用解压缩软件解压后再进行安装,不解压直接进行安装会导致安装失败。
360压缩下载地址:https://yasuo.360.cn/
7-zip下载地址:7-zip.org电脑如果没有解压工具的链接复制到浏览器下载即可
解压密码:公众号菜单栏点击 【解压密码】 根据提示获取密码
如遇链接失效,点击公众号菜单栏【最新链接】,即可获取最新的下载链接
接触单片机相关学习或者嵌入式项目,基本都会打开 Keil。和很多仿真软件不一样,它主要用来写芯片程序、编译代码、在线调试。在校期间的单片机课设,还有日常小型硬件项目开发,基本都依靠这个工具完成。不少人上手之后觉得操作界面简单,随便写写代码就能编译,等到真正要下载调试、交付完整工程,各种各样的问题接踵而至。
工程文件存放位置,是最容易被忽略的关键点。路径中包含中文、空格或者特殊符号,很容易引发一系列隐性故障。编译看起来顺利,程序烧录到开发板却运行异常;有时候调试窗口无法正常打开,断点莫名失效。实验室机房电脑系统设置比较统一,很少暴露问题,换到个人笔记本调试,故障就频繁出现。后来一直保持习惯,所有项目文件夹只用英文命名,层级不要嵌套太深,能避开一大半莫名其妙的报错。
代码编译警告千万别直接无视。很多人只要没有报错、能够生成 hex 文件,就直接忽略全部警告。课设要求宽松的时候勉强能蒙混过关,等到正式硬件调试,隐患全部暴露。变量未定义、指针滥用、存储空间分配不合理这类警告,短期看不出影响,程序长时间运行就会出现死机、数据乱跳。
调试功能看着便捷,坑点同样不少。在线仿真的时候,断点不能随意大量设置。断点数量过多,不仅拖慢程序运行速度,部分芯片还会直接断开调试连接。还有一种很常见的情况,代码修改完成后直接开始调试,没有重新编译,调试窗口展示的依旧是旧代码,对着屏幕排查半天,始终找不到逻辑漏洞。
团队之间传递工程文件也经常出状况。别人拷贝过来的项目,打开之后头文件疯狂提示找不到。大多是工程内部的头文件引用路径写了绝对路径,换一台电脑,目录位置发生变动,文件链接直接失效。相对路径虽然设置麻烦一些,但工程转移、复制的时候稳定很多。
顺带聊一下芯片库支持的问题。新版本 Keil 自带的芯片包不全,很多老旧型号需要单独安装支持库。机房设备软件配置齐全,回家自己电脑打开项目,直接提示目标器件不存在。很多人遇到弹窗第一反应是重装软件,实际上只是缺少对应的器件库。
插件和拓展组件不要胡乱安装。部分第三方编译工具、代码格式化插件相互冲突,安装之后软件启动变慢,偶尔工具栏直接消失,重置界面布局也很难恢复。非必要工具,尽量不要一并启用。
版本选择同样需要权衡。新版本界面优化更好,支持更多新型单片机,可是对系统环境更加挑剔。一些老旧的学习开发板驱动,和新版程序适配性较差,经常出现烧录连接失败。不少长期做硬件开发的人,电脑里会同时留存两个版本,根据项目芯片类型切换使用。
工程日积月累不断修改之后,内部会堆积大量冗余中间文件。长期不清理,打开工程速度越来越慢,编译耗时持续增加。定期清理编译产生的目标文件,启动效率会改善不少。最近在测试一块老型号控制板,持续遇到烧录偶发中断,还在排查是不是驱动和软件版本存在兼容冲突。