CI20でPowerVR SDKを試す

2015年2月21日土曜日

小型コンピュータ

t f B! P L
MIPS Creator CI20でPowerVR SDKのサンプルを実行した時の手順のメモです。 最初はPCのLinux上でクロスコンパイルを行ってCI20で実行しようと思っていたのですが、今回はCI20上でコンパイルと実行を行っています。

手順の概要

1.PowerVR SDKをインストールする 2.SDKディレクトリをCI20にコピーする 3.環境設定 4.サンプルのコンパイル 5.サンプルの実行

1.PowerVR SDKをインストールする

Imagination CommunityのサイトからPowerVR SDKをインストールします。プラットフォームはMacOS X/Windows/Linuxのようです。僕はPC Ubuntuにインストールを行いました。 http://community.imgtec.com/developers/powervr/graphics-sdk/

2.SDKディレクトリをCI20にコピーする

インストールされたPowerVR SDKのデータのうち、SDKディレクトリ以下をtarなどでアーカイブします。
#pwd
/opt/Imagination/PowerVR_Graphics/PowerVR_SDK
#ls
SDK_3.4  WebGL_SDK_3.4
#tar cvzf SDK_3.4.tgz SDK_3.4
#ls
SDK_3.4  SDK_3.4.tgz  WebGL_SDK_3.4
ここまでがPC上の処理です。以降はCI20上の処理になります。

3.環境設定

SDKディレクトリのデータSDK_3.4.tgzをCI20の適当なディレクトリ展開します。次にmakeファイルの修正と環境変数の設定を行います。

makeファイルの修正

クロスコンパイルを行わないので、makeファイルを修正してコンパイラの指定を変更します。具体的には、Builds/Linux/mips_32/platform.makを開いてCROSS_COMPILEに設定されているmips-linux-gnu-を削除します。
#CROSS_COMPILE ?= mips-linux-gnu-
CROSS_COMPILE ?=

ifdef TOOLCHAIN
PLAT_CC  = $(TOOLCHAIN)/bin/$(CROSS_COMPILE)gcc
 :

環境変数の設定

PLATFORM環境変数にmips_32を設定します。今回は、XWindows上で動作するサンプルを生成したのでX11BUILD環境変数に1を設定しています。X11BUILDが設定されていない場合には、コンソール上で動作するサンプルが生成されるようです。
ci20@ci20:~$export PLATFORM=mips_32
ci20@ci20:~$export X11BUILD=1
ci20@ci20:~$export X11ROOT=/usr

4.サンプルのコンパイル

Examplesディレクトリのプロジェクトをコンパイルします。コンパイルを行うには、各プロジェクトのサブディレクトリOGLESx/Build/LinuxGenericに移動してからmakeを実行します。次の例では、AdvancedサンプルのSkybox2をコンパイルしています。
ci20@ci20:~$cd ~/SDK_3.4/Examples/Advanced/Skybox2/OGLES2/Build/LinuxGeneric$
ci20@ci20:~/SDK_3.4/Examples/Advanced/Skybox2/OGLES2/Build/LinuxGeneric$make 
g++ -o ../mips_32/ReleaseX11/OGLES2Skybox2 ../mips_32/ReleaseX11/OGLES2Skybox2.o ../mips_32/ReleaseX11/Balloon.o ../mips_32/ReleaseX11/Balloon_pvr.o ../mips_32/ReleaseX11/Noise.o ../mips_32/ReleaseX11/Skybox.o ../mips_32/ReleaseX11/SkyboxMidnight.o ../mips_32/ReleaseX11/effects.o ../mips_32/ReleaseX11/Scene.o ../mips_32/ReleaseX11/PVRShell.o ../mips_32/ReleaseX11/PVRShellAPI.o ../mips_32/ReleaseX11/PVRShellOS.o  -march=mips32r2 -mabi=32 -EL -L/usr/lib -lX11 -lXau -lGLESv2 -lEGL -L/home/ci20/SDK_3.4/Tools/OGLES2/Build/LinuxGeneric/../mips_32/ReleaseX11 -logles2tools -L"/home/ci20/SDK_3.4/Builds/Linux/mips_32/Lib" -Wl,--rpath-link,"/home/ci20/SDK_3.4/Builds/Linux/mips_32/Lib"
ci20@ci20:~/SDK_3.4/Examples/Advanced/Skybox2/OGLES2/Build

5.実行

コンパイルを行うと、LinuxGenericの一つ上の階層にmips_32/ReleaseX11というディレクトリが生成され、そこに実行ファイルが格納されます。この例の場合、OGLES2Skybox2という実行ファイルが生成されます。ターミナルからOGLES2Skybox2を実行すると、XWindow上でサンプルが起動します。

Skybox2

このブログを検索

QooQ