玩转keil之hex_bin文件的生成与迁移

为何要写这个文件

  1. keil生成.hex文件时,会默认把它和.o等编译输出文件放在一起,由于编译输出文件很多,导致找.hex文件很麻烦。
  2. keil生成.bin文件时,需要使用者设置工程,才能生成。
  3. 由于他俩最后要打包到一起交给生产,需要将他俩存放到一起。
  4. 总之,笔者感觉这样很繁琐。所以便写了一个脚本来处理这些乱七八糟的事。

最终效果

编译工程后,keil会自动将.hex文件和.bin文件存放在..\exeout的文件夹中。这样的好处是在找.hex文件和.bin文件时特别方便。

如何使用

  1. 将编写好的bat脚本存放到工程目录下。(也就是双击就能打开keil工程的后缀名为uvprojx文件的目录中)。
  2. 根据 keil设置步骤设置工程。
  3. 编译看现象。

编写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.含义如下

  1. .\hexmove.bat为上面编写好的bat文件的名称。(路径+文件名)。
  2. $K为传输给bat文件的第一个参数,即上面所要求的keil的安装目录。为什么$K代表keil的安装目录呢?其实这是keil自己规定的,用于跟外部交互信息使用,具体可以查看keil的帮助。
  3. !L代表.axf文件的位置。!L来历跟$K一样,不多做解释。.axf文件是keil工程编译后生成的,此处用于生成.bin文件。
  4. UpdateProgram_sp.bin为生成.bin文件的名称。可以随意更改。

总结

上面已经贴出了bat文件的代码,当然也可以直接下载此文件。bat文件下载链接,如果遇到解决不了的问题,可以在关于技术交流中加群,问笔者、或者大家。

关于技术交流

此处后的文字已经和题目内容无关,可以不看。
qq群:825695030
微信公众号:嵌入式的日常
如果上面的文章对你有用,欢迎打赏。

玩转keil之hex_bin文件的生成与迁移相关推荐

  1. KEIL的hex与bin文件自动生成到指定目录

    由于每次生成查找HEX BIN文件不方便,借鉴网上的文章拼出了下面的BAT文件,分享一下 使用方法见注释 :: @File Name: HEXBIN.bat :: @Version : 1.0 :: ...

  2. keil调用bat文件,实现删除、复制、加密文件功能

    用法 通过如下方式打开"User"子标签 可以看到左边有3个触发条件: "Before Compile C/C++ File":编译C/C++源文件前触发 &q ...

  3. ARM 之十 ARMCC(Keil) map 文件(映射文件)详解

    在看这篇文章之前 需要对 ARM ELF 文件有一定的了解.了解什么是域(Region).节(Section,也称为节区).段(Segment).镜像(Image).镜像文件(Image File)等 ...

  4. keil创建工程没有atmel_如何使用 KEIL 下载 HEX 文件?

    熟悉 KEIL 的人都知道,KEIL 下载时使用 axf 格式的文件,里面不仅有代码指令信息,也包含了调试信息,比如C代码和汇编代码之间的对应关系(这些信息不会下载到单片机中,不然单片机可能装不下,哈 ...

  5. Keil 和 IAR静态库生成和使用方法

    关注+星标公众号,不错过精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 库,对于程序员的人来说都知道.但有很多初学者,以及工作几年的读者对库的理解还处于书本 ...

  6. 使用vs2008制作dll文件,生成动态链接库

    转自:http://blog.csdn.net/howard_liu1314/article/details/7862326 1.制作dll文件     vs2008中,File > New P ...

  7. Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法

    Keil5使用AC6编译后,生成bin文件变为生成文件夹的解决办法 KEIL AC5到AC6需要注意的地方 从AC5移植到AC6 解决流程 关键步骤 最近同事咨询改用keil的最新版本编译器编译原来的 ...

  8. vue文件快速生成模板代码

    vue文件快速生成模板代码 输入 vue 按 tab 键

  9. python读取文件名存到list_python读取文件名称生成list的方法

    下面为大家分享一篇python读取文件名称生成list的方法,具有很好的参考价值,希望对大家有所帮助.一起过来看看吧 经常需要读取某个文件夹下所有的图像文件. 我使用python写了个简单的代码,读取 ...

最新文章

  1. aspx页面使用ajax遇到try catch中使用Response.End()报错
  2. python之链表、单链表、双向链表、单向循环链表
  3. nanodet onnx踩坑记录
  4. iftop 查看你的网卡流量
  5. 重构与模式:改善代码三部曲中的第三部
  6. DataSnap 2009 系列之二 (方法篇)
  7. 第二章 个体软件过程
  8. 12名高校教师被降级!打破职称终身制,山东在行动!
  9. Git笔记(27) 储藏与清理
  10. 32通过tcp发送数组_【干货】TCP协议详解
  11. ServerProperties
  12. 【水管规格】4分管、6分管水管的直径,丝口螺纹,铝塑管接头
  13. Android编程入门-第1天
  14. 磁盘分区怎么恢复回去?易我分区大师恢复丢失分区
  15. 武汉坚守第三十二天——鱼菜价格已超高,病死猪肉现武汉
  16. Linux操作命令分类详解 - 目录文件(二)
  17. S32K144 EVB之FTM
  18. 1、spring之Resource加载
  19. Cuba 设置debug模式
  20. 华硕服务器 bios 内存 1333 显示 800,华硕服务器bios设置

热门文章

  1. SEPM执行LiveUpdate 失败,错误“磁盘空间不足...”
  2. 疑难杂症篇(十三)--Java中出现“找不到符号“的错误解决方案
  3. 人生苦短,我用Python--爬虫模拟登陆教务处并且保存数据到本地
  4. C语言入门 -- 计算两骰子之和出现概率(2021/2/2)
  5. android 服务注册,android-无法注册NSD服务
  6. 如何选择我的搜索引擎关键字?
  7. 华为Sx900存储的监控(使用Zabbix)
  8. 微信公众号 java发送消息_微信公众号发送模板消息 Java实现。
  9. springboot属性注入的四种方法
  10. android健身app毕设,基于Android技术的菲特健身房app系统的设计与实现.zip