MatsuLab. Lecture Note/sougouenshu2006/3rdround
本授業では、ポータルノードにて CellBE 用のアプリケーションをクロスコンパイルし、出来たバイナリを CellBE ノードに転送して実行します
コンパイラはポータルノードの /opt/sce/toolchain-3.2 以下にあり、使用するCPUの種類によって違うものを利用します。
|ppu-gcc: PPU で実行するプログラムのためのコンパイラです。64bit用にコンパイルされています。実際に使用するときは IBM PowerPC 用のライブラリ、ヘッダのパスを指定し -m32 パラメータを利用する必要が有るようです。
ppu-gcc ファイル名 -I/opt/IBM/cell-sdk-1.1/sysroot/usr/include -L/opt/IBM/cell-sdk-1.1/sysroot/usr/lib -m32
|spu-gcc: SPU で実行するプログラムのためのコンパイラです。SPU 用のヘッダパスが必要です
spu-gcc ファイル名 -I${SCRROOT}/spu/lib/gcc/spu/4.0.2/include
以上を理解した上で…以下のシェルスクリプトを使って通常のgccと同じようにコンパイルできます。中身は上に書いてあることがそのまま反映されています
|pgcc: PPU で実行するプログラムのためのコンパイラ、以下でコンパイル可能。
pgcc ファイル名 (+ 必要なら -o 作成ファイル名や -O などの最適化オプション)
|sgcc: SPU で実行するプログラムのためのコンパイラ、以下でコンパイル可能。
sgcc ファイル名 (+ 必要なら -o 作成ファイル名や -O などの最適化オプション)