MPLAB C30とは?


【どんな物?】

MPLAB C30は、マイクロチップ社純正の16ビットファミリ用の「Cコンパイラ」です。
UNIXで昔から使われているgccコンパイラをベースにしていますので、完全なANSI規格
に順じており、さらに機能を追加しています。

このCコンパイラ本体とは別に内蔵モジュール用の専用関数もライブラリと
して用意されているため、効率よく16ビットファミリのプログラムを開発することが
できます。

製品版はちょっと価格が高いのが難点ですが、アマチュア用には、無償で使える
student Editiionがダウンロードできるようになっています。
これは機能的な制限は無く、インストールから60日経つと最適化機能のレベルが
下がるだけですので、私たちが使うレベルでは何も問題なく使えます。

【特徴】

 MPLAB C30コンパイラの特徴は下記となっています。
(1) ANSI C準拠
  ANSI C標準に準拠するとともに、これを拡張し、PIC24Fファミリの能力が最大に
  活かせるようになっています。

(2) 最適化
  Cのソースファイルからアセンブリ言語に変換する際、最も効率の良いコードとなるよう
  高度な最適化が実行されます。

(3) ANSI標準ライブラリを使用できる
  C30コンパイラには、完全なANSI C標準ライブラリが一緒に提供されています。
  したがって、文字列操作、メモリ操作、データ変換、数学関数群、ファイル操作関数を
  使うことができます。標準入出力関数には、低レベルファイル入出力関数も提供され
  ますので、PIC24Fファミリのシリアル通信機能を標準入出力デバイスとして直接使う
  ことができます。

(4) 柔軟なメモリモデル
  プログラムとデータいずれにもスモールモデルとラージモデルを指定できるようになって
  いますので、規模に応じた最適な構成として使うことができます。
  スモールコードモデルを使うと、プログラム空間を小さなものとして扱いますので、
  より効率的なプログラムを生成します。
  スモールデータモデルを使うと、データアクセスをコンパクトな命令で行いますので、
  より効率的サイズで高速な動作のプログラムを生成します。

(5) MPLAB IDEと統合できる
  コンパイラをMPLAB IDEの管理下で使うことができますので、コンパイラのコマンドなど
  まったく必要とせず、MPLAB IDEのプロジェクト管理の中で自動的にコンパイル作業を
  進めることができます。
  MPLAB IDEのインストールを先に行えば自動的にMPLAB IDEの管理下に統合される
  ようになっています。

【基本の開発環境】

 16ビットファミリのPICを使う場合も、プログラムの開発環境はこれまでの8ビットの環境
と全く同じです。基本の環境は下図のようになります。
 必要な開発用ソフトウェアは、MPLAB IDEとCコンパイラだけで、すべてフリーで整える
ことができます。
 MPLAB IDEがプログラム開発環境をすべて統括し、コンパイル作業は完全に自動化され
ますので、コンパイルボタンをおすだけです。
 MPLAB IDEのシミュレーション機能が強力ですので、パソコン上でデバッグをほぼ終わる
ことができます。
これ以外に唯一必要な道具はプログラマで、出来上がったプログラムをPICに書き込む
ために使います。
 お勧めのプログラマはMPLAB ICD2で、これ1台で8ビットから32ビットまですべてに
対応しますので是非揃えておきたい道具です。





【コンパイルの流れ】

 MPLAB C30でコンパイルする場合の流れは下図のようになります。
 まずC言語で記述されたソースファイル(拡張子.C)はC30コンパイラによりコンパイル
されて、アセンブリ言語ファイル(拡張子.S)に変換されます。
 このあとは、他のアセンブラ言語のプログラムと同じように、MPLAB IDE内蔵の
アセンブラでアセンブルされてオブジェクトファイル(拡張子.O)が生成されます。
 生成されたオブジェクトファイルは、あらかじめ用意されているライブラリ(拡張子.A)と
一緒にリンカーでリンクされて書き込み可能なバイナリファイル(拡張子.HEX)に変換
されます。
 同時にMPLAB IDEのシミュレータ用のバイナリファイル(拡張子.COF)も生成されます。
 これらの一連の流れは、MPLAB IDEのプロジェクトとして管理され、自動的に行われ
ますので、ユーザーは使用するソースファイルとライブラリファイル、リンカファイルを
指定するだけで良いようになっています。





   目次ページへ