[[MatsuLab. Lecture Note/sougouenshu2006/3rdround]]

*クロスコンパイル [#l6ecf3e9]
本授業では、ポータルノードにて CellBE 用のアプリケーションをクロスコンパイルし、出来たバイナリを CellBE ノードに転送して実行します

**コンパイラ [#tf7f5574]
コンパイラはポータルノードの /opt/sce/toolchain-3.2 以下にあり、使用するCPUの種類によって違うものを利用します。

|ppu-gcc: PPU で実行するプログラムのためのコンパイラです。64bit用にコンパイルされています。実際に使用するときは IBM PowerPC 用のライブラリ、ヘッダのパスを指定し -m32 パラメータを利用する必要が有るようです。
: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| SPU で実行するプログラムのためのコンパイラです。SPU 用のヘッダパスが必要です
 spu-gcc ファイル名 -I${SCRROOT}/spu/lib/gcc/spu/4.0.2/include

以上を理解した上で…以下のシェルスクリプトを使って通常のgccと同じようにコンパイルできます。中身は上に書いてあることがそのまま反映されています

|pgcc: PPU で実行するプログラムのためのコンパイラ、以下でコンパイル可能。
:pgcc| PPU で実行するプログラムのためのコンパイラ、以下でコンパイル可能。
 pgcc ファイル名 (+ 必要なら -o 作成ファイル名や -O などの最適化オプション)
|sgcc: SPU で実行するプログラムのためのコンパイラ、以下でコンパイル可能。
:sgcc| SPU で実行するプログラムのためのコンパイラ、以下でコンパイル可能。
 sgcc ファイル名 (+ 必要なら -o 作成ファイル名や -O などの最適化オプション)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS