keil开发单片机虽然被很多开发者吐槽,但不得不承认,目前keil依然是众多单片机开发者首选的工具之一。
今天就来分享一个开源的 keil 自动化编译脚本。
1、需求来源 部分对开发流程有限制的公司是将开发与编译(提交后的代码版本)分开的,要求编译过程尽可能少的人为参与,需在程序上实现代码的自动化编译。基于此需求开发了本脚本。
2、介绍 这是一个 keil 的自动化编译脚本,可被其他脚本或程序调用,接收参数并按参数编译 keil 工程,而不必打开 keil 软件,实现程序上的自动化。主要实现了以下功能: 自动搜索脚本所在的目录下所有的 keil 工程 搜索到多个 keil 工程时,若指定为空,则默认选择最后找到的 keil 工程 指定 keil 工程时支持相对路径和绝对路径 可选择 keil_v4 或 keil_v5 进行编译 为空时默认使用 keil_v5 ,需指定 keil_v4 输入 4 即可 支持模糊输入,如: k4 , keil4 , keilv4 , keil_4 等 支持指定不同 keil 软件的所在路径,如: c:keil_v5uv4uv4.exe 当 keil 的安装路径和本案例中的 d:keil_v5uv4uv4.exe 路径不同时,除非修改代码后重新编译成新的 .exe ,否则必须指定 keil 软件的所在路径 可选择 project target 为空时默认选择 keil 工程最后选择的 project target 支持非法字符识别并报错 编译完成后自动将 .bin 和 .hex 文件拷贝至脚本的同级目录 仅拷贝选定的 keil 工程编译出的 .bin 和 .hex 文件 3、有哪些参数
说明: 本脚本的所有参数可不按顺序输入,为空时表示选择默认值,但参数与参数之间需用空格隔开
4、我想直接用 本脚本仅支持 windows 系统且要求已经安装了 keil 软件
在发行版中下载可直接运行的 .exe
将 .exe 脚本与需要编译的 keil 工程放在同一级目录(下称目录 a )
打开 powershell 或 cmd 并定位至目录 a
若使用 powershell ,可在目录 a 空白处按住 shift 键同时单击鼠标右键选择打开 powershell ,将自动定位到目录 a
执行脚本
.keil-autopiler.exe .keil-autopiler.exe 4 (注:keil uv4.exe 的路径和本脚本一致才可使用本条指令,否则使用下条指令) 或
.keil-autopiler.exe c:keil_v4uv4uv4.exe .keil-autopiler.exe .codeprojectmdk emplate.uvprojx 或
.keil-autopiler.exe c:usersadministratordesktop estcodeprojectmdk emplate.uvprojx .keil-autopiler.exe release .keil-autopiler.exe 4 release .codeprojectmdk emplate.uvprojx(注:keil uv4.exe 的路径和本脚本一致才可使用本条指令,否则使用下条指令) 或
.keil-autopiler.exe c:keil_v4uv4uv4.exe release c:usersadministratordesktop estcodeprojectmdk emplate.uvprojx 指定 keil 版本
指定 keil 工程
指定 project target
案例五:
指定 project target
案例四:
指定 keil 工程
案例三:
指定 keil 版本
案例二:
只有一个 keil 工程 或 搜索到的最后一个工程就是要编译的工程
只有一个 project target 或 keil 工程保存时已选中需编译的 project target
keil uv4.exe 的路径和本脚本一致 (d:keil_v5uv4uv4.exe)
案例一:
编译时间与编译器版本、编译选项和代码量有关,需耐心等待。(可打开同级目录的 keilx_compile_log.txt 查看编译过程日志)
powershell 或 cmd 打印内容出现 copy above file(s) success 的字样表示执行成功,并将对应 keil 工程生成的 .bin 和 .hex 文件拷贝至脚本的同级目录中
5、我想自己编译 本代码仅支持 windows 系统。
5.1 预备操作 如果你已经安装了 gcc ,请忽略本步骤
下载 gcc 编译器,为了考虑兼容性,这里提供一个 32 位的 mingw 下载链接:https://github.com/nixman/mingw-builds-binaries/releases/download/13.1.0-rt_v11-rev1/i686-13.1.0-release-posix-dwarf-ucrt-rt_v11-rev1.7z
解压后放在任意路径,此处以 c:mingw32 为例
配置好环境变量
打开 powershell 或 cmd 输入 gcc -v ,出现下图内容表示配置成功
5.2 编译 打开 powershell 或 cmd 并定位至代码目录
若使用 powershell ,可在代码目录空白处按住 shift 键同时单击鼠标右键选择打开 powershell ,将自动定位到代码目录
执行以下 gcc 命令
gcc .keil-autopiler.c -o .keil-autopiler.exe 无任何提示信息,编译通过
重要说明 本脚本依赖 keil 软件,定位为 keil 的自动化编译脚本。目的是替代手动编译,实现程序自动化,而非替代编译工具,并无附带任何编译器和链接器。因此,无论代码工程是基于 keil c51 亦或是 keil mdk 都可执行。
开源地址:https://gitee.com/dinohaw/keil-autopiler
大庆油田装备制造焊接机器人上岗
华为云会议助力政企用户提升沟通效率
雷柏手柄V600S评测 149元的高性价比价位足以征服大批玩家
锂离子电池安全吗_锂离子电池安全标准
高通骁龙888功耗大,联发科天玑乘机上位
keil自动化编译脚本
智慧管廊物联网综合解决方案
智能温室大棚控制系统有什么特点,它有哪些优势
什么场景需要jvm调优
PCB设计团队怎样协作
养老院中蓝牙网关应用于老人健康数据采集上报
安森美CMOS图像传感器为百度Apollo自动驾驶平台增添助力
南京复兴号竟在马路上“出轨”撞上公交车?
锤子M1发布,资金紧张销量不佳翻身太难!
三星Galaxy S21系列确认取消附送充电器
MUSES旗舰版新产品『MUSES03』高音质音频运放正式面市
全球首款可堆叠移动电源 电池容量无上限
想了解人脸识别和机器学习?这份论文清单帮大忙
极域:为中小学课堂引入专有“教室云”
物联网的发展规模比你看到的要多得多