| 信彦の家 | |||
|
|
MPLAB IDE を使ってHEXファイルを作成する
ここではMPLAB IDEを使用して、HEXファイル(dsPICに書き込むプログラムファイル)を作成する方法を説明します。
MPLAB IDEのインストール方法はdsPICの開発環境を作成するを参照下さい。 MPLAB IDEを起動し、メニューの「 Project 」→「 Project Wizard... 」を選択し、プロジェクトウィーザードを起動します。
ウィーザードウィンドウが開かれるので、「 次へ 」をクリックしてください。
どのハードウェア用のプログラムを作成するか聞かれるので、使用するdsPICの型を選択して下さい。下の図では「 dsPIC30F2012 」を選択しています。
使用するコンパイラを聞かれるので「 MPLAB C30 C Compiler 」を選択して下さい。
プロジェクトファイル名の設定を求められるので「 Browse... 」をクリックして、プロジェクトファイルを保存する場所を指定して下さい。基本的に何処へ保存しても大丈夫です。私の場合、プロジェクト毎に新しいディレクトリを作成して保存しています。 また、ファイルパスの途中に日本語が混じっていると、うまくコンパイルできない場合があるので、ご注意下さい。
プロジェクトへあらかじめ含めるファイルを求められます。とりあえず無視して次へ。
設定した内容を確認して、プロジェクトウィーザードは完了です。
プロジェクトスペースが完成したら、メニューの「 Project 」→「 Add Files to Project... 」を選択し、リンクファイルの「 p30f2012.gld 」をプロジェクトへ追加します。「 p30f2012.gld 」は「 C:\Program Files\Microchip\MPLAB C30\support\gld 」にあります。 ※ リンクファイルは、使用するハードの型番に合わせたファイルを追加してください。
正常に追加されると、プロジェクトウィンドウの「 Linker Scripts 」にファイルが追加されます。
リンクファイルが追加できたら、メニューの「 Project 」→「 Add New File to Project.. 」を選択し、実際にプログラムを書くソースファイルをプロジェクトへ追加します。ファイル名は自由ですが、拡張子を「 ***.c 」にして下さい。 必ずでは無いですが、整理しやすくするためにプロジェクトファイルを保存したディレクトリと同じディレクトリへ追加する事をお勧めします。
ファイルが追加されると、プロジェクトウィンドウの「 Source Files 」にファイルが追加され、エディタウィンドウが表示されます。
エディタウィンドウへ制御用のプログラムを記述します。とりあえずココではDB0の足をデジタル出力に設定して点滅するようなプログラムを書きます。
#include <p30f2012.h>
プログラムが書き終わったら「 Project 」→「 Build All 」を選択してコンパイルします。_FOSC(CSW_FSCM_OFF & FRC ); _FWDT(WDT_OFF); _FBORPOR(PBOR_OFF & PWRT_64 & MCLR_EN); _FGS(CODE_PROT_OFF); int main(void) { int i ; ADPCFG = 0xFFFF ; _TRISB0=0; while (1) { _LATB1 = 0 ; for ( i=0; i<40000; i++ ) ; _LATB1 = 1 ; for ( i=0; i<40000; i++ ) ; } }
コンパイルが実行されると、出力ウィンドウが開かれコンパイルの状況が表示されます。コンパイルが成功すると、「 BUILD SUCCEEDED ... 」と表示され、プロジェクトファイルがあるディレクトリに「 プロジェクト名.hex 」が作成されます。
コンパイルに失敗すると「 BUILD FAILED ... 」と表示されるので、出力ウィンドウに表示された内容を参考に、プログラムを修正して下さい。下は宣言していない変数「 j 」を使用した場合の例です。
作成したプロジェクトは「 Project 」→「 Save Project 」を選択して、保存して下さい。
又、作成したプログラムがどれくらいのメモリを使っているか確認する場合は「 View 」→「 Memory Usage Gauge 」を選択すると、メモリーウィンドウが表示され、どれくらいのメモリを使用しているか確認する事ができます。
電気工作トップへ戻る
|
||
| Copyright (C)2007 Nobuhiko All Rights Reserved. | |||