0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式的HEX文件怎么来的

嵌入式应用开发 来源:嵌入式应用开发 作者:嵌入式应用开发 2023-05-25 15:05 次阅读

单片机下载程序需要将c文件通过编译器编译成o文件通过连接器连接为一个main的o文件,再将main文件生成hex文件,hex文件即可通过下载器加载到我们的单片机。那么他到底是怎么样子呢

pYYBAGRvB72ASQLRAABtTZMZLIo496.png

从上图来看,Hex就是一个16进制数文件,它具有一定格式,下面我们进行一些说明。

Hex文件的格式,如上图所示,共包含6个部分,开始冒号为起始记录,bb为字节个数,aaaa为地址,dd为具体的数据,cc为checksum部分。

pYYBAGRvB_iALcafAAF5iNw83A4756.png

02代表这部分Hex有两个字节,0400是这部分Hex的存储地址,而00为其记录类型(后续我们会介绍一下记录类型有哪些种类),0034为数据部分,这里先存放低字节部分,后存放高字节部分。

poYBAGRvCBKAbY7rAAGJKs5D4qU444.png

记录类型使用两位二进制数据表示,共有四种形式,如上图表示,其中00表示数据类型,01表示文件结尾记录类型(后续我们对实际Hex进行说明)。

poYBAGRvCCSAMm8yAAEmVO859Go113.png

这里是结尾Hex数据表示,00代表有0个数据,地址表示0x0000,记录类型为0x01,checksum是0xFF。

pYYBAGRvCDuAYPEjAAH-0pLt8HM402.png

使用一个实际的PIC16F1778的代表编译出来的Hex进行说明,第一行Hex数据是02 0000 04 0000 FA,可以看出这里有两个Hex字节,地址为0x0000,记录类型为扩展线性地址记录,数据是0000,checksum为0xFA,对应第一个PAGE存储空间。第二行为04 0000 00 8031 0628 1D,这里显示为四个数据字节,地址为0x0000开始,类型为数据字节,具体数据为0x3180,0x2806。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44501

    浏览量

    632283
  • 嵌入式
    +关注

    关注

    5062

    文章

    18984

    浏览量

    302385
  • 文件
    +关注

    关注

    1

    文章

    561

    浏览量

    24677
  • 编译器
    +关注

    关注

    1

    文章

    1617

    浏览量

    49021
  • HEX
    HEX
    +关注

    关注

    0

    文章

    36

    浏览量

    16784
收藏 人收藏

    评论

    相关推荐

    嵌入式文件系统znFAT介绍

    今天给大家介绍一款适用于单片机的嵌入式文件系统——znFAT。 这款文件系统由嵌入式大佬于振南开发,并在 gitee 开源共享的。
    发表于 09-13 09:22 1433次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>文件</b>系统znFAT介绍

    嵌入式Linux文件系统的研究与应用

    随着嵌入式系统的发展,使用Linux操作系统搭建的嵌入式平台得到了越来越广泛的应用。文件系统是嵌入式Linux 系统的重要组成部分,一个合适的文件
    发表于 08-13 08:59 16次下载

    2016嵌入式赛项文件

    2016年全国职业技能大赛嵌入式应用开发比赛的比赛文件及样题。
    发表于 05-13 16:40 6次下载

    基于DSP平台的嵌入式文件系统的开发与研究

    基于DSP平台的嵌入式文件系统的开发与研究
    发表于 10-19 14:28 4次下载
    基于DSP平台的<b class='flag-5'>嵌入式</b><b class='flag-5'>文件</b>系统的开发与研究

    详解嵌入式linux文件类型

    学习嵌入式linux系统开发,对于linux文件类型需要有很深的理解。Linux文件类型常见的有普通文件、目录文件、符号链接
    发表于 06-11 16:29 990次阅读
    详解<b class='flag-5'>嵌入式</b>linux<b class='flag-5'>文件</b>类型

    嵌入式文件系统及特点

      近年来,计算机嵌入式逐渐被人们所追捧,想要学习嵌入式当然离不开嵌入式系统啦,下面尚观教育小编带同学们了解嵌入式文件系统及其特点。  
    发表于 09-06 14:29 1150次阅读

    基于嵌入式视频存储的专用文件系统设计

    关键词:嵌入式 , 视频存储 , 文件系统 目前的硬盘录像机中,基于PC和采集卡的一般采用Windows系统,文件系统则多采用NTFS或FAT32;而嵌入式硬盘录像机所采用的
    发表于 12-02 18:33 730次阅读

    Linux嵌入式文件系统如何构建

    Linux支持多种文件系统,同样,嵌入式Linux也支持多种文件系统。虽然在嵌入式系统中,由于资源受限的原因,它的文件系统和PC上的Linu
    发表于 06-18 09:23 979次阅读

    嵌入式C语言-文件操用

    嵌入式C语言-文件操用(嵌入式开发需要什么证书)-嵌入式C语言-文件操用,有需要的可以参考!
    发表于 07-30 11:56 15次下载
    <b class='flag-5'>嵌入式</b>C语言-<b class='flag-5'>文件</b>操用

    支持Hex、Bin、Motorola S文件的开源库使用

    转换。其支持文件信息快速查看、分段数据处理。 镜像文件格式 嵌入式系统中各种系统镜像常用已下几种文件格式保存:
    的头像 发表于 08-18 09:39 2113次阅读

    嵌入式文件操作

    嵌入式】串口间的通信1. 操作内容2. 操作步骤3. 操作结果1. 操作内容通过编写文件读写及上锁的程序,熟悉Linux中文件I/O相关的应用开发;掌握fopen()、fread()、fwrite
    发表于 10-20 15:21 1次下载
    【<b class='flag-5'>嵌入式</b>】<b class='flag-5'>文件</b>操作

    嵌入式】构建嵌入式Linux系统(uboot、内核、文件系统)

    嵌入式Linux系统知识架构及层次嵌入式Linux系统构成及启动略析嵌入式Linux三剑客之uboot技术嵌入式Linux三剑客之内核技术嵌入式
    发表于 10-20 18:20 42次下载
    【<b class='flag-5'>嵌入式</b>】构建<b class='flag-5'>嵌入式</b>Linux系统(uboot、内核、<b class='flag-5'>文件</b>系统)

    嵌入式Linux系统移植-(Linux文件系统)

    嵌入式Linux系统移植-(Linux文件系统)嵌入式文件系统概述·文件是有组织、有次序地存储在某种介质上的一组信息的集合,是用来存储信息的
    发表于 11-02 12:51 16次下载
    <b class='flag-5'>嵌入式</b>Linux系统移植-(Linux<b class='flag-5'>文件</b>系统)

    视频教程-嵌入式Linux文件与串口编程-嵌入式

    嵌入式Linux文件与串口编程 嵌入式工程师、嵌入式讲师、10多年
    发表于 11-02 15:06 15次下载
    视频教程-<b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>文件</b>与串口编程-<b class='flag-5'>嵌入式</b>

    Intel Hex 文件格式

    简介这种文件格式一般是以hex为后缀名,在嵌入式MCU程序开发中,经常编译链接后生成一个这样文件,然后将这个文件烧写到MCU的ROM中。所以
    发表于 12-06 10:06 4次下载
    Intel <b class='flag-5'>Hex</b> <b class='flag-5'>文件</b>格式