hex文件、out文件、bin文件、map文件解析(1)

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

如果你需要这些资料,可以戳这里获取

举例分析:某工程代码的hex文件局部内容:

:02000004003DBD①

:04801000007DF9A155②

:20801200FF5A8EA4C5A492ABEC079CFF88A992859687000EFFFE92AB88A9A9A90FA6EC10AE③

:2080220093AAEC0EA9A99DFF5CA876BFFFFE92859687000EFFFE92859687000CFFF88AA043④

:200EC4008E77003D8E7E003D8E86003D8EB5003D8EE4003D8EFB003D8F2A003D8F5A003D21

:140ED4008F8A003D8FB9003D8FE8003D9017003D9046003D84

:00000001FF

1.:02000004003DBD**(实质为“十六进制”表达形式:0x020x000x000x040x000x3D0xBD)**

释义:02表示该行数据的长度(字节数);

0000表示该行数据的起始地址(若该行数据的数据类型为00,则为偏移地址);

04表示该行数据的数据类型[1];

0x00,0x3D为数据[2];

0xBD为校验和[3]。

**2.**每行数据的起始地址计算:

第①行数据基地址(首行):0x0000 +(0x003D << 16)= 0x003D0000

第②行数据基地址:0x003D0000 + 0x8010 = 0x003D8010

第③行数据基地址:0x003D0000 + 0x8012 = 0x003D8012

第④行数据基地址:0x003D0000 + 0x8022 = 0x003D8022

注释:[1].“00”Data Rrecord:数据记录

“01”End of File Record::表征该.hex文件结束

“02”Extended Segment Address Record:标识扩展段地址记录

(后面所有数据地址需要加上段地址左移4位)

“03”Start Segment Address Record:起始/开始段地址记录

(大部分hex中不使用该记录类型,关于该记录类型的描述很少,具体作用不详)

“04”Extended Linear Address Record:标识扩展线性地址记录

(后面所有数据地址+线性地址左移16位,将该地址左移16 位后作为基地址,并且表示在下一个04类型行出现之前都要使用该地址作为基地址来使用。)

“05”Start Linear Address Record:起始/开始线性地址记录

(程序/函数入口地址,程序入口地址未必是main函数地址)

[2]. 十六进制数据:字节顺序根据芯片大小端和字长决定。

处理器若为大端存储,高字节在前,低字节在后(如NXP的5744P);

小端存储,则低字节在前,高字节在后(如STM32、DSP)。

示例:: 0401000090FFAA5502

大端存储的处理器内存中表示:

内存地址数据
0x0109F10x90
0x0109F20xFF
0x0109F30xAA
0x0109F40x55

常用的X86结构是小端模式,而KEIL C51为大端模式。很多ARM、DSP均为小端模式。部分ARM处理器可以随时在程序中(ARM Cortex系列使用REV、REV16、REVSH指令)进行大小端的切换。

[3].校验和计算方式:0x0100与除校验字节外所有字节累加和(不计进位)的差值。

例:0xBD = 0x0100 –(0x02 + 0x00 + 0x00 + 0x04 + 0x00 + 0x3D)

3.hex文件与bin****文件格式区别:

hex文件包括地址信息(烧写或下载hex文件,一般不需要用户指定地址),bin文件格式只包括数据本身(烧写bin文件时,用户需要指定地址信息)。

**【2】****“out”**文件内容解析

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值