MPLAB IDE でコードを開発していますが、コンパイラによって生成された .COFF ファイルまたは .HEX ファイルを使用してチップをプログラムする方がよいかどうか疑問に思っていました。両者の違いはわかりませんが、どちらも同じ仕事をすると思います。
4 に答える
通常、COFF には、IDE でコードを実行するときに役立つデバッグ情報 (行番号、シンボルなど) が含まれます。.hex 形式には、プログラムのバイナリ データのみが含まれており、通常、量産用のマイクロコントローラーをプログラムするために使用します。
IIRC では、コードをフラッシュに書き込み、ICD を使用してコードをステップ実行し、ブレークポイントを設定するなどして Microchip コントローラーをデバッグするため、COFF または HEX で十分です。しかし、COFF を使用すると、デバッグ プロセスをはるかに簡単にするソース コードへのリンクが得られます。
IDE を使用する場合は COFF でプログラムし、コミット用に HEX を保存することをお勧めします。HEX ファイルは ascii であるため、ソース コード管理にチェックインして簡単に比較できます。マイクロチップ PIC を使用すると、たとえば HEX ファイルをチェックすることでヒューズ設定を確認するのは簡単です (まあ.. はい)。そのため、異なるバージョンの .asm または .c セットのヒューズが異なる場合、HEX の単純な diff で変更が明らかになります。
COFF はバイナリ (私の知る限り) で、HEX は ASCII です。デバイスがプログラムされると、違いはありません (PIC のバイナリ コンテンツは 2 つの間で同一である必要があります)。多くのサードパーティ プログラマ (デバイス) は HEX ファイルのみをサポートしていると思います。