52/70 MDK编译生成.bin文件

作者: noparkinghere | 来源:发表于2017-04-20 14:23 被阅读103次

layout: "post"
title: "MDK编译生成.bin文件"
date: "2017-04-20 13:08"


使用 MDK 时,我们实际烧录的文件其实是 .axf 文件,所以一般情况下我们不需要编译出 .bin 或 .hex 文件。

生成 .hex 文件时,需要在工程打开状态 MDK 的 Options for Target 选项中,点击 Output 选项,在中间的 Create HEX File 的空白矩形框上打上勾即可。 .hex 文件可以使用第三方烧写工具烧录到 MCU 中,但是一些烧录工具或者芯片只支持 .bin 文件的烧录,这时候我们需要 MDK 能够输出 .bin 文件,并且 .bin 文件远要比 .hex 来的通用些。

下面说下如何生成 .bin 文件:

  • 打开 Options for Target 'xxx' 对话框,选择 User 标签页。
  • 构选 Run User Programs After Build/Rebuild 框中的 Run#1 多选框,在后边的文本框中输入 C:/Keil_v5/ARM/ARMCC/bin/fromelf.exe --bin -o ../OBJ/consumer.bin ../OBJ/consumer.axf ,这条命令类似于 gcc ,对于不同的版本 fromelf.exe 软件位置不同,如果找不到可以尝试手动搜索,如果设置完编译不成功则代表你的路径有问题需要仔细检查路径位置,目录的当前路径为 uvproj 工程文件所在位置,我的输出路径为工程目录上一级的下的 OBJ 文件夹。
  • 重新编译文件,在 ./OBJ/ 文件夹下生成了 consumer.bin 文件。

直接在 CMD.exe 下运行 fromelf 工具则可以看到所有的选项和基本命令,这边仅列出最常用的一些内容:

  • --bin:输出二进制文件
  • --i32:Intel 32位Hex
  • --m32:Motorola 32位Hex
  • --output <file>:file为输出文件名
  • -o<file>:这个是armcc编译器命令,也可用于这里,指定输出文件的名字

转换过程实际是:通过fromelf.exe工具进行转换,将 .axf 格式的文件转换成 .bin 格式的文件。你也可以不通过 MDK ,而是直接在 CMD.exe 窗口下运行 C:/Keil_v5/ARM/ARMCC/bin/fromelf.exe --bin -o ../OBJ/consumer.bin ../OBJ/consumer.axf 手动将 .axf 文件 转换成 .bin 文件。

相关文章

  • 52/70 MDK编译生成.bin文件

    layout: "post"title: "MDK编译生成.bin文件"date: "2017-04-20 13:...

  • 如何编译CRF++

    下载源码包,解压编译C++ bin文件 编译完成生成crf_learn和crf_test两个bin文件,可以使用它...

  • 怎么把wifidog直接编译进openwrt

    怎么把wifidog直接编译进openwrt,让生成的bin文件就带有wifidog,省得再去装ipk文件? op...

  • Golang 学习笔记

    项目结构 Golang项目目录下一般有三个子目录: bin编译后生成的可执行文件pkg编译后生成的文件src存放源代码

  • STM32-MDK V5 生成bin文件和hex文件

    .axf文件 MDK 下默认生成的烧录文件为.axf文件,文件路径: D:\COINV_STM32\HJJC\ST...

  • .net framework wpf 打包生成单个exe文件

    如果直接编译wpf程序,会在bin/Release生成此程序的exe文件以及引用的一些dll文件,如下图 要想执行...

  • go Path

    src存放源代码的目录,新建项目都在该目录下。pkg编译过后生成的包文件存放目录。bin编译后生产的可执行文件和g...

  • 编译linux驱动时出现的奇怪错误

    编译出错信息: $ make /bin/sh: 1: e: not found Makefile:52: reci...

  • XCode无法生成dSYM文件

    XCode编译后没有生成dSYM文件? XCode Release编译默认会生成dSYM文件,而Debug编译默认...

  • C语言编译 - 编译过程

    一、C语言编译过程简介: 预处理:替换 编译:生成目标文件的汇编文件 汇编:生成目标文件的二进制文件 连接:生成可...

网友评论

    本文标题:52/70 MDK编译生成.bin文件

    本文链接:https://www.haomeiwen.com/subject/alllzttx.html