HEX文件格式


以*.hex為后綴的文件我們稱之為HEX文件。 HEX的英語原始意思是16進制。這種文件格式主要用於保
存單片機固件。

整個文件以行為單位,每行以冒號開頭,內容全部為16進制碼,2個ASCII碼字符表示1個Hex字節

 

 

 

:02 0000 04 0804 EE

  • 每行以冒號開頭
  • 第1字節0x02表示數據區的字節個數,用ASCII表示就是4個ASCII字符。
  • 第2、 3字節0x0000 表示偏移地址或無用填0
  • 第4字節0x04表示本行記錄的類型
               '00' Data Rrecord:用來記錄數據,HEX文件的大部分記錄都是數據記錄
               '01' End of File Record: 用來標識文件結束,放在文件的最后,標識HEX文件的結尾
               '02' Extended Segment Address Record: 用來標識擴展段地址的記錄
               '03' Start Segment Address Record: 段地址 STM32不用
               '04' Extended Linear Address Record: 用來標識擴展線性地址
               '05' Start Linear Address Record: 程序啟動運行的地址
  • 第5、 6字節表示數據區
  • 最后1個字節是校驗字節。所有16進制碼的累加和(不計進位),檢驗和 = 0x100 - 累加和

:02 0000 04 0804 EE <---------------首行給出燒錄的目標地址的高16位 : 0x0804
           :10 0000 00 A899 0020 C101 0408 830B 0408 3908 0408 DA <------- 燒寫到0x0804 0000 處的數據
           :10 0010 00 7F0B 0408 AB02 0408 5518 0408 0000 0000 18 <------- 燒寫到0x0804 0010 處的數據

:04 0000 05 0804 01AD 3D <------- 05類型的行對於燒寫程序無用。見參看英文。
           :00 0000 01 FF <------- HEX文件結束行

05 類型: Start Linear Address Record. The address field is 0000, the byte count is 04. The 4 data
bytes represent the 32-bit value loaded into the EIP register of the 80386 and higher CPU.


注:以上文字摘錄安富萊STM32-V6 開發板軟件開發手冊


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM