新聞中心
HEX文件和BIN文件是我們經(jīng)常碰到的2種文件格式,在編譯生成固件的時(shí)候,有時(shí)候生成Hex文件有時(shí)候生成Bin文件,本篇文章就為大家詳細(xì)講解一下HEX文件和BIN文件。

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比北塔網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式北塔網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋北塔地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。
Hex文件和Bin文件是什么
Hex文件是以ASCII文本形式保存編譯后的二進(jìn)制文件信息。Hex文件使用ASCII文本的形式保存Bin文件的內(nèi)容和Bin文件的一些配置信息。Hex文件可以由下載器(比如jlink)燒寫到MCU的ROM中。
Bin文件是MCU固件燒寫的最終形式,也就是說MCU的ROM中燒寫的內(nèi)容完全就是Bin文件的內(nèi)容。
Hex文件和Bin文件的關(guān)系
Hex文件可以說是MCU固件的中間形式,由下載器的軟件根據(jù)Hex文件生成Bin文件再燒寫到MCU的ROM中。既然Bin文件是最終我們想要的,那么Hex文件有什么存在價(jià)值?我們?yōu)槭裁床恢苯由葿in文件,卻要生成Hex文件呢?這就要從Hex文件的內(nèi)容格式說起來了。
Hex的內(nèi)容格式
從上面我們知道Hex文件不只是保存Bin文件的內(nèi)容,還有一些配置信息。我們以一個(gè)例子大概說下Hex文件的結(jié)構(gòu),見下圖:
上圖的Hex文件總共6行的內(nèi)容。每行都是以’:’開始,之后是地址域、數(shù)據(jù)類型、數(shù)據(jù)域和校驗(yàn)和。
最后一行的數(shù)據(jù)類型是0x01,代表文件結(jié)束了。
Hex文件和Bin文件的存在價(jià)值
從上面的介紹中,我們發(fā)現(xiàn)Hex文件中每行的內(nèi)容,就像我們發(fā)送串口數(shù)據(jù)的數(shù)據(jù)幀,并且最后一行還指示出文件結(jié)束了。我們得出hex文件的兩個(gè)優(yōu)點(diǎn):
\1. 使用ASCII文本保存固件信息,方便查看一些固件內(nèi)容;
\2. 通過文件每行的校驗(yàn)和與最后一行的文件結(jié)束標(biāo)志,在文件的傳輸與保存過程中能夠發(fā)現(xiàn)固件是否完整。
Hex文件有更好的可讀性,最重要的是hex文件能夠保證固件在保存與傳輸時(shí)的完整性。因此hex文件更適用于保存與傳輸。而Bin文件是純二進(jìn)制文件,內(nèi)部只包含程序編譯后的機(jī)器碼和變量數(shù)據(jù)。當(dāng)文件損壞時(shí),我們也無法知道文件已損壞。不過Bin文件作為固件的最終形式,在使用串口下載程序或者遠(yuǎn)程升級(jí)時(shí),是不可替代的。
文章題目:簡單介紹一下HEX文件和BIN文件
網(wǎng)址分享:http://www.dlmjj.cn/article/cdgidcj.html


咨詢
建站咨詢
