hex文件用什么软件打开(用C#代码读取HEX文件中的数据方法)
如果有更好的建议或者想看更多关于电子数码技术大全及相关资讯,可以多多关注茶馆百科网。
最近我需要提取HEX数据并保存为BIN文件。今天我将分享我阅读HEX文件的方法。
HEX文件格式是一种可以写入嵌入式芯片的文件格式。它通常是用C或汇编语言编译的,可以通过任何文本编辑软件查看。我通常使用notepad++。
整个文件以动作为单位,每行以冒号开始,内容全部以十六进制表示
这里有一个例子:
:20008000DAF8220261E19010DCEFF0E49005A6F09010E8F09010E3F0E5665407FFBF070464
前20为数据长度,表示下面的数据为32字节。
00和80后面的地址表示这一行数据在芯片中的位置。
下面的00表示数据类型,可分为以下几种:
'00'有效数据
“01”文件结束
'02'分机段地址记录
'03'开始段地址记录
'04'扩展线性地址记录
'05'开始线性地址记录
然后00 DAF8220261E19010DCEFF0E49005A6F09010E8F09010E3F0E5665407FFBF0704 32字节的数据后面
最后64是校验码。
在我的许多使用中,我只使用00,04,01作为数据类型。下面是一个代码示例(因为c#是自学的,非常不专业),支持最多512KB的文件读取,并且从0开始:
c#读取一个示例HEX文件
byte[] frimwareArray=new byte[512*1024];
for (int i=0; i frimwareArray.Length; i++)
StreamReader strFile=new StreamReader(hexfile);
Int32 hexCounter=0;
Int32 lineOffset=0;
string hexLine=string.Empty;
Int32 hexLineAddress=0;
Int32 hexLineLen=0;
hexMaxAddress=0;
while (strFile.EndOfStream !=true)
if (hexMaxAddress hexCounter) //更新最大十六进制文件地址
}
else if (hexLine。Substring(7,2)=='04')//扩展线性地址记录
else if (hexLine。Substring(7,2)=='01')//文件结束
}
else
本文主要介绍了关于hex文件用什么软件打开(用C#代码读取HEX文件中的数据方法)的相关养殖或种植技术,电子数码栏目还介绍了该行业生产经营方式及经营管理,关注电子数码发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解电子数码技术怎么管理的要点,是您电子数码致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://seotea.com/article/1439188.html