UMEHOSHI ITA TOP PAGE COMPUTER SHIEN LAB
このページで、「MPLAB X IDE」と「MPLAB XC32 (Free C compilers)」のインストール、そしてその最初の動作確認までを紹介しています。
以下のインストールを終えている方は、『「MPLAB Harmony v2」のインストールと動作確認』のページで進めてください。
ここではマイクロチップ社の「MPLAB X IDE」の開発環境で、基板「 UMEHOSHI ITA 」などのプログラムを開発し、
出来上がったプログラムコードを、PICKit3などの書き込みツールでチップにを埋め込む方法を行う準備と例を示しています。
PICKit3などの書き込みツールは、
別途に購入するなどして用意しなければなりません。
またPICKit3などを使う場合、「UMEHOSHI ITA」ではこちらで示すように、
接続用のコネクタなどをの部品の追加が必要です。
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」のファイルをダウンロードします。
以下では、このアーカイブを使った例の説明をしています。
ダウンロードした「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)」をインストールします。
上記に継続してダウンロードできます。
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」が得られるでしょう。
インストールする位置はデフォルト と違いますが、上記に合わせて「C:\Microchip\xc32\v2.20」となるようにインストールします。
ボタン操作で、インストールの進行手順を示します。
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"); } }