lynxeyedの電音鍵盤

MBDとFPGAと車載で使うデバイスの備忘録

PIC32MXでLチカ

この間のエントリの続きです。Mac OS Xでも書き込みできる事は確認できたので、LED点滅でもして動作確認しようと思います。
MPLAB X IDEを立ち上げ、メニューの

File -> New Project...

を選択すると、

f:id:Lynx-EyED:20120707002903p:image
新規プロジェクトのウィザードが出現するので、ウィンドウ中央欄の

Categories:  ->  Samples -> Microchip Embedded -> Explorer 16 PIC32 Blinky 

を選択し、Nextボタンを押す。
そうすると、PIC32 Blinkyプロジェクトをエラー大量に表示しつつ(←おいw)開いてくれるので、コンパイラや、CPUの設定を正しく設定しなおす必要があります。
以下設定方法です。

  • 開いたらプロジェクトトップ(Explorer16PIC32MX_1などと表示されているはず)で右クリック

f:id:Lynx-EyED:20120707002904p:image
→ 一番下のPropertiesを選択。

  • ここで、こんなウィンドウが出現するはず。

f:id:Lynx-EyED:20120707002905p:image

Categories:		-> Conf:[Default]を選択
Hardware Tool:		-> PICkit3を選択
Compiler Toolchin:	-> XC32(v1.00)を選択
Device:			-> PIC32MX220F032Bを選択

最後にApply -> OKをクリック

これで先ほどの大量のエラーは消えているはず。
ちなみにmain.cはこんな感じ(一部抜粋)。書き込むにあたってソースコードは変更していません。

int main(void)
{
    int i;

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    // Configure the device for maximum performance but do not change the PBDIV
    // Given the options, this function will change the flash wait states, RAM
    // wait state and enable prefetch cache but will not change the PBDIV.
    // The PBDIV value is already set via the pragma FPBDIV option above..
    SYSTEMConfig(SYS_FREQ, SYS_CFG_WAIT_STATES | SYS_CFG_PCACHE);


    // Explorer16 LEDs are on lower 8-bits of PORTA and to use all LEDs, JTAG port must be disabled.
    mJTAGPortEnable(DEBUG_JTAGPORT_OFF);

    // Make all lower 8-bits of PORTA as output. Turn them off before changing
    // direction so that we don't have unexpected flashes
    mPORTAClearBits(BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | \
                                                     BIT_3 | BIT_2 | BIT_1 | BIT_0 );

    mPORTASetPinsDigitalOut( BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | \
                                                     BIT_3 | BIT_2 | BIT_1 | BIT_0 );

    // Now blink all LEDs ON/OFF forever.
    while(1)
    {
            mPORTAToggleBits(BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | \
                                                     BIT_3 | BIT_2 | BIT_1 | BIT_0 );

            // Insert some delay
            i = 1024*1024;
            while(i--);
    }
}

これで、PICkit3をMacに接続し、前回作ったPIC32ボードにRA0ピンにLEDを追加したものを給電しつつ接続。
メニューの Run → Run Project(Explorer16PIC32MX_1) を選択

しばらく待つと書き込みが完了し、1秒間隔でLEDが点滅動作する。
f:id:Lynx-EyED:20120707001829j:image
わーい(棒