IGEP GST FRAMEWORK 2.00.10

From IGEP - ISEE Wiki

Jump to: navigation, search

What is?

IGEP gst framework it's based on TI DVSDK. It's modified for provide all DSP essential packages  and the gstreamer DSP plugin for use it in IGEP platforms.


Changes From 1.00.01

  • Upate directory structure, now it's more similar to TI dvsdk.
  • Added git information.
  • Upgrade Codec Engine package to 2.25.05.16 from 2.25.01.06
  • Upgrade DMAI package to 2.05.00.21 from unstable 2xx branch.
  • Upgrade DSPLink to 1.65.00.02 from 1.64.
  • Upgrade EDMA to 1.11.01.04 from 1.11.00.02.
  • Upgrade Framework components to 2.25.03.07 from 2.25.01.05.
  • Upgrade GST plugin to SVN Revision 808 from version 1.01.00.
  • Upgrade linux util package to 2.25.04.10 from 2.25.01.06.
  • Upgrade local power manager to 1.24.02.09 from 1.24.01.
  • Upgrade xdais to 6.25.02.11 from 6.25.01.08.
  • Added Codec Server 1.00.00.
  • Added the directory tools.
  • Added the xdctools and bios package, now it's not necessary download and install it.
  • Added the TI cg6x_7_0_1 code generation tools.
  • Update the Memory map now linux should be configured for use max 430 MBytes.
  • Included a Memory map file.
  • Support for ISEE kernel 2.6.33.xx and TI Arago project kernel 2.6.32.

Enviroment Changes

  • Upgrade the host machine to Ubuntu 10.04 LTS.
  • Code Generation tools it's now included inside the directory tools.


Dependences

  • ISEE Toolchain poky-eabi-glibc-i586-arm-toolchain-sdk-3.2.1.tar.bz2
  • TI Code generation tools version 7.0.1 (included inside tools directory)
  • Linux kernel 2.6.33.x from ISEE git repository or TI Arago Linux Kernel 2.6.32.
  • Ubuntu 10.04 LTS.
  • Automake 1.7 and Libtool.
  • SDK: alsa-dev_1.0.20-r1_armv7a.ipk (DMAI dependence) Download from here.


Prepare the Enviroment

Untar the file cg6x_7_0_1.bz2 (located in tools/code_generation_tools/) in the /usr/local/ti directory if it not exist first you should create it.

>>sudo mkdir /usr/local/ti

>>cd /usr/local/ti

>>sudo tar xvfj  cg6x_7_0_1.bz2

If it's necessary add read permissions to all files:

>> sudo chmod a+r /usr/local/ti/cg6x_7_0_1

It's a requisite configure your kernel properly for build this package:

source /usr/local/poky/eabi-glibc/environment-setup-arm-none-linux-gnueabi
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- igep0020_defconfig


How to Build

You should edit the file Rules.make for edit the package path, linux kernel  and toolchain location:


Rules.make ----

# Define target platform.
PLATFORM=omap3530

WORKSPACE=/media/VERBATIM_Linux/mcaro/Portatil_Backup/workspace

# The installation directory of the DVSDK.
DVSDK_INSTALL_DIR=$(WORKSPACE)/myigep/igep-dsp-framework

# For backwards compatibility
DVEVM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)

# Where DSP/BIOS is installed.
BIOS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/tools/bios/bios_5_41_04_18

# Where the DSPBIOS Utils package is installed.
BIOSUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/biosutils_1_02_02

# Where the Codec Engine package is installed.
CE_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/codec_engine_2_25_05_16

# Where the TI C6x codegen tool is installed.
TI_TOOLS_PREFIX=/usr/local/ti

CODEGEN_INSTALL_DIR=$(TI_TOOLS_PREFIX)/cg6x_7_0_1

# Where the DSP Link package is installed.
LINK_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dsplink_linux_1_65_00_02

# Where DMAI package is installed.
DMAI_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dmai_2_05_00_21/dmai

# Where the DVSDK demos are installed
DEMO_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dvsdk_demos_3_01_00_13

# Where the DVTB package is installed.
DVTB_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/dvtb_4_20_05

# Where the EDMA3 LLD package is installed.
EDMA3_LLD_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/edma3_lld_01_11_01_04

# Where the Framework Components package is installed.
FC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/framework_components_2_25_03_07

# Where the linuxlibs package is installed.
#LINUXLIBS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linuxlibs_3_01

# Where the MFC Linux Utils package is installed.
LINUXUTILS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/linuxutils_2_25_04_10
CMEM_INSTALL_DIR=$(LINUXUTILS_INSTALL_DIR)

# Where the local power manager package is installed.
LPM_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/local_power_manager_linux_1_24_02_09

ifeq ($(PLATFORM),omap3530)
# Where the cs1omap3530 codec server package is installed.
CODEC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/ms1omap3530_1_00_00
endif

# Where the XDAIS package is installed.
XDAIS_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/xdais_6_25_02_11

# Where the RTSC tools package is installed.
XDC_INSTALL_DIR=$(DVSDK_INSTALL_DIR)/tools/xdctools/xdctools_3_16_04_39

# The directory that points to codec engine example
USER_XDC_PATH=$(CE_INSTALL_DIR)/examples

# The directory that points to your OMAP35xx SDK installation directory.
OMAP3503_SDK_INSTALL_DIR=$(WORKSPACE)/myigep

# Gstreamer Plugin
GST_OMAP3530_PLUGIN_DIR=$(DVSDK_INSTALL_DIR)/gst-ti/gstreamer_ti/ti_build
GSTREAMER_DIR=/usr/include/gstreamer-0.10

# The directory that points to your kernel source directory.
LINUXKERNEL_INSTALL_DIR=$(OMAP3503_SDK_INSTALL_DIR)/linux-kernel/linux-omap-2.6

# The directory that points to your U-boot source directory.
UBOOT_INSTALL_DIR=$(OMAP3503_SDK_INSTALL_DIR)/src/u-boot/u-boot-03.00.01.06

# The prefix to be added before the GNU compiler tools (optionally including # path), i.e. "arm-none-linux-gnueabi-" or "/opt/bin/arm-none-linux-gnueabi-".
CSTOOL_DIR=/usr/local/poky/eabi-glibc
CSTOOL_PREFIX=$(CSTOOL_DIR)/bin/arm-none-linux-gnueabi-

MVTOOL_DIR=$(CSTOOL_DIR)
MVTOOL_PREFIX=$(CSTOOL_PREFIX)

# Where to copy the resulting executables
EXEC_DIR=$(DVSDK_INSTALL_DIR)/target

# Where the linuxlibs package is installed.
LINUXLIBS_INSTALL_DIR=$(CSTOOL_DIR)/arm-none-linux-gnueabi/usr


You have two options: build all or every package individually.

a) All packages

make

b) One package

make <package_name>

make dmai

make gst

make dsplink

For clean the build you should execute:

make clean

or

make <package_name>_clean

such:

make dmai_clean

make dsplink_clean

make gst_clean

Install

Copy the "target" directory inside your IGEP board.

Inside IGEPv2 board you should copy the gst plugin inside the plugins directory, normally inside /usr/lib/gstreamer-0.10

We included some files for configure, load and unload the kernel modules as loadmodules.sh and unloadmodules.sh

You should call the loadmodules.sh script before you can execute gstreamer.


Uboot Setup

You should configure the max kernel memory to 430MBytes for do it you should pass the variable mem=430M to the kernel.


Download

The package be available in the IGEPv2 download area.

https://www.isee.biz/support/downloads/item/igep-dsp-gst-framework?category_id=81

Issues detected in this version

  • The package binaries included in this version be compiled for TI Arago Kernel 2.6.32.
  • Press Control+C when video plays hangs the DSPLink module kernel and the board should be restarted.
  • Audio and Video are not properly syncronized if the audio sampling rate it's different than 48Khz. 
  • This version be not compatible with kernels over 2.6.33 due compile issues.
  • The path file cannot contain any "." dot due a xdctools BUG.
  • make clean (dsplink) not work properly and it's necessary to do a make dsplink_clean for ensure all it's compiled correctly.