Changes

DMAI GStreamer Plug-In Getting Started Guide

37,831 bytes added, 23:55, 17 December 2010
Created page with 'This section collects information from a variety of places to simplify obtaining, building, and running a gst-ti-dmai gstreamer pipeline. Information on the full documentation is…'
This section collects information from a variety of places to simplify obtaining, building, and running a gst-ti-dmai gstreamer pipeline. Information on the full documentation is provided, along with greatly simplified steps. You can access the existing detailed instructions contained in the [http://omapzoom.org/gf/project/gstreamer_ti/scmsvn/?action=browse&path=%2Ftrunk%2Fgstreamer_ti%2FREADME.TXT&view=markup README.TXT] file. Overview

The major steps to go from nothing to hardware accelerated GStreamer running on your target hardware include:

*Configuring host PC
*Getting the target software
*Installing target software
*Building the libraries and tools
*Transferring code to the target hardware
*Running test pipelines
*Creating your first GStreamer application
*Resolving common problems

Common steps are described below, with each processor having its own wiki page. Please enhance the wiki as you are following these steps to make it easier for the next person.

== Configuring host PC ==

The software for the target device is cross-compiled, meaning you run the compiler on a host computer (typically x86 based host processor) with the compiler generating code for the target hardware (ARM target processor). The host PC configuration steps install the necessary tools to allow you to retrieve the source code, build the target applications and libraries, and get the needed components on the target hardware so you can run hardware accelerated GStreamer.

Each Linux distribution has a unique way installing the packages needed to use the host computer for cross-compilation. If your Linux distribution isn't listed below, please add it.

* [[Linux Host Configuration - Redhat| RHEL4 host system]]
* [[Linux Host Configuration - Ubuntu| Ubuntu 9.04 host system]]


==== Cross-compile toolchain ====

Choose the appropriate toolchain based on your target processor:

{| border="1"
|-
! Target processor
! Toolchain
|-
| DM355
| [http://www.codesourcery.com/sgpp/lite/arm/portal/release858 CS 2009q1 ARM GNU/Linux for host iA32 GNU/Linux]
|-
| DM365
| [http://www.codesourcery.com/sgpp/lite/arm/portal/release858 CS 2009q1 ARM GNU/Linux for host iA32 GNU/Linux]
|-
| DM6446
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest/exports/mvl_5_0_0801921_demo_sys_setuplinux.bin MV arm_v5t_le-]
|-
| DM6467
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest/exports/mvl_5_0_0801921_demo_sys_setuplinux.bin MV arm_v5t_le-]
|-
| DM6467T
| [http://www.codesourcery.com/sgpp/lite/arm/portal/release858 CS 2009q1 ARM GNU/Linux for host iA32 GNU/Linux]
|-
| OMAP35xx
| [http://www.codesourcery.com/gnu_toolchains/arm/releases/2008q1 CS 2008q1 ARM GNU/Linux for host iA32 GNU/Linux]
|}

=== MV toolchain installation ===

If your target hardware build requires the MV toolchain, install as follows:

<pre>
chmod ugo+x mvl_5_0_0801921_demo_sys_setuplinux.bin
chmod ugo+rwx /opt # this might make some system administrators nervous
./mvl_5_0_0801921_demo_sys_setuplinux.bin --mode console --prefix /opt/mv_pro_5.0
cd /opt/mv_pro_5.0
sudo tar -xzf mvltools5_0_0801921_update.tar.gz # super user privileges needed for device files in the target file system
</pre>


=== CS 2008q1 toolchain installation ===

Detailed instructions at [[GSG: OMAP35x DVEVM Software Setup#Installing_the_toolchain]]

<pre>
mkdir -p $HOME/toolchain
cd $HOME/toolchain
tar -jxf /opt/images/arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
</pre>

=== CS 2009q1 toolchain installation ===

Detailed instructions at [[Installing CodeSourcery Toolchain]]

<pre>
cd /opt
sudo tar -xjf /tmp/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
</pre>

== DMAI GStreamer source code ==

Download the [https://gstreamer.ti.com/gf/project/gstreamer_ti/frs/ latest released gst-dmai source code]. If you want to use the latest SVN code, then

<pre>
svn checkout --username anonymous --password "" https://gstreamer.ti.com/svn/gstreamer_ti/trunk/gstreamer_ti $HOME/gstreamer_ti
</pre>

You need to unpack the gst-dmai source code tarball in the correct directory:

<pre>cd $HOME
tar -xzf /tmp/gst-ti-plugin-full-*.tar.gz
</pre>

if you want to use the latest (not released) gst-dmai source code:

<pre>
cd $HOME
svn checkout --username anonymous --password "" https://gstreamer.ti.com/svn/gstreamer_ti/trunk/gstreamer_ti gstreamer_ti
</pre>

If you use the code from SVN, then you need to use the directory name <tt>$HOME/gstreamer_ti</tt> instead of <tt>$HOME/gst-ti-plugin-full-*</tt>.

== MV toolchain pkg-config update ==

If you are using the MV toolchain, you need to update your pkg-config application.

<pre>
cd $HOME/gst-ti-plugin-full-1.01.00/opensource_build/host_tools
tar -xzf pkgconfig-0.18.tar.gz
cd pkgconfig-0.18
./configure --prefix=/opt/mv_pro_5.0/montavista/pro # the version in the toolchain is too old, so we replace it
make
sudo rm -f /opt/mv_pro_5.0/montavista/pro/bin/pkg-config
sudo make install
</pre>



== Host Directory Structure ==

To help you find your way around, here are the key directories and a description of what they contain.

{| border="1"
|-
! What
! Version
! Where
|-
| MV toolchain
| 5.0
| <tt>/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le</tt>
|-
| CS 2008q1 toolchain
| 2008q1
| <tt>$HOME/toolchain/arm-2008q1</tt>
|-
| CS 2009q1 toolchain
| 2009q1
| <tt>$HOME/toolchain/arm-2009q1</tt>
|-
| rowspan="3" | LSP / PSP master kernel
| 2.00.00.140
| <tt>/opt/mv_pro_5.0/montavista/pro/devkit/lsp/ti-davinci/linux-2.6.18_pro500</tt>
|-
| 02.01.03.11
| <tt>$HOME/workdir/opt/linux-02.01.03.11</tt>
|-
| 3.10.00.19
| <tt>$HOME/git</tt>
|-
| Platform kernel<br>(platform specific configuration)
| working<br>copy
| <tt>$HOME/workdir/lsp/ti-davinci/linux-2.6.18_pro500</tt>
|-
| rowspan="3" | DVSDK
| 2.00.00.22
| <tt>$HOME/dvsdk_2_00_00_22</tt>
|-
| 3.00.02.44
| <tt>$HOME/dvsdk_3_00_02_44</tt>
|-
| 3.10.00.19
| <tt>$HOME/dvsdk/dvsdk_3_10_00_19</tt>
|-
| rowspan="4" | codec server
| dm6446
| <tt>$HOME/dvsdk_2_00_00_22/dm6446_dvsdk_combos_2_05</tt>
|-
| dm6467
| <tt>$HOME/dvsdk_2_00_00_22/dm6467_dvsdk_combos_2_05</tt>
|-
| dm6467T
| <tt>$HOME/dvsdk/dvsdk_3_10_00_19/cs2dm6467_1_00_00_10</tt>
|-
| omap3530
| <tt>$HOME/dvsdk_3_00_02_44/cs1omap3530_1_00_01</tt>
|-
| rowspan="2" | codec set
| dm355
| <tt>$HOME/dvsdk/dvsdk_3_10_00_19/dm355_codecs_03_10_00_02
</tt>
|-
| dm365
| <tt>$HOME/dvsdk/dvsdk_3_10_00_19/dm365_codecs_03_10_00_07
</tt>
|-
| Master target file system
|
| <tt>/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target</tt>
|-
| Platform target file system<br>(with DVSDK, DMAI, GStreamer installed)
| working<br>copy
| <tt>$HOME/workdir/filesys</tt>
|-
| rowspan="3" | gst-dmai
| 1.01.00
| <tt>$HOME/gst-ti-plugin-full-1.01.00</tt>
|-
| 1.02.00
| <tt>$HOME/gst-ti-plugin-full-1.02.00</tt>
|-
| SVN trunk
| <tt>$HOME/gstreamer_ti</tt>
|}

== Obtaining the software ==

=== Software from TI website ===

Each target processor requires software that is unique for that hardware.

The toolchain, DVSDK, and related software is downloaded from the TI website. For the links in the tables below to work, you must first log into the TI website. In general, you can start at the [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/index.html current download page] and browse around to find all the packages listed below.


==== Target processor specific DVSDK and related software ====

The target processor specific source code consists of several components and is packaged together into a [[DVEVM and DVSDK overview | DVSDK - Digital Video Software Development Kit]]. Each target processor may use a different DVSDK version. If you are already logged into the TI website, you can click on the DVSDK link in the table below to go to the appropriate DVSDK download link.

In addition, download the related software.

{| border="1"
|-
! Target processor
! DVSDK
! LSP / PSP
! Target File System
! XDC Tools
! DSPBios
! C64 Tools
! C64 Codecs
|-
| DM355
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/index_FDS.html 3.10.00.19]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linux-davinci-staging.tar.gz 3.10.00.19]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/arago-demo-image-dm355-evm.tar.gz 3.10.00.19]
| Included with DVSDK
| Not required
| Not required
| Not required
|-
| DM365
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/index_FDS.html 3.10.00.19]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linux-davinci-staging.tar.gz 3.10.00.19]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/arago-demo-image-dm365-evm.tar.gz 3.10.00.19]
| Included with DVSDK
| Not required
| Not required
| Not required
|-
| DM6446
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest/exports/dvsdk_setuplinux_2_00_00_22.bin 2.00.00.22]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest/exports/mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin 2.00.00.140]
| Included with PSP
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/S1SDKLNX/DVSDK_2_00/index_FDS.html 3.10.05.61]<br>
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/S1SDKLNX/DVSDK_2_00/index_FDS.html 5.33.03]
| [http://software-dl-1.ti.com/dsps/forms/self_cert_export.html?prod_no=TI-C6x-CGT-v6.0.21.1.bin&ref_url=http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest/ 6.0.21.1]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest//exports//dm6446_codecs_setuplinux_2_00_00_22.bin DM6446 Codecs]<br>[http://software-dl-1.ti.com/dsps/forms/self_cert_export.html?prod_no=c64xplus_mp3dec_1_31_001_production.bin MP3 decode codec]
|-
| DM6467
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest/exports/dvsdk_setuplinux_2_00_00_22.bin 2.00.00.22]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest/exports/mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin 2.00.00.140]
| Included with PSP
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/S1SDKLNX/DVSDK_2_00/index_FDS.html 3.10.05.61]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/S1SDKLNX/DVSDK_2_00/index_FDS.html 5.33.03]
| [http://software-dl-1.ti.com/dsps/forms/self_cert_export.html?prod_no=TI-C6x-CGT-v6.0.21.1.bin&ref_url=http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest/ 6.0.21.1]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/S1SDKLNX/DVSDK_2_00/index_FDS.html DM6467 Codecs]<br>[http://software-dl-1.ti.com/dsps/forms/self_cert_export.html?prod_no=c64xplus_mp3dec_1_31_001_production.bin MP3 decode codec]
|-
| DM6467T
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/index_FDS.html 3.10.00.19]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linux-davinci-staging.tar.gz 3.10.00.19]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/arago-demo-image-dm6467t-evm.tar.gz 3.10.00.19]
| Included with DVSDK
| Not required
| Not required
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19//exports/cs2dm6467_1_00_00_10_Setup.bin 1.00.00.10]
|-
| OMAP35xx
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_00/latest/exports/dvsdk_setuplinux_3_00_02_44.bin 3.00.02.44]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_00/latest//exports/OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin 02.01.03.11]
| Included with PSP
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_00/latest//exports/xdctools_setuplinux_3_15_01_59.bin 3.15.01.59]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_00/latest//exports/bios_setuplinux_5_33_06.bin 5.33.06]
| [http://software-dl-1.ti.com/export_downloads/o5K5E8CHvs1cIVcTfDHF3ak90vJK3LrY/TI-C6x-CGT-v6.0.16.1.bin 6.0.16.1]
| [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_00/latest//exports/cs1omap3530_setuplinux_1_00_01-44.bin 1.00.01-44]
|}

== Software installation ==


=== DM355 software installation (DVSDK 3.10.00.19) ===

These are simplified steps based on the instructions in [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/dvsdk_3_10_00_19_releasenotes.pdf DVSDK 3.10.00.19 release notes] and other documentation mentioned therein.

Copy the downloaded toolchain, kernel, DVSDK and related packages for your target processor into the <tt>/tmp</tt> directory so that your machine has the following files:

[http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /tmp/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19//exports/dvsdk_3_10_00_19_Setup.bin /tmp/dvsdk_3_10_00_19_Setup.bin]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linux-davinci-staging.tar.gz /tmp/linux-davinci-staging.tar.gz]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linuxlibs-2009.11-armv5te.tar.gz /tmp/linuxlibs-2009.11-armv5te.tar.gz]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/arago-demo-image-dm355-evm.tar.gz /tmp/arago-demo-image-dm355-evm.tar.gz]
[https://gstreamer.ti.com/gf/download/frsrelease/437/4106/gst-ti-plugin-full-1.02.00.tar.gz /tmp/gst-ti-plugin-full-1.02.00.tar.gz]

Install all the needed tools and components:

<pre>
DOWNLOAD_DIR=/tmp

# toolchain
cd /opt
sudo tar -xjf $DOWNLOAD_DIR/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

# DVSDK
chmod ugo+x $DOWNLOAD_DIR/dvsdk_3_10_00_19_Setup.bin
echo -e 'y\n qy' | $DOWNLOAD_DIR/dvsdk_3_10_00_19_Setup.bin --mode console

# Linux kernel
cd $HOME/dvsdk
tar -xzf $DOWNLOAD_DIR/linux-davinci-staging.tar.gz

# linuxlibs
cd $HOME/dvsdk
tar -xzf $DOWNLOAD_DIR/linuxlibs-2009.11-armv5te.tar.gz

# GStreamer DMAI plug-in
cd $HOME
tar -xzf $DOWNLOAD_DIR/gst-ti-plugin-full-1.02.00.tar.gz

# target file system
mkdir -p $HOME/install/dm355_fs
cd $HOME/install/dm355_fs
sudo tar -xzf $DOWNLOAD_DIR/arago-demo-image-dm355-evm.tar.gz
sudo chown -R --reference=$HOME $HOME/install/dm355_fs
</pre>

=== DM365 software installation (DVSDK 3.10.00.19) ===

These are simplified steps based on the instructions in [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/dvsdk_3_10_00_19_releasenotes.pdf DVSDK 3.10.00.19 release notes] and other documentation mentioned therein.

Copy the downloaded toolchain, kernel, DVSDK and related packages for your target processor into the <tt>/tmp</tt> directory so that your machine has the following files:

[http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /tmp/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19//exports/dvsdk_3_10_00_19_Setup.bin /tmp/dvsdk_3_10_00_19_Setup.bin]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linux-davinci-staging.tar.gz /tmp/linux-davinci-staging.tar.gz]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linuxlibs-2009.11-armv5te.tar.gz /tmp/linuxlibs-2009.11-armv5te.tar.gz]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/arago-demo-image-dm365-evm.tar.gz /tmp/arago-demo-image-dm365-evm.tar.gz]
[https://gstreamer.ti.com/gf/download/frsrelease/437/4106/gst-ti-plugin-full-1.02.00.tar.gz /tmp/gst-ti-plugin-full-1.02.00.tar.gz]

Install all the needed tools and components:

<pre>
DOWNLOAD_DIR=/tmp

# toolchain
cd /opt
sudo tar -xjf $DOWNLOAD_DIR/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

# DVSDK
chmod ugo+x $DOWNLOAD_DIR/dvsdk_3_10_00_19_Setup.bin
echo -e 'y\n qy' | $DOWNLOAD_DIR/dvsdk_3_10_00_19_Setup.bin --mode console

# Linux kernel
cd $HOME/dvsdk
tar -xzf $DOWNLOAD_DIR/linux-davinci-staging.tar.gz

# linuxlibs
cd $HOME/dvsdk
tar -xzf $DOWNLOAD_DIR/linuxlibs-2009.11-armv5te.tar.gz

# GStreamer DMAI plug-in
cd $HOME
tar -xzf $DOWNLOAD_DIR/gst-ti-plugin-full-1.02.00.tar.gz

# target file system
mkdir -p $HOME/install/dm365_fs
cd $HOME/install/dm365_fs
sudo tar -xzf $DOWNLOAD_DIR/arago-demo-image-dm365-evm.tar.gz
sudo chown -R --reference=$HOME $HOME/install/dm365_fs
</pre>

=== DM6446 software installation (DVSDK 2.00.00.22) ===

These are simplified steps based on the instructions in ''TMS320DM6446 DVEVM v2.0 Getting Started Guide'' found in <tt>$HOME/dvsdk_2_00_00_22/docs/sprue66f.pdf</tt> available after you install the DVSDK.

One you have copied the downloaded DVSDK and related packages for your target processor into the <tt>/tmp</tt> directory, you can install the software (use all default values and confirm with a Y as necessary):

<pre>
cd /tmp
chmod ugo+x *.bin

# DVSDK
./dvsdk_setuplinux_2_00_00_22.bin --Y --mode console

# LSP
./mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin --mode console --prefix /opt/mv_pro_5.0
cd /opt/mv_pro_5.0
sudo tar -xzf DaVinciLSP_02_00_00_140.tar.gz
sudo chmod o+x /opt/mv_pro_5.0/montavista/common/* /opt/mv_pro_5.0/montavista/common/share/*
cd /tmp

# XDC tools
./xdctools_setuplinux_3_10_03.bin --mode console --prefix $HOME

# DSPBios
./bios_setuplinux_5_33_03.bin --mode console --prefix $HOME

# C64 Toolchain
./TI-C6x-CGT-v6.0.21.1.bin --mode console --prefix $HOME/cg6x_6_0_21

# DM6446 codecs
./dm6446_codecs_setuplinux_2_00_00_22.bin --mode console --prefix $HOME/dvsdk_2_00_00_22

# MP3 decode codec

# kernel working copy
mkdir -p $HOME/workdir/lsp/ti-davinci
cp -R /opt/mv_pro_5.0/montavista/pro/devkit/lsp/ti-davinci/* $HOME/workdir/lsp/ti-davinci

# target file system working copy
mkdir -p $HOME/workdir/filesys $HOME/workdir/lsp/ti-davinci
sudo cp -a /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target/* $HOME/workdir/filesys
sudo chown -R $USER $HOME/workdir/filesys/opt
</pre>


=== DM6467 software installation (DVSDK 2.00.00.22) ===

One you have copied the downloaded DVSDK and related packages for your target processor into the <tt>/tmp</tt> directory, you can install the software (use all default values and confirm with a Y as necessary):
<pre>cd /tmp
chmod ugo+x *.bin

# DVSDK
./dvsdk_setuplinux_2_00_00_22.bin --Y --mode console

# LSP
./mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin --mode console -prefix /opt/mv_pro_5.0
cd /opt/mv_pro_5.0
sudo tar -xzf DaVinciLSP_02_00_00_140.tar.gz
sudo chmod o+x /opt/mv_pro_5.0/montavista/common/* /opt/mv_pro_5.0/montavista/common/share/*
cd /tmp

# XDC tools
./xdctools_setuplinux_3_10_03.bin --mode console -prefix $HOME

# DSPBios
./bios_setuplinux_5_33_03.bin --mode console --prefix $HOME

# C64 Toolchain
./TI-C6x-CGT-v6.0.21.1.bin --mode console --prefix $HOME/cg6x_6_0_21

# DM6467 codecs
./dm6467_codecs_setuplinux_2_00_00_22.bin --mode console --prefix $HOME/dvsdk_2_00_00_22

# kernel working copy
mkdir -p $HOME/workdir/lsp/ti-davinci
cp -R /opt/mv_pro_5.0/montavista/pro/devkit/lsp/ti-davinci/* $HOME/workdir/lsp/ti-davinci

# target file system working copy
mkdir -p $HOME/workdir/filesys $HOME/workdir/lsp/ti-davinci
sudo cp -a /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target/* $HOME/workdir/filesys
sudo chown -R $USER $HOME/workdir/filesys/opt
</pre>
Tested on:


=== DM6467T software installation (DVSDK 3.10.00.19) ===

These are simplified steps based on the instructions in [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/dvsdk_3_10_00_19_releasenotes.pdf DVSDK 3.10.00.19 release notes] and other documentation mentioned therein.

Copy the downloaded toolchain, kernel, DVSDK and related packages for your target processor into the <tt>/tmp</tt> directory so that your machine has the following files:

[http://www.codesourcery.com/sgpp/lite/arm/portal/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 /tmp/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19//exports/dvsdk_3_10_00_19_Setup.bin /tmp/dvsdk_3_10_00_19_Setup.bin]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19//exports/cs2dm6467_1_00_00_10_Setup.bin /tmp/cs2dm6467_1_00_00_10_Setup.bin]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linux-davinci-staging.tar.gz /tmp/linux-davinci-staging.tar.gz]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/linuxlibs-2009.11-armv5te.tar.gz /tmp/linuxlibs-2009.11-armv5te.tar.gz]
[http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/arago-demo-image-dm6467t-evm.tar.gz /tmp/arago-demo-image-dm6467t-evm.tar.gz]
[https://gstreamer.ti.com/gf/download/frsrelease/437/4106/gst-ti-plugin-full-1.02.00.tar.gz /tmp/gst-ti-plugin-full-1.02.00.tar.gz]

Install all the needed tools and components:

<pre>
DOWNLOAD_DIR=/tmp

# toolchain
cd /opt
sudo tar -xjf $DOWNLOAD_DIR/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

# DVSDK
chmod ugo+x $DOWNLOAD_DIR/dvsdk_3_10_00_19_Setup.bin
echo -e 'y\n qy' | $DOWNLOAD_DIR/dvsdk_3_10_00_19_Setup.bin --mode console

# Codec Server
chmod ugo+x $DOWNLOAD_DIR/cs2dm6467_1_00_00_10_Setup.bin
echo -e 'y\n qy' | $DOWNLOAD_DIR/cs2dm6467_1_00_00_10_Setup.bin --mode console

# Linux kernel
cd $HOME/dvsdk
tar -xzf $DOWNLOAD_DIR/linux-davinci-staging.tar.gz

# linuxlibs
cd $HOME/dvsdk
tar -xzf $DOWNLOAD_DIR/linuxlibs-2009.11-armv5te.tar.gz

# GStreamer DMAI plug-in
cd $HOME
tar -xzf $DOWNLOAD_DIR/gst-ti-plugin-full-1.02.00.tar.gz

# target file system
mkdir -p $HOME/install/dm6467t_fs
cd $HOME/install/dm6467t_fs
sudo tar -xzf $DOWNLOAD_DIR/arago-demo-image-dm6467t-evm.tar.gz
sudo chown -R --reference=$HOME $HOME/install/dm6467t_fs
</pre>

=== OMAP35xx software installation (DVSDK 3.00.02.44) ===

This are a summary of the steps listed in [[GSG: OMAP35x DVEVM Software Setup]].
<pre>cd /tmp
chmod ugo+x *.bin

# DVSDK
./dvsdk_setuplinux_3_00_02_44.bin --mode console --prefix $HOME

# PSP
mkdir -p $HOME/workdir/opt
./OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin --mode console --prefix $HOME
cd $HOME/workdir/opt
tar -xzf $HOME/OMAP35x-PSP-SDK-02.01.03.11/src/kernel/linux-02.01.03.11.tar.gz
tar -xzf $HOME/OMAP35x-PSP-SDK-02.01.03.11/src/u-boot/u-boot-02.01.03.11.tar.gz

# Target file system
mkdir -p $HOME/workdir/filesys
cd $HOME/workdir/filesys
sudo tar -xzf /tmp/nfs_dvsdk_3_00_02_44.tar.gz
sudo chown -R $USER $HOME/workdir/filesys/opt

# XDC tools
cd /tmp
./xdctools_setuplinux_3_15_01_59.bin --mode console --prefix $HOME/dvsdk_3_00_02_44

# DSPBios
./bios_setuplinux_5_33_06.bin --mode console --prefix $HOME/dvsdk_3_00_02_44

# C64 Toolchain
./TI-C6x-CGT-v6.0.16.1.bin --mode console --prefix $HOME/dvsdk_3_00_02_44/cg6x_6.0.16

# OMAP3 codecs
./cs1omap3530_setuplinux_1_00_01-44.bin --mode console --prefix $HOME/dvsdk_3_00_02_44

# MP3 decode codec
# To be written
</pre>

== Building the libraries and tools ==

There is a detailed Getting Started Guide that is part of the DVSDK. The steps described below are simplifed version of the more complete steps listed in the guide. For the full DVSDK instructions, refer to the HTML files in the DVSDK directory and the <tt>docs</tt> directory inside the DVSDK directory.


=== Building DM355 kernel, DVSDK, and GStreamer software (DVSDK 3.10.00.19) ===

The target file system includes a pre-built DVSDK, so there is no need to build the DVSDK.
There is also a [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/uImage-dm355-evm.bin pre-built kernel image], so the Linux kernel doesn't need to be built either. Instructions on how to build the DVSDK and kernel are included for completeness.

<pre>
# Build kernel (optional, pre-built kernel is available for download)
cd $HOME/dvsdk/git
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- distclean
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- davinci_dm355_defconfig
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- prepare _all modules
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- uImage

# build DVSDK (optional, target file system has DVSDK already installed)
cd $HOME/dvsdk/dvsdk_3_10_00_19
make TARGET_ROOT_DIR=$HOME/install/dm355_fs PLATFORM=dm355 clean
make TARGET_ROOT_DIR=$HOME/install/dm355_fs PLATFORM=dm355 check cmem dmai install

# build gst-dmai plug-in
cd $HOME/gst-ti-plugin-full-1.02.00
make DVSDK_INSTALL_DIR=$HOME/dvsdk/dvsdk_3_10_00_19 TARGET_ROOT_DIR=$HOME/install/dm355_fs PLATFORM=dm355 all install
</pre>


=== Building DM365 kernel, DVSDK, and GStreamer software (DVSDK 3.10.00.19) ===

The target file system includes a pre-built DVSDK, so there is no need to build the DVSDK.
There is also a [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/uImage-dm365-evm.bin pre-built kernel image], so the Linux kernel doesn't need to be built either. Instructions on how to build the DVSDK and kernel are included for completeness.

<pre>
# Build kernel (optional, pre-built kernel is available for download)
cd $HOME/dvsdk/git
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- distclean
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- davinci_dm365_defconfig
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- prepare _all modules
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- uImage

# build DVSDK (optional, target file system has DVSDK already installed)
cd $HOME/dvsdk/dvsdk_3_10_00_19
make TARGET_ROOT_DIR=$HOME/install/dm365_fs PLATFORM=dm365 clean
make TARGET_ROOT_DIR=$HOME/install/dm365_fs PLATFORM=dm365 check cmem dmai install

# build gst-dmai plug-in
cd $HOME/gst-ti-plugin-full-1.02.00
make DVSDK_INSTALL_DIR=$HOME/dvsdk/dvsdk_3_10_00_19 TARGET_ROOT_DIR=$HOME/install/dm365_fs PLATFORM=dm365 all install
</pre>


=== Building DM6446 kernel, DVSDK, and GStreamer software (2.00.00.22) ===

<pre>
export PATH="/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_5.0/montavista/pro/bin:/opt/mv_pro_5.0/montavista/common/bin:$PATH"

# Build kernel
cd $HOME/workdir/lsp/ti-davinci/linux-2.6.18_pro500
make ARCH=arm CROSS_COMPILE=arm_v5t_le- distclean davinci_dm644x_defconfig
make ARCH=arm CROSS_COMPILE=arm_v5t_le- prepare _all modules

# build DVSDK (the package seems to have derived files, so make clean first)
cd $HOME/dvsdk_2_00_00_22
make DVSDK_INSTALL_DIR=$HOME/dvsdk_2_00_00_22 TARGET_ROOT_DIR=$HOME/workdir/filesys CROSS_COMPILER=MVL_5_0 \
CODEGEN_INSTALL_DIR=$HOME/cg6x_6_0_21 CODEC_INSTALL_DIR=$HOME/dvsdk_2_00_00_22/dm6446_dvsdk_combos_2_05 \
PLATFORM=dm6446 clean
make DVSDK_INSTALL_DIR=$HOME/dvsdk_2_00_00_22 TARGET_ROOT_DIR=$HOME/workdir/filesys CROSS_COMPILER=MVL_5_0 VERBOSE=1 \
CODEGEN_INSTALL_DIR=$HOME/cg6x_6_0_21 CODEC_INSTALL_DIR=$HOME/dvsdk_2_00_00_22/dm6446_dvsdk_combos_2_05 \
PLATFORM=dm6446 clean check cmem dmai install

# build gst-dmai plug-in
cd $HOME/gst-ti-plugin-full-1.01.00
echo=echo make DVSDK_INSTALL_DIR=$HOME/dvsdk_2_00_00_22 TARGET_ROOT_DIR=$HOME/workdir/filesys CROSS_COMPILER=MVL_5_0 \
CODEGEN_INSTALL_DIR=$HOME/cg6x_6_0_21 CODEC_INSTALL_DIR=$HOME/dvsdk_2_00_00_22/dm6446_dvsdk_combos_2_05 \
VERBOSE=1 PLATFORM=dm6446 all install
</pre>


=== Building DM6467 DVSDK (2.00.00.22) ===
<pre>export PATH="/opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/bin:/opt/mv_pro_5.0/montavista/pro/bin:/opt/mv_pro_5.0/montavista/common/bin:$PATH"

# Build kernel
cd $HOME/workdir/lsp/ti-davinci/linux-2.6.18_pro500
make ARCH=arm CROSS_COMPILE=arm_v5t_le- distclean davinci_dm6467_defconfig
make ARCH=arm CROSS_COMPILE=arm_v5t_le- prepare _all modules

# build DVSDK (the package seems to have derived files, so make clean first)
cd $HOME/dvsdk_2_00_00_22
make DVSDK_INSTALL_DIR=$HOME/dvsdk_2_00_00_22 TARGET_ROOT_DIR=$HOME/workdir/filesys CROSS_COMPILER=MVL_5_0 PLATFORM=dm6467 \
CODEGEN_INSTALL_DIR=$HOME/cg6x_6_0_21 CODEC_INSTALL_DIR=$HOME/dvsdk_2_00_00_22/dm6467_dvsdk_combos_2_05 \
clean
make DVSDK_INSTALL_DIR=$HOME/dvsdk_2_00_00_22 TARGET_ROOT_DIR=$HOME/workdir/filesys CROSS_COMPILER=MVL_5_0 VERBOSE=1 PLATFORM=dm6467 \
CODEGEN_INSTALL_DIR=$HOME/cg6x_6_0_21 CODEC_INSTALL_DIR=$HOME/dvsdk_2_00_00_22/dm6467_dvsdk_combos_2_05 \
clean check cmem dmai install

# need to use a newer version of pkg-config
pkg-config --version
cd $HOME/gst-ti-plugin-full-1.01.00/opensource_build/host_tools
tar -xzf pkgconfig-0.18.tar.gz
cd pkgconfig-0.18
./configure --prefix=/opt/mv_pro_5.0/montavista/pro # the version in the toolchain is too old, so we replace it
make
sudo rm -f /opt/mv_pro_5.0/montavista/pro/bin/pkg-config
sudo make install

# build gst-dmai plug-in
cd $HOME/gst-ti-plugin-full-1.01.00
echo=echo make DVSDK_INSTALL_DIR=$HOME/dvsdk_2_00_00_22 TARGET_ROOT_DIR=$HOME/workdir/filesys CROSS_COMPILER=MVL_5_0 \
CODEGEN_INSTALL_DIR=$HOME/cg6x_6_0_21 CODEC_INSTALL_DIR=$HOME/dvsdk_2_00_00_22/dm6467_dvsdk_combos_2_05 \
VERBOSE=1 PLATFORM=dm6467 all install
</pre>
Tested on:


=== Building DM6467T kernel, DVSDK, and GStreamer software (DVSDK 3.10.00.19) ===

The target file system includes a pre-built DVSDK, so there is no need to build the DVSDK.
There is also a [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_3_10/3_10_00_19/exports/uImage-dm6467t-evm.bin pre-built kernel image], so the Linux kernel doesn't need to be built either. Instructions on how to build the DVSDK and kernel are included for completeness.

<pre>
# Build kernel (optional, pre-built kernel is available for download)
cd $HOME/dvsdk/git
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- distclean
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- davinci_dm646x_defconfig
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- prepare _all modules
make -j 3 ARCH=arm CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- uImage

# build DVSDK (optional, target file system has DVSDK already installed)
cd $HOME/dvsdk/dvsdk_3_10_00_19
make TARGET_ROOT_DIR=$HOME/install/dm6467t_fs PLATFORM=dm6467 clean
make TARGET_ROOT_DIR=$HOME/install/dm6467t_fs PLATFORM=dm6467 check cmem dmai install

# build gst-dmai plug-in
cd $HOME/gst-ti-plugin-full-1.02.00
Edit the Makefile.common and set GST_TI_PLATFORM = dm6467t (defined at line 46)
make DVSDK_INSTALL_DIR=$HOME/dvsdk/dvsdk_3_10_00_19 TARGET_ROOT_DIR=$HOME/install/dm6467t_fs PLATFORM=dm6467 all install
</pre>

=== Building OMAP35xx DVSDK (3.00.02.44) ===

This are a summary of the steps listed in [[GSG: OMAP35x DVEVM Software Setup]].
<pre>export PATH="$HOME/toolchain/arm-2008q1/bin:$PATH"

# optional, build kernel
cd workdir/opt/linux-02.01.03.11
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm distclean
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm omap3_evm_defconfig
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm prepare _all modules uImage

# optional, build u-boot
cd $HOME/workdir/opt/uboot-02.01.03.11
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm distclean
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm omap3_evm_config
make CROSS_COMPILE=arm-none-linux-gnueabi- ARCH=arm

# optional, build codec server
cd $HOME/dvsdk_3_00_02_44/cs1omap3530_1_00_01
make CSTOOL_DIR=$HOME/toolchain/arm-2008q1 LINUXKERNEL_INSTALL_DIR=$HOME/workdir/opt/linux-02.01.03.11 \
UBOOT_INSTALL_DIR=$HOME/workdir/opt/uboot-02.01.03.11 \
CROSS_COMPILER=arm-none-linux-gnueabi- PLATFORM=omap3530 VERBOSE=1

# optional, build DVSDK
cd $HOME/dvsdk_3_00_02_44
make CSTOOL_DIR=$HOME/toolchain/arm-2008q1 LINUXKERNEL_INSTALL_DIR=$HOME/workdir/opt/linux-02.01.03.11 \
UBOOT_INSTALL_DIR=$HOME/workdir/opt/uboot-02.01.03.11 CROSS_COMPILER=arm-none-linux-gnueabi- PLATFORM=omap3530 check
make CSTOOL_DIR=$HOME/toolchain/arm-2008q1 LINUXKERNEL_INSTALL_DIR=$HOME/workdir/opt/linux-02.01.03.11 \
UBOOT_INSTALL_DIR=$HOME/workdir/opt/uboot-02.01.03.11 CROSS_COMPILER=arm-none-linux-gnueabi- PLATFORM=omap3530 clean
make CSTOOL_DIR=$HOME/toolchain/arm-2008q1 LINUXKERNEL_INSTALL_DIR=$HOME/workdir/opt/linux-02.01.03.11 \
UBOOT_INSTALL_DIR=$HOME/workdir/opt/uboot-02.01.03.11 CROSS_COMPILER=arm-none-linux-gnueabi- PLATFORM=omap3530 all install

# build zlib
cd $HOME/workdir/opt/zlib-1.2.3
./configure
make CC=arm-none-linux-gnueabi-gcc LDSHARED=arm-none-linux-gnueabi-gcc CPP="arm-none-linux-gnueabi-gcc -E" \
AR="arm-none-linux-gnueabi-ar rc" RANLIB=arm-none-linux-gnueabi-ranlib
sudo make install prefix=$HOME/workdir/filesys

# build gst-dmai plug-in
cd $HOME/gst-ti-plugin-full-1.01.00
echo=echo make DVSDK_INSTALL_DIR=$HOME/dvsdk_3_00_02_44 TARGET_ROOT_DIR=$HOME/workdir/filesys \
CROSS_COMPILER=arm-none-linux-gnueabi- LINUXKERNEL_INSTALL_DIR=$HOME/workdir/opt/linux-02.01.03.11 \
CSTOOL_DIR=$HOME/toolchain/arm-2008q1 VERBOSE=1 PLATFORM=omap3530 all install
</pre>

== Running test pipelines ==

There are many [[Example GStreamer Pipelines]] for you to try. If you come up with some clever ones of your own, please add the pipelines to the wiki.

== Creating your first GStreamer application ==

To be written

== Resolving known problems ==

=== ../libtool: line 763: X--tag=CC: command not found ===

The libtool on your host computer is causing the problem (using $(echo) when it is not defined). Either install an older libtool version (1.5.26) or define the <tt>echo</tt> environment variable.
<pre>export echo=echo
</pre>
<br>

=== ../libtool: eval: line 4174: syntax error near unexpected token `| ===

This error happens when <tt>generating symbol list for `libgstticodecplugin.la'</tt>.

This error may occur when building with releases older than 1.01. The problem was fixed in SVN trunk@275.

In the top level GStreamer TI Makefile.common file (e.g. Makefile.common in gstreamer_ti or gst-ti-plugin-full-1.00.02), change <tt>CC_CONFIGURE_OPTS</tt> from:
<pre>CC_CONFIGURE_OPTS = --build=i686-linux --host=arm-linux \
--prefix=$(TARGET_GSTREAMER_DIR)
</pre>
to
<pre>CC_CONFIGURE_OPTS = --build=i686-linux --host=arm-linux \
--prefix=$(TARGET_GSTREAMER_DIR) \
NM=$(MVTOOL_PREFIX)nm
</pre>
[[Category:Gstreamer]]

=== v4l2src build error - V4L2_STD_525P_60 undefined ===

See [https://gstreamer.ti.com/gf/project/gstreamer_ti/tracker/?action=TrackerItemEdit&tracker_item_id=965 V4L2_STD_525P_60 undefined error] for details.

In the <tt>gstreamer_ti/opensource_build/Packages.make</tt>, add <tt></tt> to the end of the following like as shown:

<pre>
PACKAGE_plugins_good_CONFIGURE_OPTS = $(USE_V4L2SRC_WORKAROUND) --disable-x
</pre>

If the error persists, verify you have a trailing slash in the paths specified in the DSDK Rules.make file.

=== error: asm/arch/imp_resizer.h: No such file or directory ===

Something is amiss with your kernel. If you issued a make command like

<pre>
make ... LINUXKERNEL_INSTALL_DIR= ...
</pre>

then first check that the Linux kernel is at the specified location. For instance, if you have

<pre>
make DVSDK_INSTALL_DIR=$HOME/dvsdk_2_10_01_18 TARGET_ROOT_DIR=$HOME/workdir/filesys CROSS_COMPILER=MVL_5_0 \
LINUXKERNEL_INSTALL_DIR=$HOME/workdir/lsp/ti-davinci/linux-2.6.18_pro500 VERBOSE=1 PLATFORM=dm365 all install
</pre>

then try

<pre>
ls -ld $HOME/workdir/lsp/ti-davinci/linux-2.6.18_pro500
</pre>

If you get an error, that means the kernel source is not where you think it is located.

If you don't get an error, then verify the symbolic link for the architecture directory was properly created.

<pre>
ls -ld $HOME/workdir/lsp/ti-davinci/linux-2.6.18_pro500/include/asm/arch
</pre>

If you get an error, that means you didn't build the kernel correctly.

=== "mkimage" command not found - U-Boot images will not be built ===

This means that you don't have the mkimage package installed at your host machine

sudo apt-get install uboot-mkimage

and try building again

=== /bin/sh: 1: not found ===

There are different variations of the error message displayed. What the error has in common is an unexpected characters in injected before a shell command.

The problem is caused by XDC not liking a period '.' in directory names. Rename the directory and then do a

make clean

and try again.


[[Category:DMAI GStreamer Plug-In]]