開発環境/linux/Ubuntu-9.10/Eclipse
Eclipse+CDT+PSPLink+GDBServerによる開発とデバック
前提として
がインストールされているものとします。
Eclipse CDTのインストール
Eclipse CDT(C/C++ Development Tooling)のインストール
sudo apt-get install Eclipse-cdt
関連パッケージも含めるとかなり大きいので時間がかかります。
…ですが、そのままだとEclipseのバージョンが古すぎてPSPアプリのデバックができないのでEclipse.org から最新版をダウンロードします。
ダウンロードページから
Eclipse IDE for C/C++ Developers をダウンロードして下さい
日本語化するために
ここから最新の日本語化言語パックを手に入れましょう。
(日本語化したくない人やPleiadesを使いたい人は各自それに適して読み進めて下さい)
最新のバージョン(2009年10月9日現在)は
- eclipse-cpp-galileo-SR1-linux-gtk.tar.gz
- NLpackja-eclipse-cpp-galileo-SR1-blancofw20091005.zip
でした。
インストールすべきEclipseフォルダを作成します。
tar -xvzf eclipse-cpp-galileo-SR1-linux-gtk.tar.gz
unzip NLpackja-eclipse-cpp-galileo-SR1-blancofw20091005.zip
これでEclipseフォルダができたので、これを旧Eclipseがインストールされている場所にコピーします。
sudo cp -r eclipse /usr/lib/
これで最新のEclipse CDTがインストールされました。
Eclipse CDTの設定
[ウィンドウ]-[設定]を選択
設定画面が開かれるので
[C/C++]-[環境]を選び、[選択]ボタンを押して、変数リストから「PATH」を選びます。
環境変数の欄に「PATH」が表示されるので-[編集]
値に
:/usr/local/pspdev/bin
を追加
[OK]-さらに[OK]を押して適用します。
Eclipseでのビルド
英語のままの人は気合で理解してください。
sample/gu/spriteを作成するとします。
spriteをmakeするにはguフォルダ内にあるcommonフォルダが必要なので
workspaceフォルダ内にcommonフォルダをコピー
[ファイル]-[新規]-[プロジェクト]を選択します。
[C/C++]-[C++ プロジェクト]-[次へ]
プロジェクト名 : sprite
[Makefile プロジェクト]-[空のプロジェクト]-[完了]
左の[C/C++ Projects]タブから
[sprite]を選択して右クリック-[インポート]
インポート画面が開くので
[一般]-[ファイルシステム]を選択し、ソース・ディレクトリーから
/usr/local/pspdev/psp/sdk/samples/gu/sprite
を選びます。
[sprite]フォルダがその下に表示されるのでチェック
(中のファイルが全てチェックされているか確かめる)
[終了]
spriteプロジェクトにファイルが追加されたのを確認します。
[プロジェクト]-[プロジェクトのビルド]
上手く行っていれば、これでEBOOT.PBPが生成されます
Eclipseでのデバッグ
デバックシンボルを設定するためにMakefileを変更します。
CFLAGS = -G0 -Wall -O2
を
CFLAGS = -g -G0 -Wall -O2
に変更して保存し、Eclipseのメニューで[プロジェクト]-[クリーン]で再ビルドします。
PSPLinkを使用するための準備をします。
cd ~/workspace/sprite/
alias sudo="sudo env PATH=$PATH"
sudo usbhostfs_pc
新しい端末を開いて
pcterm
するとhost0:/と表示されるので
debug ./sprite.elf
以下のように表示されれば成功です。
host0:/> PSPLink GDBServer (c) 2k6 TyRaNiD/Lovely2
GDBServer: Loaded host0:/sprite.elf - UID 0x017DA259 ←環境によって毎回異なる
Eclipseでデバックの設定をします。
[実行]-[デバックの構成]
[C/C++ Application]を選択
1)左側の[名前]に名前を入力します。
ここでは「PSPDGB」と入力します。
左下の方にある「その他の選択...」-「GDB Remoto System Process ランチャー」を選択します。
2)[メイン]タブの「プロジェクト」に「sprite」と入力し、
「C/C++ アプリケーション」に「sprite.elf」と入力します。
3)[デバッガー]タブの「デバッガー」ドロップダウンリストから
「gdbserver デバッガー」を選択します。
「始動で停止」の左側のチェックボックスをチェックします。
「Debugger Options」の「Main」タブのところで
「GDB デバッガー:」に
/usr/local/pspdev/bin/psp-gdb
と入力します。
この際「GDB コマンド・ファイル:」の「.gdbinit」を削除してください。
同じく「デバッガー・オプション」の「接続」タブのところで
「型」ドロップダウンリスト:「TCP」を選択
「ホスト名またはIPアドレス」:「localhost」と入力されているのを確認してください。
「ポート番号」:「10001」に修正してください。
「デバッグ」ダイアログの画面右下の「デバック」をクリックしてデバッグを開始します。
Eclipseがデバッグ画面に切り替われば設定は成功です。
後は自由にプログラミングを楽しんでください。
おまけ
PSPSDKのサンプルをいちいちmakeするのが面倒な人用。
sampleフォルダ直下に置いてmakeすると全てのサンプルをがつがつビルドしてくれるはずです。
コピペのときはTAB文字に注意してね。
#下位ディレクトリのMakefileを全てmakeする
#仕組み
:Makefileのフルパスを取得してディレクトリパスを返す→make -C /hoge/hoge
#ex
#./gu/blend/Makefile→./gu/blend/→make -C ./gu/blend/
#-mindepth 2 に注意!これが無かったら自分自身を呼び出してmake無限ループ
SUBDIRS = $(shell find -mindepth 2 -name Makefile | sed -e >"s/Makefile//")
all:
list='$(SUBDIRS)'; for subdir in $$list; do \
$(MAKE) --no-print-directory -C $$subdir || exit 1;\
done
clean:
list='$(SUBDIRS)'; for subdir in $$list; do \
$(MAKE) clean --no-print-directory -C $$subdir || exit 1;\
done
最終更新:2009年10月09日 22:25