プログラミング環境
MPLAB X IDEによるPICマイコンのプログラミング環境(C言語)について紹介します。
2018年3月に、PICkit3の後継機となるPICkit4が発表されました。詳しくは「付録1.MPLAB PICkit4」で紹介しています。
2-2-1.基本となる環境
図2-2-1-1は、PICマイコンの基本となるプログラミング環境(C言語)です。この環境で、8ビット・16ビット・32ビットすべてのPICマイコンのプログラミングが行えます。開発に必要なソフトウェアは、マイクロチップテクノロジー社のホームページから、無料でダウンロードできます。(有料のエディションについては後述します。)
このプログラミング環境を構成するハードウェアは次の通りです。
- パソコン(Windows・macOS・Linux)
- PICkit3インサーキットデバッガー
- パソコンとPICkit3をつなぐUSBケーブル
このプログラミング環境を構成するソフトウェアは次の通りです。
- MPLAB X IDE(統合開発環境)
- MPLAB XC8(8ビット用Cコンパイラー)
- MPLAB XC16(16ビット用Cコンパイラー)
- MPLAB XC32(32ビット用Cコンパイラー)
- MPLAB XC32++(32ビット用C++コンパイラー)
2-2-2.ハードウェアの構成
パソコン
PICマイコンのプログラミング環境には、統合開発環境などのソフトウェアをインストールするパソコンが必要です。現在、これらのソフトウェアは、Windows・Mac・Linuxで動作し、サポートされているバージョンはそれぞれ次のようになっています。Linuxにおいては、非公式ながらほとんどのディストリビューションで動作するようです。
Windows | Windows 7・8・10 |
---|---|
Mac | Mac OS X 10.7.3 以降 |
Linux | Ubuntu 9.10 以降 |
PICkit3インサーキットデバッガー
プログラムをPICマイコンへ書き込むために必要なハードウェアツールです。PICkit3の他に、MPLAB ICD3インサーキットデバッガー・MPLAB REAL ICEインサーキットエミュレーターなどがマイクロチックテクノロジー社から販売されています。表2-2-2-2は、ハードウェアツールの比較表です。ここでは、最も簡易で安価なPICkit3を使用しますが、使用目的に応じて、必要なハードウェアツールを選択してください。
2.2 ツールの比較 - 下表に示すように、MPLAB ICD 3インサーキットデバッガシステムはMicrochip社の他のデバッグツールとは物理的および動作的に異なります。
MPLAB ICD 3 インサーキットデバッガユーザガイド - DS50002081B_JP (Page.14)
機能 | MPLAB REAL ICE | MPLAB ICD3 | PICkit3 |
---|---|---|---|
USBスピード | ハイスピード・フルスピード | ハイスピード・フルスピード | フルスピードのみ |
USBドライバー | Microchip | Microchip | HID |
USBバスパワー | ○ | ○ | ○ |
ターゲットへの給電 | × | ○ | ○ |
プログラマブルVPP/VDD | ○ | ○ | ○ |
ターゲットVddからのドレイン電流 | <50μA | <50μA | 20mA |
過電圧・過電流保護 | ○(ハードウェア) | ○(ハードウェア) | ○(ソフトウェア) |
デバイスエミュレーション | フルスピード | フルスピード | フルスピード |
ハードウェアブレークポイント | 複合 | 複合 | 単体 |
ストップウォッチ | ○ | ○ | ○ |
ソフトウェアブレークポイント | ○ | ○ | × |
プログラムイメージ | × | × | 512KB |
シリアライズドUSB | ○ | ○ | ○ |
トレース | ○ | × | × |
データーキャプチャー | ○ | × | × |
ロジックプローブトリガー | ○ | × | × |
高速・LVDS接続 | ○ | × | × |
量産プログラマー | ○ | ○ | × |
PICkit3は、PICマイコンを基板に実装したままでプログラムを書き込むことができるICSP(In-circuit serial programming)という方式を採用しています。基板上の回路が、ICSPに対応していれば、基板からPICマイコンを取り外さなくてもプログラムを書き込めます。
基板上の回路が、ICSPに対応していない場合は、別途PICマイコンにプログラムを書き込むための専用装置が必要です。簡単な回路なので自作するか、市販の装置を使います。以下は、秋月電子通商で販売されているICSP対応の書き込みアダプター(通販コード:K-05355)です。8ピンから40ピンまでのPICマイコンに対応しています。プログラムを書き込むには、PICマイコンを基板から取り外します。
Pickit対応ICSP書き込みアダプターキット - マイクロチップ社製のPickit2、PICkit3をはじめとしたICSP対応の書き込み機と接続して使用する書き込み用変換アダプターのキットです。
秋月電子通商 (通販コード:K-05355)
2018年3月に、PICkit3の後継機となるPICkit4が発表されました。詳しくは「付録1.MPLAB PICkit4」で紹介しています。
USBケーブル
パソコンとPICkit3インサーキットデバッガーを接続するためのUSBケーブルです。
2-2-3.ソフトウェアの構成
MPLAB X IDE(統合開発環境)
MPLAB X IDEは、PICマイコン向けのアプリケーション開発用ソフトウェアです。この開発用ソフトウェアは、統合開発環境と呼ばれ、プログラミングに必要な機能が一つに統合された環境を提供します。MPLAB X IDEによって提供される主な機能は次の通りです。
- プログラマ用テキストエディター
- プロジェクトマネージャー
- アセンブラ・リンカーパッケージ
- デバッガーエンジン
- ソフトウェアシミュレーター
MPLAB X IDEは、マイクロチップテクノロジー社のホームページから無料でダウンロードすることができます。
なお、MPLAB X IDEには、あらかじめアセンブラが同梱されていますが、Cコンパイラーは含まれていません。C言語による開発には、別途Cコンパイラーのダウンロードが必要です。
MPLAB XC8(8ビット用Cコンパイラー)
MPLAB XC8は、マイクロチップテクノロジー社によって提供される純正のCコンパイラーで、8ビット(PIC10/12/16/18)のPICマイコン用です。インストールすると、MPLAB X IDEに統合されます。
MPLAB XC8は、マイクロチップテクノロジー社のホームページからダウンロードすることができます。
MPLAB XCコンパイラー(マイクロチップテクノロジー社)
MPLAB XC8には、無料のFreeエディション、有料のStandardエディション・Proエディションの3種類あります。Freeエディションは、使用期間・メモリ使用量・商用での利用には制限ありませんが、コードの最適化は行われません。Standardエディションは、Freeエディションと比べて20~25%高くコードが最適化されます。Proエディションは、50%で最も効率的にメモリ使用量が削減されます。
なお、Freeエディションには、Proエディションと同じ機能が60日間試用できるオプションがあります。必要になった時点から試用を開始して、60日経過後にはFreeエディションに戻ります。
MPLAB XC16(16ビット用Cコンパイラー)
16ビット(PIC24/dsPIC)のPICマイコン用Cコンパイラーです。マイクロチップテクノロジー社のホームページからダウンロードすることができます。エディションは、MPLAB XC8と同じです。
MPLAB XCコンパイラー(マイクロチップテクノロジー社)
MPLAB XC32(32ビット用Cコンパイラー)
32ビット(PIC32)のPICマイコン用Cコンパイラーです。マイクロチップテクノロジー社のホームページからダウンロードすることができます。エディションは、MPLAB XC8と同じです。
MPLAB XCコンパイラー(マイクロチップテクノロジー社)
MPLAB XC32++(32ビット用C++コンパイラー)
MPLAB XC32++は、ANSI標準(C++98・C++2003)に準拠した、32ビット(PIC32)のPICマイコン用C++コンパイラーです。
PICマイコン関連のおすすめ品
月刊トランジスタ技術10年分(2001年~2010年)の記事をまとめた一冊。
PICマイコン製作記事全集[1500頁収録CD-ROM付き]月刊トランジスタ技術10年分(2001-2010)から集大成(アーカイブスシリーズ)
- 著 者
- トランジスタ技術編集部
- 出版社
- CQ出版
- 発売日
- 2014/04/12
PIC16F1ファミリのアーキテクチャ、新しい開発環境であるMPLAB IDE Xの使い方、C言語によるPICのファームウェア開発方法、内蔵モジュールの使い方と具体的な製作例などについて詳細に解説しています。
dsPICとは、16ビットマイコンにDSP機能を組み込んだプロセッサです。内蔵モジュールの使い方やDSP機能の使い方、C言語によるプログラミング方法など、dsPICを使いこなす上で必要となる情報を詳しく解説しています。
PIC16F1827を使用した、赤・緑・青・黄のLED27個を円柱状に光らせる3Dイルミネーションキットです。PIC16F1827のプログラムは書き換えが可能で、C言語によるプログラミングが学習できます。詳しいマニュアルは株式会社イーケイジャパンよりダウンロードできます。
エレキット ピカ・タワー AW-864
エレキットのアートする電子工作シリーズ。 LED(発光ダイオード)を使用した3Dイルミネーションキットです。LEDは赤・緑・青・黄の4色、全部で27個使用して、円柱状に配置したLEDを光らせます。