Keil命令编译(批处理)

本文介绍了两个批处理脚本,用于Keil的编译与清理操作。Project_Build.bat脚本用于编译工程,生成hex和bin文件,并记录编译日志;KeilKill.bat则用于清理编译产生的中间文件。同时,详细列出了Keil UV4命令行的各种命令及其用途,如编译、清理、调试和转换项目等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、批处理文件

1. 编译的文件

  • 以下批处理文件调用Keil编译,并且拷贝hex、bin文件到Firmwares文件夹。
  • 生成build_log.txt编译日志文件
  • 该文件放在工程目录最外层。
  • 目录下不能有中文,包括中文符号(比如括号)

Project_Build.bat

@echo off
::Keil执行文件位置
set UV=D:\Professional_Software\Keil_v5\UV4\UV4.exe
::查找uvprojx工程文件
for /f "usebackq delims=" %%j in (`dir /s /b %cd%\*.uvprojx`) do (
if exist %%j (
set UV_PRO_PATH="%%j"))
echo ---------------------------------------------------------------
echo Author:PJW
echo Init building ...
echo >build_log.txt
%UV% -j0 -b %UV_PRO_PATH% -l %cd%\build_log.txt
type build_log.txt
::创建Firmwares文件夹,拷贝hex、bin文件
if not exist %cd%\Firmwares md %cd%\Firmwares
del /f /s /q %cd%\Firmwares\*.*
copy %cd%\Output\*.hex %cd%\Firmwares\
copy %cd%\Output\*.bin %cd%\Firmwares\
echo Done.
pause

2. 清除编译的文件

  • 该批处理文件与Keil无关。

Keilkill.bat

del *.bak /s
del *.ddk /s
del *.edk /s
del *.lst /s
del *.lnp /s
del *.mpf /s
del *.mpj /s
del *.obj /s
del *.omf /s
::del *.opt /s  ::不允许删除JLINK的设置
del *.plg /s
del *.rpt /s
del *.tmp /s
del *.__i /s
del *.crf /s
del *.o /s
del *.d /s
del *.axf /s
del *.tra /s
del *.dep /s           
del JLinkLog.txt /s

del *.iex /s
del *.htm /s
::del *.sct /s
del *.map /s
exit


二、命令说明

可参考:Keil命令行官网说明

UV4 〚命令〛〚项目文件〛〚选项〛

命令表:

命令描述
-b生成项目的最后一个当前目标,并在生成过程完成后退出。请参考选项 -t更改目标。对于多项目,该命令将按照对话框Project-Batch Build中的定义来构建目标。
示例:UV4 -b PROJECT1.uvprojx
-C清理项目的所有项目目标。对于多项目,该命令将清除在“项目-批次构建”对话框中选择的所有目标。有关清洁过程的详细信息,请参阅“项目菜单和命令”上的注释。
示例:UV4 -c PROJECT1.uvprojx
-cr清理所有项目目标,然后重新转换项目的最后当前目标。请参考选项-t更改目标。对于多项目,该命令将清除所有目标,然后按照“项目批处理构建”对话框中的选择重新转换目标 。有关清洁过程的详细信息,请参阅“项目菜单和命令”上的注释。
示例:UV4 -cr PROJECT1.uvprojx
-d在调试模式下启动µVision。将此命令与调试初始化文件一起使用以执行自动化测试过程。使用EXIT命令退出调试会话 。
示例:UV4 -d PROJECT1.uvprojx
-f将程序下载到Flash,并在下载过程完成后退出。
示例:UV4 -f PROJECT1.uvprojx -t“MCB2100 Board”
-r重新转换最后一个当前项目目标,并在构建过程完成后退出。请参考选项 -t更改目标。对于多项目,该命令按照“项目批处理构建”对话框中的定义重新转换目标。
示例:UV4 -r PROJECT1.uvprojx -t“Simulator”
-5将µVision 4 uvproj文件转换为µVision 5 uvprojx文件。该命令的唯一有效选项是-l,用于写入日志文件。
示例:UV4 -5 myoldproject.uvproj -l log.txt
如果转换失败,将返回错误代码20。
-et将项目目标导出到。 .cprj文件。使用选项-t targetname可以指定要导出的目标,否则将使用当前目标。请注意, 带有选项-t的-et命令不会更改项目中的当前目标配置。该命令不支持其他选项。 示例:UV4 -et myProject.uvprojx 将myProject.uvprojx中的当前目标导出到myProject..cprjfile.0
UV4 -et myProject.uvprojx -t“ my-target” 将myProject.uvprojx中的目标“ my-target”导出到myProject.my-target.cprj file.。
-ep将所有项目目标导出到相应的。 .cprj文件。
示例:UV4 -ep myProject.uvprojx
-X在当前目标的输出文件夹中生成预处理程序符号文件co-arm_ <target_name> .h / hpp。
示例:UV4 -X myProject.uvprojx
UV4 -X myProject.uvprojx“Target 1”
请注意,生成过程可能需要一段时间。如果要查看进度,请使用uvision.com而不是uv4.exe。
-X1为其各自的输出文件夹中的所有目标生成预处理程序符号文件co-arm_ <target_name> .h / hpp。
示例:UV4 -X1 myProject.uvprojx
请注意,生成过程可能需要一段时间。如果要查看进度,请使用uvision.com而不是uv4.exe。

参考:通过批处理编译Keil工程

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值