やはり、PCのOSをLinuxにしたので、Windowsで使用していたPICプログラム環境を移すことにしました。
最初は各アプリと各コンパイラのインストールを行います。
ダウンロード先は下記から行います。
http://www.microchip.com/pagehandler/en-us/family/mplabx/home.html
アプリケーション:MPLABX(v2.05)
MPLABXの最新はv2.25ですが、あえて安定と思われる2.05をインストールしました。(いつでもアンインストールして最新にできます)
コンパイラ:XC8,XC16,XC32
ダウンロード完了しました。Linux上のダウンロードフォルダに保存されていますので、コマンドプロンプトよりインストールをしてゆきます。私の場合は、すでにインストールしてあるアプリのターミナルのByobu Terminalを使いコマンド入力しました。
MPLABXのインストール開始です。
~$ chmod u+x MPLABX-v2.05-linux-installer.run
~$ sudo ./MPLABX-v2.05-linux-installer.run
XC8,XC16,XC32コンパイラーのインストール開始です。
ダウンロードしたバージョンの番号でインストールです。
【XC8コンパイラv1.33】----------------------------------------------------------
~$ chmod +x xc8-v1.33-full-install-linux-installer.run
~$ sudo ./xc8-v1.33-full-install-linux-installer.run
【XC16コンパイラv1.23】---------------------------------------------------------
~$ chmod +x xc16-v1.23-full-install-linux-installer.run
~$ sudo ./xc16-v1.33-full-install-linux-installer.run
【XC32コンパイラv1.33】--------------------------------------------------------
~$ chmod +x xc32-v1.33-full-install-linux-installer.run
~$ sudo ./xc32-v1.33-full-install-linux-installer.run
----------------------------------------------------------------------------------------
各コンパイラのインストールメッセージをみてインストール設定して完了です。
(私の場合は、ネットワークでの設定は使いませんので、そのまま次へで進めています。)
すべてのインストールが完了しましたので、Dashホームからアプリケーションの検索をクリックします。インストール済みのなかのプログラムをみるため さらに***個の結果を見ますをクリックして、目的のMPLABXを起動します。

また、インクルードファイルのdelays.hは通常のインクルードファイル上にはありませんので、インクルードファイルのあるplibフォルダ階層のplib/をつけて、 #include "plib/delays.h" とすることでエラーが消えてエラーなしのコンパイルが可能となります。
以上でPICを開発する環境が出来上がりました。実はやりたいことがあるので、今回のLinux上でのPIC開発環境を構築しました。何かは、秘密です。大したことじゃありません。それよりも、随分PICのプログラミングをしていなかったので、操作感覚がまだ戻っていません。まずは、Lessonのプログラムを思い出しながら動かしてハードウェアとソフトウェアに慣れなければという感じです。つづく
最初は各アプリと各コンパイラのインストールを行います。
ダウンロード先は下記から行います。
http://www.microchip.com/pagehandler/en-us/family/mplabx/home.html
アプリケーション:MPLABX(v2.05)
MPLABXの最新はv2.25ですが、あえて安定と思われる2.05をインストールしました。(いつでもアンインストールして最新にできます)
コンパイラ:XC8,XC16,XC32
ダウンロード完了しました。Linux上のダウンロードフォルダに保存されていますので、コマンドプロンプトよりインストールをしてゆきます。私の場合は、すでにインストールしてあるアプリのターミナルのByobu Terminalを使いコマンド入力しました。
MPLABXのインストール開始です。
~$ chmod u+x MPLABX-v2.05-linux-installer.run
~$ sudo ./MPLABX-v2.05-linux-installer.run
XC8,XC16,XC32コンパイラーのインストール開始です。
ダウンロードしたバージョンの番号でインストールです。
【XC8コンパイラv1.33】----------------------------------------------------------
~$ chmod +x xc8-v1.33-full-install-linux-installer.run
~$ sudo ./xc8-v1.33-full-install-linux-installer.run
【XC16コンパイラv1.23】---------------------------------------------------------
~$ chmod +x xc16-v1.23-full-install-linux-installer.run
~$ sudo ./xc16-v1.33-full-install-linux-installer.run
【XC32コンパイラv1.33】--------------------------------------------------------
~$ chmod +x xc32-v1.33-full-install-linux-installer.run
~$ sudo ./xc32-v1.33-full-install-linux-installer.run
----------------------------------------------------------------------------------------
各コンパイラのインストールメッセージをみてインストール設定して完了です。
(私の場合は、ネットワークでの設定は使いませんので、そのまま次へで進めています。)
すべてのインストールが完了しましたので、Dashホームからアプリケーションの検索をクリックします。インストール済みのなかのプログラムをみるため さらに***個の結果を見ますをクリックして、目的のMPLABXを起動します。

メニューに上記のアイコンができます。クリックして起動します。私はPICkit 3を使用しますので、USB端子に差し込みます。必ず起動後に以下のPICkit3をつなぎ認識させます。
(注意ですが、USBタイプのRS-232C等、USB他のケーブルは全部外しておきます。私の場合はRS-232C-USBケーブルが付いているとPICkit3を認識しませんでしたので!)
あとは、MPLABXの設定です。以下の設定でコンパイラがMPLABX上で動くようになります。
1.TOOL->OPTIONでEmbeddedをクリックし各コンパイラ(XC8,XC16,XC32)をADD(追加)します。使うコンパイラだけでもOKです。
2.Project Propertiesを設定します。
カテゴリにはXC8のコンパイラがあるようにします。
FamillyはAll Famillies、Deviceは自分の使うPICの型式を、Hardware Toolは私の場合はPICkit3なので、PICkit3に設定します。
Categories:中の XC8のある方のconf:でPICkit3をクリックし Option categoriesはPowerを選びます。これで電圧がPICkit3に供給されるようになります。
上記設定で下記のWindowsXpで作成していたPICkit 3 PIC18F45K20 Lesson 1 - Hello_LEDプロジェクトがLinux上でコンパイル、実行可能となりました。
//******************************************************************************
//Software License Agreement
//
//The software supplied herewith by Microchip Technology
//Incorporated (the "Company") is intended and supplied to you, the
//Company? customer, for use solely and exclusively on Microchip
//products. The software is owned by the Company and/or its supplier,
//and is protected under applicable copyright laws. All rights are
//reserved. Any use in violation of the foregoing restrictions may
//subject the user to criminal sanctions under applicable laws, as
//well as to civil liability for the breach of the terms and
//conditions of this license.
//
//THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTIES,
//WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED
//TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
//PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT,
//IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR
//CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
// *******************************************************************
// PICkit 3 PIC18F45K20 Lesson 1 - Hello_LED
//
// This lesson lights LEDs 0-7 in sequence, one at a time.
//
// *******************************************************************
// * See included documentation for Lesson instructions *
// *******************************************************************
/** C O N F I G U R A T I O N B I T S ******************************/
#pragma config FOSC = INTIO67, FCMEN = OFF, IESO = OFF // CONFIG1H
#pragma config PWRT = OFF, BOREN = SBORDIS, BORV = 30 // CONFIG2L
#pragma config WDTEN = OFF, WDTPS = 32768 // CONFIG2H
#pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = ON, CCP2MX = PORTC//CONFIG3H
#pragma config STVREN = ON, LVP = OFF, XINST = OFF // CONFIG4L
#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF // CONFIG5L
#pragma config CPB = OFF, CPD = OFF // CONFIG5H
#pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF // CONFIG6L
#pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF // CONFIG6H
#pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF // CONFIG7L
#pragma config EBTRB = OFF // CONFIG7H
/** I N C L U D E S **************************************************/
#include "p18f45k20.h"
#include "plib/delays.h"
/** V A R I A B L E S *************************************************/
/** D E C L A R A T I O N S *******************************************/
void Delay1KTCYx(unsigned char);
void main (void)
{
// LED_Number = 0; // initialize
TRISD = 0b00000000; // PORTD bits 7:0 are all outputs (0)
while (1)
{
LATD = 0b01010101;
Delay1KTCYx(250);
LATD = 0b10101010;
Delay1KTCYx(250);
}
}
--------------------------------------------------------------------------------------------------------
このプログラムは偶数と奇数番目のLEDが交互に点灯、点滅します。
(注意ですが、USBタイプのRS-232C等、USB他のケーブルは全部外しておきます。私の場合はRS-232C-USBケーブルが付いているとPICkit3を認識しませんでしたので!)
あとは、MPLABXの設定です。以下の設定でコンパイラがMPLABX上で動くようになります。
1.TOOL->OPTIONでEmbeddedをクリックし各コンパイラ(XC8,XC16,XC32)をADD(追加)します。使うコンパイラだけでもOKです。

2.Project Propertiesを設定します。
カテゴリにはXC8のコンパイラがあるようにします。
FamillyはAll Famillies、Deviceは自分の使うPICの型式を、Hardware Toolは私の場合はPICkit3なので、PICkit3に設定します。

Categories:中の XC8のある方のconf:でPICkit3をクリックし Option categoriesはPowerを選びます。これで電圧がPICkit3に供給されるようになります。

//******************************************************************************
//Software License Agreement
//
//The software supplied herewith by Microchip Technology
//Incorporated (the "Company") is intended and supplied to you, the
//Company? customer, for use solely and exclusively on Microchip
//products. The software is owned by the Company and/or its supplier,
//and is protected under applicable copyright laws. All rights are
//reserved. Any use in violation of the foregoing restrictions may
//subject the user to criminal sanctions under applicable laws, as
//well as to civil liability for the breach of the terms and
//conditions of this license.
//
//THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTIES,
//WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED
//TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
//PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT,
//IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR
//CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
// *******************************************************************
// PICkit 3 PIC18F45K20 Lesson 1 - Hello_LED
//
// This lesson lights LEDs 0-7 in sequence, one at a time.
//
// *******************************************************************
// * See included documentation for Lesson instructions *
// *******************************************************************
/** C O N F I G U R A T I O N B I T S ******************************/
#pragma config FOSC = INTIO67, FCMEN = OFF, IESO = OFF // CONFIG1H
#pragma config PWRT = OFF, BOREN = SBORDIS, BORV = 30 // CONFIG2L
#pragma config WDTEN = OFF, WDTPS = 32768 // CONFIG2H
#pragma config MCLRE = OFF, LPT1OSC = OFF, PBADEN = ON, CCP2MX = PORTC//CONFIG3H
#pragma config STVREN = ON, LVP = OFF, XINST = OFF // CONFIG4L
#pragma config CP0 = OFF, CP1 = OFF, CP2 = OFF, CP3 = OFF // CONFIG5L
#pragma config CPB = OFF, CPD = OFF // CONFIG5H
#pragma config WRT0 = OFF, WRT1 = OFF, WRT2 = OFF, WRT3 = OFF // CONFIG6L
#pragma config WRTB = OFF, WRTC = OFF, WRTD = OFF // CONFIG6H
#pragma config EBTR0 = OFF, EBTR1 = OFF, EBTR2 = OFF, EBTR3 = OFF // CONFIG7L
#pragma config EBTRB = OFF // CONFIG7H
/** I N C L U D E S **************************************************/
#include "p18f45k20.h"
#include "plib/delays.h"
/** V A R I A B L E S *************************************************/
/** D E C L A R A T I O N S *******************************************/
void Delay1KTCYx(unsigned char);
void main (void)
{
// LED_Number = 0; // initialize
TRISD = 0b00000000; // PORTD bits 7:0 are all outputs (0)
while (1)
{
LATD = 0b01010101;
Delay1KTCYx(250);
LATD = 0b10101010;
Delay1KTCYx(250);
}
}
--------------------------------------------------------------------------------------------------------
このプログラムは偶数と奇数番目のLEDが交互に点灯、点滅します。
以上でPICを開発する環境が出来上がりました。実はやりたいことがあるので、今回のLinux上でのPIC開発環境を構築しました。何かは、秘密です。大したことじゃありません。それよりも、随分PICのプログラミングをしていなかったので、操作感覚がまだ戻っていません。まずは、Lessonのプログラムを思い出しながら動かしてハードウェアとソフトウェアに慣れなければという感じです。つづく