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

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

 

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

cp为复制文件命令

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

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

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

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

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

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

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页