上一篇文章中演示的是裸板开发过程中可能遇到的两个问题的解决办法。

1,是在keil中编写程序并编译连接成可以下载到开发板的  .hex 文件,然后用jlink仿真器下载;2,是在ubuntu中编写编译代码,生成的是 .bin 文件,可以用uboot 下载。

这里可能会用像我这样的菜鸟会疑惑 ,hex与 bin文件同样是下载到开发中的二进制代码,有什么区别呢?

Hex 文件和 Bin 文件的区别,这两个文件里都包含 CPU可以执行的机器码,只是 Hex 比Bin 多一些信息,就是机器码的存储

地址。这些存储地址实际是给烧写程序的软件使用的。如果我们烧写 Hex 文件到板卡里(Flash 存储器) ,

烧写软件就不会问我们存储地址,因为这个文件里已经包含了这类信息了,这类信息是编译器在生成 Hex

的时候加进去的,当然编译器会有对应的项要你填写。如果是烧写 Bin 文件,烧写软件就会询问你要烧写

到哪个地址。一般情况下,CPU会从 0 地址开始执行程序,但是有些 CPU是从其他地址开始的,所以这个

起始值要视情况而定。而且有时为了调试方便,有些工程师会把 Bin烧到 RAM 里。

HEX和BIN文件的区别相关推荐

  1. hex和bin文件的区别和读取

    1.hex文件格式 数据格式如下: 文件有若干行字符串数据,每行都采用如下的固定格式: MARK | RECLEN | OFFSET | RECTYP | DATA | CHKSUM . 类型 长度 ...

  2. 【转】hex和bin文件格式的区别

    hex和bin文件格式的区别 Intel HEX文件是记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组成的机器码或者数据常量.Intel HEX文件经 ...

  3. hex文件格式剖析,以及hex与bin文件互相转换

    大家好,我是学电子的小白白. 熟悉单片机开发的朋友,应该经常见到*.hex后缀的文件,它是单片机和嵌入式工程编译输出的一种常见的目标文件格式(比如keil就能编译输出hex文件),通过烧写工具把它下载 ...

  4. STM32烧录HEX、BIN文件,使用ST-LINK

    安装ST提供的烧录软件 STM32 ST-LINK Utility.下载 将STM32设备的 SWDIO.SWCLK.3V3.GND 与 ST-LINK 相连.(大多数情况下不需要连接RESET,如果 ...

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

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

  6. linux中rpm.bin文件与bin文件的区别

    linux中rpm.bin文件与bin文件的区别 rpm.bin 你执行后会生成rpm打包的安装文件 你就可以使用命令 rpm -ivh xxx.rpm 来安装了 只能在redhat系的发行版上使用 ...

  7. 利用Jlink给stm32系列单片机下载Hex和Bin文件

    多数时候我们下载程序都是在IDE里面,利用源码编译下载.可有时候我们手上只有别人给的已经编译好的文件,或者做一些IAP实验的时候,这种方法就不适用了.在这里介绍一下怎么利用Jlink驱动自带的软件Jf ...

  8. hex文件和bin文件的区别和联系

    1.分析一下hex文件 HEX格式文件以行为单位,每行由":"(16进制为:0x3a)开始,以回车键结束(16进制为:0x0d,0x0a).行内的数据都是由两个字符表示一个16进制 ...

  9. (转载)在IAR及MDK里生成hex及bin文件的标准方法

    在IAR及MDK中生成bin及hex文件的设置方法: IAR里面---> 生成bin文件:    (1)在options->linker ->output->other选中-& ...

最新文章

  1. MAC中 jd-gui 下载java反编译的工具及安装
  2. c# namespace不能和class的name 相同
  3. POJ - 1041 John's trip(欧拉回路)
  4. DOM加载过程中ready和load的区别
  5. 看了就会的VScode给C++的配置编译环境(Visual Studio Code)
  6. jedis使用_Redis --Java客户端 Jedis
  7. ffmpeg的新东东:AVFilter
  8. python turtle 绘图_谈一下Pycharm中关联系统Python解释器的方法
  9. Linux Shell编程之输入输出重定向
  10. Hibernate面试问题与解答
  11. android各版本的sdk区别
  12. 【造轮子】实现 memset、bzero 函数
  13. php 失去焦点,jquery设置焦点方法focus()和jquery失去焦点方法blur()
  14. 电子元器件B2B商城系统授信大额支付,精细化B2B平台管理
  15. 图标、图片、矢量图注册,通过名称来配置icon可以提高性能
  16. 什么是工作流开源框架?可提高办公效率吗?
  17. WORD禁止自动更新域
  18. 一、简单的http抓包(微信公众网页登录模拟)
  19. 手机直播连麦技术分析
  20. 哪类数字域名更优秀?数字域名价值高吗?

热门文章

  1. 【每日一题】day1(星际密码->斐波那契)
  2. 中石油问题 K: ABBA(组合数学)
  3. Python:【4】利用讯飞开放平台实现语音识别
  4. 【新学期、新Flag】例文:我的新学期Flag
  5. 解决及分析:MySQL的 Error updating database. Cause: java.sql.SQLException: You can’t specify target table
  6. springboot文件上传之MultipartFile(图片)转base64
  7. 魅族Flyme红包助手完整攻略 红包通通进账
  8. 如何使用Domino实用程序(Updall, Compact, Fixup) 进行维护
  9. 磊科nw336 linux驱动下载,磊科Netcore NW336驱动
  10. 开发java的准备--下载与安装Java的JDK—Java学习(1)