您好,登錄后才能下訂單哦!
本篇內容介紹了“HEX文件和BIN文件是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Hex文件是以ASCII文本形式保存編譯后的二進制文件信息。Hex文件使用ASCII文本的形式保存Bin文件的內容和Bin文件的一些配置信息。Hex文件可以由下載器(比如jlink)燒寫到MCU的ROM中。
Bin文件是MCU固件燒寫的最終形式,也就是說MCU的ROM中燒寫的內容完全就是Bin文件的內容。
Hex文件可以說是MCU固件的中間形式,由下載器的軟件根據Hex文件生成Bin文件再燒寫到MCU的ROM中。既然Bin文件是最終我們想要的,那么Hex文件有什么存在價值?我們為什么不直接生成Bin文件,卻要生成Hex文件呢?這就要從Hex文件的內容格式說起來了。
從上面我們知道Hex文件不只是保存Bin文件的內容,還有一些配置信息。我們以一個例子大概說下Hex文件的結構,見下圖:
上圖的Hex文件總共6行的內容。每行都是以’:’開始,之后是地址域、數據類型、數據域和校驗和。
最后一行的數據類型是0x01,代表文件結束了。
從上面的介紹中,我們發現Hex文件中每行的內容,就像我們發送串口數據的數據幀,并且最后一行還指示出文件結束了。我們得出hex文件的兩個優點:
\1. 使用ASCII文本保存固件信息,方便查看一些固件內容;
\2. 通過文件每行的校驗和與最后一行的文件結束標志,在文件的傳輸與保存過程中能夠發現固件是否完整。
Hex文件有更好的可讀性,最重要的是hex文件能夠保證固件在保存與傳輸時的完整性。因此hex文件更適用于保存與傳輸。而Bin文件是純二進制文件,內部只包含程序編譯后的機器碼和變量數據。當文件損壞時,我們也無法知道文件已損壞。不過Bin文件作為固件的最終形式,在使用串口下載程序或者遠程升級時,是不可替代的。
“HEX文件和BIN文件是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。