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
Last-modified: 2007-01-09 (火) 17:58:57 (3938d)