keil生成带有时间戳的hex文件(20201210)

49 篇文章 22 订阅
keil生成带有时间戳的hex文件(20201210)
    • 1.使用cubemx创建keil工程
    • 2.生成hex文件
    • 3.keil内创建后执行命令
    • 4.编写bat文件(20201210)
    • 5.编译并创建你的keil工程
    • 6.参考链接
    • 7.修订记录

1.使用cubemx创建keil工程

创建keil工程
创建后界面如上图所示

2.生成hex文件

在这里插入图片描述

点击Options for Targe->Output,可得知输出文件为temp.hex
路径为MDK-ARM\temp\temp.hex

3.keil内创建后执行命令

keil内执行命令

跳到User界面,此处有6个选项,分别为:
编译前运行选项(2个)
创建前运行选项(2个)
创建后运行选项(2个)
在此处我们选择创建后运行中的其中一个
勾选After Build/Rebuild内的Run #1(如果Run #1被占用,可以使用Run #2)
里面放置一个bat文件名,文件名随意,我们待会儿编写这个文件,图中示例为build_date_time.bat
在后边加入一个空格,并加上一个参数 @L
@L为keil内变量,代表的是当前target,在本例子中为temp
@P为keil内变量,代表的是当前工程名,本例子中为temp,虽然未使用
编译未通过
现在还没有bat文件,所以编译未通过

4.编写bat文件(20201210)

bat文件目录为与temp.uvprojx工程文件放在同一目录下,即MDK-ARM目录
并在内写入下面的命令

echo off
::echo %date%_%time%
set date_num=%date:~0,10%
set date_num=%date_num:-=%
set date_num=%date_num:/=%
set time_num=%time:~0,8%
set time_num=%time_num::=%
if "%time_num:~0,1%"==" " set "time_num=0%time_num:~1%"
echo on
cp .\%1\%1.hex .\%1\%1_%date_num%_%time_num%.hex

cp为复制文件命令

.\ 为当前目录,当前目录为.uvprojx工程文件的目录,即在MDK-ARM
目录下

%1代表输入的第一个参数,在此例子中是 @L@L是keil内变量,代表的是当前target,在本例子中为targe名temp

中间命令请参考文末第3个链接

在此例子中输出文件为MDK-ARM\temp\temp_20201210_193418.hex
在这里插入图片描述

5.编译并创建你的keil工程

编译并创建keil工程即可得到带有时间戳的hex文件了
文件不会覆盖,如果你编译次数过多,文件数目会越来越多,请及时清理
在这里插入图片描述

6.参考链接

bat 传入参数:
https://www.cnblogs.com/lihao007/p/10745872.html

bat 批处理-取年、月、日、时、分、秒、毫秒:bat 批处理-取年、月、日、时、分、秒、毫秒_bat毫秒打印-CSDN博客

%date~0,4%和 %time~0,2%等用法详解:
%date~0,4%和 %time~0,2%等用法详解_%date:0,4-CSDN博客

7.修订记录

20201020

  • 使用参考链接3修复在凌晨0点到9点时截取字符出现空格的bug

20201209

  • 编写文档

keil生成带有时间戳的hex文件(20201210)_keil hex 加密-CSDN博客

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值