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 などの最適化オプション)

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS