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


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.


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


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)
 #Current Directory where Graphics SDK is installed
 #Android Specific
 #Path of Android Root FS
 #set toolchain root path for arm-eabi
 #set the kernel installation path

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 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.
shared library libGLESv2_POWERVR_SGX530_121.so -> /system/lib/egl/libGLESv2_POWERVR_SGX530_121.so.
shared library libglslcompiler.so -> /system/lib/libglslcompiler.so.
shared library libIMGegl.so -> /system/lib/libIMGegl.so.
shared library libEGL_POWERVR_SGX530_121.so -> /system/lib/egl/libEGL_POWERVR_SGX530_121.so.
shared library libpvr2d.so -> /system/lib/libpvr2d.so.
shared library libsrv_um.so -> /system/lib/libsrv_um.so.
shared library libPVRScopeServices.so -> /system/lib/libPVRScopeServices.so.
shared library gralloc.omap3.so -> /system/lib/hw/gralloc.omap3.so.
shared library libfakehal.so -> /system/lib/libfakehal.so.
shared library libpvrANDROID_WSEGL.so -> /system/lib/libpvrANDROID_WSEGL.so.
shared library libsfutil.so -> /system/lib/libsfutil.so.
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


Front page   Edit Freeze Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   RSS of recent changes
Last-modified: 2010-08-02 (Mon) 10:17:55 (5048d)