やはり、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を起動します。
イメージ 1
メニューに上記のアイコンができます。クリックして起動します。私はPICkit 3を使用しますので、USB端子に差し込みます。必ず起動後に以下のPICkit3をつなぎ認識させます。
(注意ですが、USBタイプのRS-232C等、USB他のケーブルは全部外しておきます。私の場合はRS-232C-USBケーブルが付いているとPICkit3を認識しませんでしたので!)

あとは、MPLABXの設定です。以下の設定でコンパイラがMPLABX上で動くようになります。
1.TOOL->OPTIONでEmbeddedをクリックし各コンパイラ(XC8,XC16,XC32)をADD(追加)します。使うコンパイラだけでもOKです。

イメージ 2

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

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

イメージ 4
上記設定で下記の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が交互に点灯、点滅します。
また、インクルードファイルのdelays.hは通常のインクルードファイル上にはありませんので、インクルードファイルのあるplibフォルダ階層のplib/をつけて、 #include "plib/delays.h" とすることでエラーが消えてエラーなしのコンパイルが可能となります。

以上でPICを開発する環境が出来上がりました。実はやりたいことがあるので、今回のLinux上でのPIC開発環境を構築しました。何かは、秘密です。大したことじゃありません。それよりも、随分PICのプログラミングをしていなかったので、操作感覚がまだ戻っていません。まずは、Lessonのプログラムを思い出しながら動かしてハードウェアとソフトウェアに慣れなければという感じです。つづく