玩转keil之hex_bin文件的生成与迁移
玩转keil之hex_bin文件的生成与迁移
为何要写这个文件
- keil生成
.hex
文件时,会默认把它和.o
等编译输出文件放在一起,由于编译输出文件很多,导致找.hex
文件很麻烦。 - keil生成
.bin
文件时,需要使用者设置工程,才能生成。 - 由于他俩最后要打包到一起交给生产,需要将他俩存放到一起。
- 总之,笔者感觉这样很繁琐。所以便写了一个脚本来处理这些乱七八糟的事。
最终效果
编译工程后,keil会自动将.hex
文件和.bin
文件存放在..\exeout
的文件夹中。这样的好处是在找.hex
文件和.bin
文件时特别方便。
如何使用
- 将编写好的bat脚本存放到工程目录下。(也就是双击就能打开keil工程的后缀名为
uvprojx
文件的目录中)。 - 根据 keil设置步骤设置工程。
- 编译看现象。
编写bat脚本
1.创建hexmove.bat
脚本。和创建.c
文件一样,只不过后缀名为.bat
,然后用编辑器打开。
2. 编写如下代码。
3. 存放到工程目录下。
::
::author theboynoName
::date 2019/09/28
::brief 在keil中,生成hex、bin文件到 exeout文件夹中.
::other
:: 技术交流qq群:825695030
:: 微信公众号:嵌入式的日常
@echo off
if not exist ..\exeout (mkdir ..\exeout
)
set exePath=%1ARM\ARMCC\bin
set outName=%2
set binName=%3
%exePath%\fromelf.exe --bin %outName% --output %binName%
move /y ..\OBJ\Template.hex ..\exeout >nul
move /y .\%binName% ..\exeout >nul
keil设置
图中所添加命令为.\hexmove.bat $K !L UpdateProgram_sp.bin
.含义如下
.\hexmove.bat
为上面编写好的bat文件的名称。(路径+文件名)。$K
为传输给bat文件的第一个参数,即上面所要求的keil的安装目录。为什么$K
代表keil的安装目录呢?其实这是keil自己规定的,用于跟外部交互信息使用,具体可以查看keil的帮助。!L
代表.axf
文件的位置。!L
来历跟$K
一样,不多做解释。.axf
文件是keil工程编译后生成的,此处用于生成.bin
文件。UpdateProgram_sp.bin
为生成.bin
文件的名称。可以随意更改。
总结
上面已经贴出了bat文件的代码,当然也可以直接下载此文件。bat文件下载链接,如果遇到解决不了的问题,可以在关于技术交流中加群,问笔者、或者大家。
关于技术交流
此处后的文字已经和题目内容无关,可以不看。
qq群:825695030
微信公众号:嵌入式的日常
如果上面的文章对你有用,欢迎打赏。
玩转keil之hex_bin文件的生成与迁移相关推荐
- KEIL的hex与bin文件自动生成到指定目录
由于每次生成查找HEX BIN文件不方便,借鉴网上的文章拼出了下面的BAT文件,分享一下 使用方法见注释 :: @File Name: HEXBIN.bat :: @Version : 1.0 :: ...
- keil调用bat文件,实现删除、复制、加密文件功能
用法 通过如下方式打开"User"子标签 可以看到左边有3个触发条件: "Before Compile C/C++ File":编译C/C++源文件前触发 &q ...
- ARM 之十 ARMCC(Keil) map 文件(映射文件)详解
在看这篇文章之前 需要对 ARM ELF 文件有一定的了解.了解什么是域(Region).节(Section,也称为节区).段(Segment).镜像(Image).镜像文件(Image File)等 ...
- keil创建工程没有atmel_如何使用 KEIL 下载 HEX 文件?
熟悉 KEIL 的人都知道,KEIL 下载时使用 axf 格式的文件,里面不仅有代码指令信息,也包含了调试信息,比如C代码和汇编代码之间的对应关系(这些信息不会下载到单片机中,不然单片机可能装不下,哈 ...
- Keil 和 IAR静态库生成和使用方法
关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 库,对于程序员的人来说都知道.但有很多初学者,以及工作几年的读者对库的理解还处于书本 ...
- 使用vs2008制作dll文件,生成动态链接库
转自:http://blog.csdn.net/howard_liu1314/article/details/7862326 1.制作dll文件 vs2008中,File > New P ...
- Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法
Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法 KEIL AC5到AC6需要注意的地方 从AC5移植到AC6 解决流程 关键步骤 最近同事咨询改用keil的最新版本编译器编译原来的 ...
- vue文件快速生成模板代码
vue文件快速生成模板代码 输入 vue 按 tab 键
- python读取文件名存到list_python读取文件名称生成list的方法
下面为大家分享一篇python读取文件名称生成list的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 经常需要读取某个文件夹下所有的图像文件. 我使用python写了个简单的代码,读取 ...
最新文章
- aspx页面使用ajax遇到try catch中使用Response.End()报错
- python之链表、单链表、双向链表、单向循环链表
- nanodet onnx踩坑记录
- iftop 查看你的网卡流量
- 重构与模式:改善代码三部曲中的第三部
- DataSnap 2009 系列之二 (方法篇)
- 第二章 个体软件过程
- 12名高校教师被降级!打破职称终身制,山东在行动!
- Git笔记(27) 储藏与清理
- 32通过tcp发送数组_【干货】TCP协议详解
- ServerProperties
- 【水管规格】4分管、6分管水管的直径,丝口螺纹,铝塑管接头
- Android编程入门-第1天
- 磁盘分区怎么恢复回去?易我分区大师恢复丢失分区
- 武汉坚守第三十二天——鱼菜价格已超高,病死猪肉现武汉
- Linux操作命令分类详解 - 目录文件(二)
- S32K144 EVB之FTM
- 1、spring之Resource加载
- Cuba 设置debug模式
- 华硕服务器 bios 内存 1333 显示 800,华硕服务器bios设置
热门文章
- SEPM执行LiveUpdate 失败,错误“磁盘空间不足...”
- 疑难杂症篇(十三)--Java中出现“找不到符号“的错误解决方案
- 人生苦短,我用Python--爬虫模拟登陆教务处并且保存数据到本地
- C语言入门 -- 计算两骰子之和出现概率(2021/2/2)
- android 服务注册,android-无法注册NSD服务
- 如何选择我的搜索引擎关键字?
- 华为Sx900存储的监控(使用Zabbix)
- 微信公众号 java发送消息_微信公众号发送模板消息 Java实现。
- springboot属性注入的四种方法
- android健身app毕设,基于Android技术的菲特健身房app系统的设计与实现.zip