bc10/rowboat
Summary †
DSP stack has been added to rowboat-eclair-dsp so far. This section is working to integrate SGX and SGX SDK with
rowboat-sclair-dsp. This section is based upon this page and follows its direction.
SGX and DSP integration. SGX †
OMAP35x_Android_Graphics_SDK †
Execute the installer, and Install OMAP35x_Android_Graphics_SDK
$ cd ti_android_sgx_sdk
$ ./OMAP35x_Android_Graphics_SDK_setuplinux_3_01_00_03.bin
As the installer is executed, a GUI window open up, and it asks to proceed the installation. To select [Yes], the confirmation
process moves on . Click [Next], and the license agreement shows up. Accept the license agreement by selecting [y]. Then,
click [Next]. The window shifts, and asks the location that the SDK is installed. At the default, the location is descried below.
/home/beat/OMAP35x_Android_Graphics_SDK_3_01_00_03
If this location is fine, click [Next]. Caution, if an existing directory is selected, the new directory,
OMAP35x_Android_Graphics_SDK_3_01_00_03, is not automatically created, and the files are just installed.
The files listed below are installed.
$ cd /home/beat/OMAP35x_Android_Graphics_SDK_3_01_00_03
$ ls
ANDROID_RN_3_01_00_03.pdf GFX_Linux_SDK Rules.make gfx_rel_es3.x_android uninstall
ANDROID_RN_3_01_00_03.txt Makefile SGX_make_install.log gfx_rel_es5.x_android
GFX_Linux_KM Makefile.KM.Android gfx_rel_es2.x_android initrc.patch
Rules.make †
To bild SGX, Rules.make is need to be edit. In this process, kernel module, which is built with make install, is
placed in the certain directory. The directory is predetermined by droid rootfs. Please create android footfs before
process is carried on. The locations of SGX and rowboat build directory depend on individual setups.
$ diff -u Rules.make.orig Rules.make
--- Rules.make.orig 2010-07-01 22:43:02.469789971 +0900
+++ Rules.make 2010-07-01 22:48:07.125695990 +0900
@@ -4,20 +4,20 @@
################# FIELDS MODIFIABLE BY THE USER ###############################
#set home area HOME (relative location for all SDK operations)
-HOME=INVALIDVAL
+HOME=/home/beat/rowboat-eclair-dsp/out/target/product/beagleboard
#Current Directory where Graphics SDK is installed
-GRAPHICS_INSTALL_DIR=$(HOME)/OMAP35x_Android_Graphics_SDK_3_01_00_03
+GRAPHICS_INSTALL_DIR=/home/beat/OMAP35x_Android_Graphics_SDK_3_01_00_03
#Android Specific
#Path of Android Root FS
-ANDROID_ROOT=$(HOME)/INVALIDVAL
+ANDROID_ROOT=$(HOME)/android_rootfs
#set toolchain root path for arm-eabi
-CSTOOL_DIR=INVALIDVAL
+CSTOOL_DIR=/home/beat/OLD-rowboat-eclair-dsp/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0
CSTOOL_PREFIX=arm-eabi-
CSTOOL_PATH=$(CSTOOL_DIR)/bin
CSTOOL_LIBSTDC++_PATH=$(CSTOOL_DIR)/arm-none-linux-gnueabi/libc/usr/lib
#set the kernel installation path
-KERNEL_INSTALL_DIR=$(HOME)/INVALIDVAL
+KERNEL_INSTALL_DIR=/home/beat/rowboat-eclair-dsp/kernel
TARGETFS_INSTALL_DIR=$(ANDROID_ROOT)
GFX_TARGETFS_KERMOD_PATH=$(TARGETFS_INSTALL_DIR)/lib/modules/2.6.32
Revision Check and Build SGX core †
Execute the make command, kernel module is built.
Execute the make install command. At its option, identify the type of a processor and select the module for
the processor.
OMAP3530 ES 1or2 = 2.x
OMAP3530 ES3.0 = 3.x
AM3517 = 3.x
AM37x = 5.x
Since bc10 is a clone of BeagleBoard, please select 3.x. To confirm the settings, follow the direction listed on
this page. Start OpenEmbedded Linux, execute the devmem2 command, and check the revision of SGX core.
Since bc10 is equipped with OMAP 3530, this is how to examine the revision of SGX core.
./devmem2 0x48004B48 w 0x2
./devmem2 0x48004B10 w 0x1
./devmem2 0x48004B00 w 0x2
./devmem2 0x50000014 > sgxrevision.txt
Execute the commands above, it generates the output shown below.
/dev/mem opened.
Memory mapped at address 0x4001f000.
Value at address 0x50000014 (0x4001f014): 0x10201
This output (0x10201) indicates that the module should use here is for OMAp3530 ES3.0, and its version is 3.x.
This is the result of the executing make install command (including the option).
$ make install OMAPES=3.x
Installing PowerVR Consumer/Embedded DDK 1.5.15.2766 on host
File system installation root is /home/beat/rowboat-eclair-dsp/out/target/product/beagleboard/android_rootfs/
Nothing to un-install.
boot script rc.pvr -> /system/bin/sgx/rc.pvr
kernel module pvrsrvkm.ko -> /system/bin/sgx/pvrsrvkm.ko
kernel module omaplfb.ko -> /system/bin/sgx/omaplfb.ko
shared library libGLESv1_CM_POWERVR_SGX530_121.so -> /system/lib/egl/libGLESv1_CM_POWERVR_SGX530_121.so.1.1.15.2766
shared library libGLESv2_POWERVR_SGX530_121.so -> /system/lib/egl/libGLESv2_POWERVR_SGX530_121.so.1.1.15.2766
shared library libglslcompiler.so -> /system/lib/libglslcompiler.so.1.1.15.2766
shared library libIMGegl.so -> /system/lib/libIMGegl.so.1.1.15.2766
shared library libEGL_POWERVR_SGX530_121.so -> /system/lib/egl/libEGL_POWERVR_SGX530_121.so.1.1.15.2766
shared library libpvr2d.so -> /system/lib/libpvr2d.so.1.1.15.2766
shared library libsrv_um.so -> /system/lib/libsrv_um.so.1.1.15.2766
shared library libPVRScopeServices.so -> /system/lib/libPVRScopeServices.so.1.1.15.2766
shared library gralloc.omap3.so -> /system/lib/hw/gralloc.omap3.so.1.1.15.2766
shared library libfakehal.so -> /system/lib/libfakehal.so.1.1.15.2766
shared library libpvrANDROID_WSEGL.so -> /system/lib/libpvrANDROID_WSEGL.so.1.1.15.2766
shared library libsfutil.so -> /system/lib/libsfutil.so.1.1.15.2766
binary pvrsrvinit -> /system/bin/pvrsrvinit
binary sgx_init_test -> /system/bin/sgx_init_test
binary gles2test1 -> /system/bin/gles2test1
shader glsltest1_vertshader.txt -> /system/bin/glsltest1_vertshader.txt
shader glsltest1_fragshaderA.txt -> /system/bin/glsltest1_fragshaderA.txt
shader glsltest1_fragshaderB.txt -> /system/bin/glsltest1_fragshaderB.txt
binary gles1test1 -> /system/bin/gles1test1
binary services_test -> /system/bin/services_test
binary sgx_blit_test -> /system/bin/sgx_blit_test
binary sgx_flip_test -> /system/bin/sgx_flip_test
binary sgx_render_flip_test -> /system/bin/sgx_render_flip_test
binary pvr2d_test -> /system/bin/pvr2d_test
binary eglinfo -> /system/bin/eglinfo
binary hal_client_test -> /system/bin/hal_client_test
binary hal_server_test -> /system/bin/hal_server_test
binary framebuffer_test -> /system/bin/framebuffer_test
binary texture_benchmark -> /system/bin/texture_benchmark
binary xmultiegltest -> /system/bin/xmultiegltest
Installation complete!
Configuring initrc for PowerVR SGX †
To utilize PowerVR SGX on android, the configuration for the service is required. Use initrc.patch, which is located
in ~/OMAP35x_Android_Graphics_3_01_00_03/.
$ cd ~/rowboat-eclair-dsp/out/target/product/beagleboard/android_rootfs
$ patch -p1 -b < ~/OMAP35x_Android_Graphics_SDK_3_01_00_03/initrc.patch
android_rootfs is ready for use. Make android_rootfs archive for placing the bootable SD card.
$ cd ~/rowboat-eclair-dsp/out/target/product/beagleboard
$ sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2
Reference †
- SGX integration
- Checking for SGX core revision