如何阅读一个hex文件 | 您所在的位置:网站首页 › pwi文件用什么软件打开 › 如何阅读一个hex文件 |
什么是hex文件?了解这个有什么用? 在编译某些程序时,编译器可能会生成一个hex文件,里面记录着编译好的程序 了解这个很可能没什么太大的用处,但是可以了解一下在按下编译按钮之后编译器做的一小部分的事情。 注:网上有相关的分析文章,分析的也应该比这里好,这里的介绍也是部分参考了网上的文章,如果要详细了解请自行搜索,在这里,只是简单讨论一下这个文件是怎么保存数据的。 要查看hex文件,需要先有一个hex文件。 这里的hex文件来自一个51单片机的汇编程序,是从开发板的资料里面找的。 为什么选了这样一个程序呢? 51的程序相对应该更简单,看起来应该会容易一些 先尝试打开这个文件。 用vscode打开hex文件,vscode说有给这种文件做的扩展,然后安装了一下,看起来大概也没什么大的变化 打开之后大概是这样 :1F000000D29012000CC29012000C01007550E4755214755114D551FDD552F7D550F12219 :00000001FF 看起来不是很多,应该还是比较好分析的。 之后就是根据网上的文章尝试看一下这个文件。 按照网上的说法,这个文件大概是这个意思(其实hex文件的的规定应该不止下面的几行,这里只是列出了一些下面用到的规定) 可以每一行分开来看: 首先,一行以:开始 后面的两个字符代表这一行里面记录的字节数 接下来4个字符代表这些字节要放到的位置的开始 接下来两个字符是说明这行是在说什么的,是数据(00),还是说这行表示文件已经结束了(01)等等。 然后就是数据了。 最后两个字符据说是代表校验码,暂时不是特别清楚它们的意思 根据这些规则,大概可以解读一下这两行在说什么了 第一行说有1F(十六进制)个字节的数据,然后这些数据的开始地址是在0000处。 第二行说已经没有数据了。 在进行处理过后,这个程序在内存里的分布大概长这样 0x0000 D29012000CC29012000C01007550E4755214755114D551FDD552F7D550F12 接下来要看懂这是什么程序,可能就需要去看51的汇编了。 另外,在了解了hex文件的大概的结构后,也可以看出那个vscode的扩展的一个功能,可以标识出一行的不同部分 |
CopyRight 2018-2019 实验室设备网 版权所有 |