PIC kit3 : MPLAB IDE / アセンブラ [3] : HEXファイル編
2013.08.01
HEXファイル
PICマイコンに対して直接アセンブラのソースコードを書き込んでも動作させる事はできないので、ソースコードをASCIIで記述されたHEXファイルに変換・生成します。
《MEMO》
検索するとPICマイコンでは、通称【Intel HEX File】という形式が使われていて、どのアドレスに、どの値を書き込むか...が記述されており、ファイル自体はテキスト形式でメモ帳でも内容が確認できる。
※アセンブラのソースコードをHEXファイルに変換する作業を【Build:ビルド】と呼ぶ
1.[Build All] アイコンをクリックするか、メニューから [Project] → [Build All] を指定
![MPLAB IDE - [Build All] アイコン MPLAB IDE - [Build All] アイコン](../../../../img/ele/ele12/15.webp)
![MPLAB IDE - [Build All] メニュー MPLAB IDE - [Build All] メニュー](../../../../img/ele/ele12/16.webp)
2.MPLAB IDE のメインウインドウ内に、消えた【Output】ウインドウが再表示され、【Absolute】か【Relocatable】かを指定するダイアログが表示される。

《MEMO》
Absolute or Relocatable ? と質問されているので、指定するメモリのアドレスは絶対アドレスか?それとも相対アドレスか?って事だと思うのですが、双方の使い分けについて検索してみると大規模プロジェクトで複数の人が開発に携わる場合には、Relocatable にする必要があるみたいです。
『オマエが落としたのは【金】のHEXか?それとも【銀】のHEXか?』 「ハイ神様、私は鉄の(ry
一人でワッショイするので、取り敢えず Absolute で Go。(メッセージには後からビルドオプションで変更可能とあるし…)
3.【Output】ウインドウに文字列が流れて、最後に BUILD SUCCEEDED が表示されたらビルド成功。

《MEMO》
ソースコードに不備が有ったりしてビルドに失敗すると、エラーメッセージと共に BUILD FAILD が赤字で表示される
4.[File] → [Open...] でフォルダ内に、拡張子:HEXを持つファイルが生成されているのが確認できます。

5.そのまま開いてみると…おぉ、出来てる出来てる♪

《MEMO》
サンプルプログラムなどネット上に公開されているプログラムでは、殆どの場合ソースコードとHEXファイルが一つの圧縮ファイルに同梱されています。そうした外部HEXファイルをプロジェクトに追加する場合は、外部HEXファイルをプロジェクトフォルダに移動、若しくはコピーし、必要ならば拡張子.HEXはそのままにしてファイル名のみを書き換えて [File] → [Import...] でインポート。
外部HEXファイルをそのまま利用して書き込みをする場合は、このインポート処理をしておかないと、PICに書き込む段になって 『HEXファイルが無いゾ!』...と MPLAB IDE に怒られます…(´・ω・`)
![MPLAB IDE - [Import...] MPLAB IDE - [Import...]](../../../../img/ele/ele12/21.webp)


ただ外部HEXファイルのインポートも少々問題が…(後述)