なぜ HEX を EXE に変換するのですか?
1973年に導入された Intel HEX は、組み込みプロセッサ用にコンパイルされたファームウェアをプレーンテキストの ASCII でエンコードしたものです。Windows の .exe は、x86 または x64 マシンコード、DLL インポートテーブル、および Windows API 参照を含む Portable Executable です。これらは完全に異なる CPU アーキテクチャと実行環境です。マイクロコントローラ用のファームウェアバイトは、Windows が実行できないチップ用に書かれており、Windows のプロセス、ファイルシステム、または API という概念を持ちません。
HEX から EXE への変換方法
Arduino IDE FREE
Arduino IDE の «スケッチ > 書き込み装置を使って書き込む» を使用して、ターゲットのマイクロコントローラに .hex を書き込みます。これが Intel HEX ファイルの本来の用途であり、実行ファイルへの変換ではありません。
avr-objcopy OPEN-SOURCE
生のバイトデータとしてフラットバイナリが必要な場合は、avr-objcopy -I ihex -O binary firmware.hex firmware.bin を実行してください。.bin への変換が、Intel HEX からの唯一の標準的かつ有用な形式変換です。
これらの形式について
.hexファイルはIntel HEXファイルです。Arduino、AVR、PICチップなどのマイコン用にコンパイルされたファームウェアが、プレーンテキストのレコードとして保存されています。PC上で実行するものではなく、Arduino…
.HEX の詳細を開く →EXEファイルはWindowsの実行プログラムです。Windowsでは、ダブルクリックして実行します。MacやLinuxでは、CrossOverやWineを使用してください。EXEはWindows以外ではネイティブに動作しません。EXEはWindowsにおけるマルウェア配布の最も一般的な形式であるため、信頼できるソースからのファイルのみを実行してください。
.EXE の詳細を開く →品質と注意点
.hexを.exeに変換できる正当なツールは存在しません。ファームウェアは、Windows PE ヘッダー、インポートテーブル、または x86 命令を持たない異なる CPU アーキテクチャを対象としています。- Intel HEX ファイルはプレーンテキストです。任意のテキストエディタで
.hexを開き、レコードを確認できます。各行は:で始まり、その後に16進数字が続きます。 - この変換を実行できると主張するオンラインツールは、機能していないか、潜在的に有害である可能性があります。
よくある質問
HEX を EXE に変換するオンラインツールはありますか?
誰かから送られてきた .hex ファイルがありますが、どうすれば使えますか?
.hex ファイルの中にどのようなコードが入っているか見ることはできますか?
avr-objcopy -I ihex -O binary でフラットな .bin に変換してバイナリエディタで検査してください。