Eclipse IDE for C/C++ Developers
![]()
C言語でのフリーなPIC開発環境としてSDCCとEclipse(3.2)環境を利用したいと思います。
もっと新しいEclipseでの設定は、 ->pic開発環境/Eclipse3.4
必要なもの
コンパイラ
SDCC - Small Device C Compiler
導入したのは最新版、sdcc-20080729-5199-setup.exe
アセンブラ
GNU PIC Utilities
導入したのは最新版、gputils-0.13.6.exe
Eclipse3.2/CDT3.1/SDCCプラグイン1.0
2008.7現在でSDCCプラグインに対応しているのはEclipse 3.1と書いてありますが
Eclipse for SDCCで3.2ベースのインストールの実績があるので、
3.2(CDT3.1)で試してみました。
Eclipse3.2のCDTバイナリパッケージは入手が困難になっているので、Eclipse3.2本体とCDTは別々にダウンロードします。
Eclipse3.2のダウンロード→http://archive.eclipse.org/eclipse/downloads/
CDT3.1.2のダウンロード→http://download.eclipse.org/tools/cdt/releases/callisto/dist/3.1.2/
SDCCプラグインのダウンロード→http://eclipse-sdcc.sourceforge.net/
インストール
コンパイル環境の設定
SDCCとGPUTILSはそれぞれインストールすると環境変数PATHにbinフォルダが追加されます。
コマンドプロンプトからsdcc.exeとgpasm.exe実行できればOKです。
Eclipseの設定
下記、開発手順の中で設定します。
開発手順
プロジェクト作成
New(新規作成)→C Project(C プロジェクト)で普通のCプロジェクトを作成します。プロジェクトタイプはMCS51 Family(SDCC)を選択します。
MCS51 Family(SDCC)が表示されていない場合はSDCCプラグインが正常に動作していません。
Advanced Settingでプロジェクトのビルド環境を設定できますが、ここでは後で設定します。
Managed Make C Projectで新しいプロジェクトを作成します。>File > New > Project… > C > Managed Make C Project

Select a type of projectで、MCS51 family(SDCC)を選択します。その他はデフォルトで大丈夫です。

C/C++プロジェクトに、SDCC/include/mcs51がインクルードされたプロジェクトが出来上がれば正常です。

プロジェクトの設定
少なくとも2か所の設定をする必要があるようです。
- Tool Settingsでコマンド引数とコマンドの設定
- Build Settingsで使用するビルダをInternal Builderに設定。
Tool Settings
コマンド引数の設定
SDCC CompilerとSDCC Linkerのコマンド引数に、-mpic14 -p16f88 -VのようにSDCCの必須引数を追加します。
引数の追加方法はいろいろありますが、てっとり早く動作確認する場合はコマンドに直接書いてしまったほうが早いでしょう。
sdcc [-c] [-V] -m(マイコン種別) -p(デバイス名)
必須オプション(SDCCのマニュアルを参照してください)
| -m | 14ビットコア(PIC16F):-mpic14 16ビットコア(PIC18F):-mpic16 |
| -p | PICの種類(デバイス名)を指定します。16F88の場合は-p16f88 |
| -V | 進行状況の詳しい表示(任意) |
「Relase」と「Debug」の2つのコンフィグレーションがデフォルトで存在しますので、すべて変更するのを忘れないように。
コマンドの設定
Build Settings
そのまま(External)だとmake -kで止まってしまうのでEnable Internal Builderにチェックを入れます。
gcc makeやSDCCプラグインに添付(ECLIPSE_HOME/plugins/net.sourceforge.eclipsesdcc.win32_1.0.0/os/win32/x86/)のmakeなどを使うことができれば、Externalでも実行できるかと思いますが・・・
ソースコード作成
ソースフォルダ作成
New(新規作成)→ Source Folder
C/C++ Projectビューに表示はされませんが、実際にはフォルダができています。
ソースコード作成
New(新規作成)→C Source(Cソース)
ソースフォルダは、先に作成したソースフォルダを指定します。
拡張子.cをつけないと警告が表示されて作成できません・・・
sample.c
ビルド(hexファイル作成)
プロジェクトをビルドすると、ReleaseないしDebugフォルダにXXXX.hexが出来上がります。
出来上がったhexファイルをライタで書き込んでください。
その他気をつけること
インクルードパス
デフォルトでPICライブラリへのSDCCのインクルードは<SDCCインストールフォルダ>/SDCC/includeとなっています。
個別に追加してもいいですが、ソースコードの中でPICデバイス用のフォルダ名(pic)も含めて指定すればそのまま参照できますのでその方がいいかと思います(Eclipseは環境作り直す時にめんどいので)。
#include <pic/pic16f88.h>
参考リンク
SDCC/GPUTIL
PICマイコン開発環境 PICマイコンのプログラム開発をオープンソースのCコンパイラで
SDCCの使い方
PIC Field~ フリーCコンパイラ SDCC を使おう (Windows編)~
フリーのCコンパイラ(SDCC)でPICを使おう (サンプルソースを拝借しました
)
C Programming with the Microchip PIC
Eclipse
Eclipse for SDCC
Getting started with SDCC +Eclipse
組込みプログラミングにEclipseを使う
連載記事「生産性向上への道 Eclipseで行うC/C++開発」
