> intel | hex | :10010000 <
// Intel HEX - マイコン・EEPROM ファームウェア用の標準フォーマット
マイコン向けに最適化
マイコンや EEPROM のプログラミングに使われる標準的なファイル形式です。
エラー検出
各行にチェックサムが含まれており、データ整合性を検証できます。
メモリマッピング
正確なメモリ配置のためのアドレス情報を含みます。
>> 技術情報
Intel HEX の仕組み:
Intel HEX 形式では、バイナリデータを ASCII テキストのレコードとして表現します。各行は ':' で始まり、バイト数、アドレス、レコード種別、データ、チェックサムが続きます。これにより、ファームウェアをテキストとして安全に転送できます。
レコード構造:
:LLAAAATTDD...CC : 開始コード LL バイト数 AAAA アドレス TT レコード種別 DD データバイト CC チェックサム
Intel HEX を使う理由:
- >マイコンのプログラミング
- >EEPROM データ転送
- >ファームウェア配布
- >ブートローダープロトコル
- >デバッグと検証
>> よくある質問
Intel HEX 形式とは何ですか?
Intel HEX は、バイナリ情報を ASCII テキストレコードとして表現するファイル形式です。アドレス情報とエラーチェックを含むため、マイコンのプログラミングで広く利用されています。
レコードの種類にはどんなものがありますか?
一般的な種類には、00(データ)、01(ファイル終端)、02(拡張セグメントアドレス)、04(拡張リニアアドレス)、05(開始リニアアドレス)があります。データ用として最もよく使われるのは 00 タイプです。
チェックサムはどのように計算されますか?
チェックサムは、レコード内のすべてのバイト(チェックサム自身を除く)の合計に対する 2 の補数です。これにより、転送や保存中のデータ破損を検出できます。
生のバイナリではなく Intel HEX を使う理由は?
Intel HEX は ASCII テキストなので、さまざまなチャネルで送信しやすく、アドレス情報とチェックサムを含みます。また、疎なメモリマップも効率的に表現できます。
他の言語
参考資料
結果の正しさをどう確認するか
以下の自動テストでこのツールを検証します。テスト例の名称は原文のまま掲載しています。
- Verification method
- Independently inspect record lengths, addresses and payload bytes, check checksums, then verify complete UTF-8 decoding.
- Comparison reference
- Intel HEX zero-sum and S-record ones-complement checksum rules, with explicit byte assertions.
- Verification scope
- The listed records and boundaries do not cover every firmware address layout.
Test source and cases (select a file to read it)
-
text-reliability.test.js
- Intel HEX: UTF-8 records preserve bytes, addresses, counts and zero-sum checksums
テスト対象は記載した例と境界条件です。すべての入力に対する証明ではありません。往復変換や同じライブラリによる確認は独立した検証ではありません。