IGEP GST FRAMEWORK 2.00.10
From IGEP - ISEE Wiki
Contents
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.