[[bc10/rowboat]]
- Contents
#contents

*Summary [#k4a1f835]
>
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:http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Install_the_Android_Graphics_SGX_SDK_on_Host_Machine]] and follows its direction.

*SGX and DSP integration. SGX [#r55532ac]
** OMAP35x_Android_Graphics_SDK [#pbc85596]
>
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 [#i5047331]
>
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 [#tba1d239]
>
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:http://processors.wiki.ti.com/index.php/GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software#How_to_check_for_SGX_core_revision]]. 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 [#se196c63]
>
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 [#e8fa64d2]
-SGX integration
--http://code.google.com/p/rowboat/wiki/ConfigureAndBuild#Install_the_Android_Graphics_SGX_SDK_on_Host_Machine
-Checking for SGX core revision
http://processors.wiki.ti.com/index.php/GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software#How_to_check_for_SGX_core_revision
--http://processors.wiki.ti.com/index.php/GSG:_AM35x_and_OMAP35x_Rebuilding_the_Software#How_to_check_for_SGX_core_revision

Front page   Edit Diff Backup Upload Copy Rename Reload   New List of pages Search Recent changes   RSS of recent changes