UMEHOSHI ITA TOP PAGE    COMPUTER SHIEN LAB

このページで、「MPLAB X IDE」と「MPLAB XC32 (Free C compilers)」のインストール、そしてその最初の動作確認までを紹介しています。
以下のインストールを終えている方は、『「MPLAB Harmony v2」のインストールと動作確認』のページで進めてください。

「MPLAB X IDE」の環境で、全てプログラミングする手法( UMEHOSHI ITA の利用)

ここではマイクロチップ社の「MPLAB X IDE」の開発環境で、基板「 UMEHOSHI ITA 」などのプログラムを開発し、 出来上がったプログラムコードを、PICKit3などの書き込みツールでチップにを埋め込む方法を行う準備と例を示しています。
PICKit3などの書き込みツールは、 別途に購入するなどして用意しなければなりません。

またPICKit3などを使う場合、「UMEHOSHI ITA」ではこちらで示すように、 接続用のコネクタなどをの部品の追加が必要です。

「MPLAB X IDE」の開発環境をダウンロードしてインストール

Microchip社のリンク「https://www.microchip.com/」から辿ることにより 「MPLABX-v5.30-windows-installer.exe 」をダウンロードします。
2022年2月時点で、は次のように移動して取得できます。
このトップページ先頭の「Tools and Resources」の中の「Develop」ををクリックします。
そのページ内で、『MPLAB X IDE』と書いてある箇所の「Learn More」をクリックします。

これで、「https://www.microchip.com/en-us/tools-resources/develop/mplab-x-ide」 の「MPLAB X IDE」のページに移動します。
この時のバージョンは、「MPLAB X IDE v6.00」ですが、 下の説明で示すアーカイブの「MPLAB X v5.30」は少し前のものです。

それを取得する場合は、このページ内の「Go to Downloads Archive」を クリックして「MPLAB Development Ecosystem Downloads Archive」のページへ移動します。
その中で「Windows (x86/x64)」の箇所をクリックして 出現するリストから「MPLAB X v5.30」を選択することで 「MPLABX-v5.30-windows-installer.exe」のファイルをダウンロードします。
以下では、このアーカイブを使った例の説明をしています。

「MPLAB X IDE」をインストールします。

ダウンロードした「MPLABX-v5.30-windows-installer.exe」を実行します。
インストール位置のデフォルト「C:\Program Files (x86)\Microchip\MPLABX\v5.30」を
「C:\Microchip\MPLABX\v5.3」に変更してインストールに変更した例です。

ボタン操作で、インストールの進行を示します。



















.

上記の手続きだけでは、コンパイラがインストールされていません。(C:\Microchip\MPLABX\v5.3はインストールされた)
一旦終了して、続いて下記の手順によりコンパイラ「MPLAB XC32 (Free C compilers)」をインストールします。




コンパイラ「MPLAB XC32 (Free C compilers)」をダウンロードして設定。

上記に継続してダウンロードできます。
Tools and Resources / Archives / MPLAB Ecosystem Downloads Archive のページから 「v2.20 (WIN) (5/17/19)」 のリンクを探すことができます。

上記操作で移動し、スクロールして進むと、「MPLAB XC32 Compiler」内の 「v2.20 (WIN) (5/17/19)」 のリンククリックのダウンロードで、 「xc32-v2.20-full-install-windows-installer.exe」が得られるでしょう。


上記で得られた「xc32-v2.20-full-install-windows-installer.exe」を開いてインストールします。

インストールする位置はデフォルト と違いますが、上記に合わせて「C:\Microchip\xc32\v2.20」となるようにインストールします。

ボタン操作で、インストールの進行手順を示します。














.



UMEHOSHI ITA のLチカプログラムで動作検証

LEDを点滅させるための簡単なプロジェクトを「led_flashing」の名前で作成し、 「main.c」のソースファイルを作り、ビルドして、基板に書き込むまでの工程です。
ボタン操作で、プロジェクトの作成、コンパイル、基板書き込みまでの進行手順を示します。

[File]メニューより[New Project]選びます。



















.

なお「main.c」の内容は、下記のソースコードをコピー貼り付けしたものを使っています。

// 確認用サンプルコード

/********************** UMEHOSHI ITA用の機能設定*************
 *  PIC32MX270F256B Configuration Bit Settings
 *  デバイスには、各種機能の動作を設定するためビットを格納したコンフィグレーション レジスタがあり、
 *  正しく設定しなければならない。
 * (http://ww1.microchip.com/downloads/jp/DeviceDoc/50002509B_JP.pdf)
 *  
*/
// DEVCFG0
#pragma config DEBUG = OFF // Background Debugger Disabled
#pragma config JTAGEN = OFF // JTAG Disabled
#pragma config ICESEL = ICS_PGx1 // ICE/ICD Comm Channel PGEC1/PGED1(Pickit3がここに接続))
#pragma config PWP = OFF // Program Flash Write Protect Disabled
#pragma config BWP = OFF // Boot Flash Write Protect Disabled
#pragma config CP = OFF // Code Protect Disabled

// DEVCFG1  OSCILLATOR CONFIGURATION
#pragma config FNOSC     = PRIPLL   //Oscillator Selection Bits:Fast RC Osc (FRC) (FRC,FRCPLL,PRI,PRIPLL,SOSC,LPRC,FRCDIV16,FRCDIV)
                                    // これがSYSCLKとなる。
#pragma config FSOSCEN   = OFF // Secondary Oscillator Disabled
#pragma config IESO      = OFF // Internal/External Switch Over Disabled(2段階クロックスタートアップ))
#pragma config POSCMOD   = HS  //(High Speed Xtal))Primary Oscillator Configuration:Primary osc disabled (EC,XT,HS,OFF)
#pragma config OSCIOFNC  = OFF    //CLKO Output Signal Active on the OSCO Pin::Disabled 
#pragma config FPBDIV    = DIV_1  //Peripheral Clock Divisor:Pb_Clk is Sys_Clk/1 (DIV_1,DIV_2,DIV_4,DIV_8)
                                    // 周辺装置用クロックをSYSCLKの分周なしで使う
#pragma config FCKSM     = CSDCMD //Clock Switching and Monitor Selection:Clock Switch Disable, FSCM Disabled (CSECME,CSECMD,CSDCMD)
#pragma config WDTPS = PS1048576 //Watchdog Timer Postscaler:1:1 (PS1,,,,PS1048576)
#pragma config WINDIS    = OFF    //Watchdog Timer Window Enable:Watchdog Timer is in Non-Window Mode 
#pragma config FWDTEN    = OFF    //Watchdog Timer Enable:WDT Disabled (SWDTEN Bit Controls) 
#pragma config FWDTWINSZ = WINSZ_25 // Watchdog Timer Window 25%

// DEVCFG2 (PLLによるシステムクロック分周関連))
#pragma config FPLLIDIV  = DIV_4  //PLL Input Divider:1x Divider (DIV_1,DIV_2,DIV_3,DIV_4,DIV_5,DIV_6,DIV_10,DIV_12)
#pragma config FPLLMUL   = MUL_20 //PLL Multiplier:15x Multiplier(MUL_15,MUL_16,MUL_17,MUL_18,MUL_19,MUL_20,MUL_21,MUL_24)
#pragma config FPLLODIV  = DIV_2  //System PLL Output Clock Divider:PLL Divide by 1(DIV_1,DIV_2,DIV_4,DIV_8,DIV_16,DIV_32,DIV_64,DIV_256) 
                                // 16MHz外部クロックで、40MHzができあがる設定
#pragma config UPLLIDIV = DIV_4 // USB PLL Input Divider - 4x
#pragma config UPLLEN = ON // USB PLL Enabled and not Bypassed

// DEVCFG3
#pragma config USERID = 0xffff
//#pragma config FSRSSEL = PRIORITY_7 // Shadow Register Set Priority 7(このチップでは無効))
#pragma config PMDL1WAY  = OFF    //Peripheral Module Disable Configuration:Allow multiple reconfigurations 
#pragma config IOL1WAY   = OFF    //Peripheral Pin Select Configuration:Allow multiple reconfigurations 
                    // (ピンの機能を再定義できる Harmanyでは上記2か所がONでった。)
#pragma config FUSBIDIO = OFF // USB USID Selection - Port Function(USB指定ピンの変更不可))
#pragma config FVBUSONIO = OFF // USB VBUS ON Selection - Port Function

/*
 * LED 点滅の簡単なプログラム
 * (D1のLEDは、RB15に接続されます。)
 */

#include <xc.h>

void wait(void);

void main()
{
    //RB2,3,4,5,13,14,15 をデジタル用として0にする。(RB2-RB3,RB13-RB14はPWM用 LED D1はRB15)
    ANSELB = 0x1fc7;//アナログデジタル切り替え指定レジスタに、0001 1111 1100 0111を設定
    TRISB = 0x7fff;   //入力、出力指定レジスタに、RB15だけ出力用に指定するためそのビット0にする。
    
    _RB15 = 1;//RB15のLED点灯
    
    while(1){ 
        wait();
        _RB15 = ! _RB15;//反転
        wait();
   }
}

void wait(void)
{
    unsigned int t1;
    for(t1=0 ; t1 < 1000000 ; t1++ ){
        __asm__ ("NOP");
    }
}