Version 2 (modified by jonnadul, 4 years ago)

--

Guide to Installing DSPLink on Beagle Board

OpenEmbedded? includes a bitbake recipe to install ti-codec-engine. However, multiple files are needed for this bitbake to complete. This guide will instruct how to get the ti-codec-engine to build successfully.

You will need to download and install three binary files: C6x Compiler, DSP/BIOS Link, and XDCtools. Registration at the TI website is needed for all three files and the user license must be accepted.

The latest versions of the three files might work just fine but I have not tested them. The versions I used to get it working, as suggested by various forums, were:

A newer version of BIOS 5.33.02 should be tested since this version has a Critical 283xx (28x floating point) bug.

Once all three are downloaded, change permissions of each .bin file to make it an executable like such:

$ cd ~/Desktop
$ chmod +x bios_setuplinux_5_33_02.bin

Run the binary file to open a graphical installer

$ ./bios_setuplinux_5_33_02.bin

Do this for all three binaries.

Install the files to a folder TI under your root directory. The installation of each binaries files should be located as such:

  • BIOS 5.33.02 -> $HOME/TI/bios_5_33_02
  • XDCtools 3.10.03 -> $HOME/TI/xdctools_3_10_03
  • C6x Compiler -> $HOME/TI/cg6x_6_0_16

Download the codec engine tarball, codec_engine_2_21.tar.gz at  https://www-a.ti.com/downloads/sds_support/targetcontent/CE/index.html. Version 2.21 is required by the bitbake recipe. There is no need to untar this file. Copy the file to your recipes/dsplink/files folder.

$ cd ~/Desktop
$ cp codec_engine_2_21.tar.gz $OE_HOME/openembedded/recipes/dsplink/files

Edit the ti-coded-engine recipe:

$ gedit $OE_HOME/openembedded/recipes/dsplink/ti-codec-engine_2.21.bb

Change SRC_URI to include your local directory where the tar.gz file was copied too.

SRC_URI = "file://codec_engine_2_21.tar.gz \
           file://cmem-class-device-27-and-sched-include-fix.patch;patch=1 \
           file://sdma-class-device-and-includes-fix.patch;patch=1 \
           file://dsplink-semaphore-27.patch;patch=1 \
           file://dsplink-add-class-device-create-support.patch;patch=1 \
           file://lpm-device-create-and-semaphore-include-fix.patch;patch=1 \
           file://lpm-make-symbol-warnings-fix.patch;patch=1 \
           file://Makefile-dsplink-gpp \
           file://Makefile-dsplink-dsp \
           file://loadmodules-ti-dsplink-apps.sh \
           file://unloadmodules-ti-dsplink-apps.sh \
           file://loadmodules-ti-codec-engine-apps.sh \
           file://unloadmodules-ti-codec-engine-apps.sh \
"

Open ti-paths.inc which is also located under the dsplink recipe directory.

$ gedit $OE_HOME/openembedded/recipes/dsplink/ti-paths.inc

Find the section of code similar to below and change the directory variables. Version numbers should be adjusted accordingly.

# Path to the dir where the TI tools are unpacked
TITOOLSDIR ?= "/home/ossie/TI"
# Path under TITOOLSDIR where dspbios is unpacked
TIBIOSDIR ?= "bios_5_33_02"
TIXDCTOOLSDIR ?= "${TITOOLSDIR}/xdctools_3_10_03"
# Path under TITOOLSDIR where the dsp toolchain is unpacked
TICGTOOLSDIR ?= "cg6x_6_0_16"

Now enter openembedded shell, update, and bitbake ti-codec-engine

$ source $OE_HOME/beagleboard/beagleboard/profile.sh
$ cd $OE_HOME
$ git checkout origin/stable/2009 -b stable/2009
$ git pull
$ bitbake ti-codec-engine

Bitbake should complete successfully. Once completed, the following packages are added to $OE_HOME/tmp/deploy/glibc/ipk/beagleboard directory:

  • ti-cmem-module_221-r19.1_beagleboard.ipk
  • ti-lpm-module_221-r19.1_beagleboard.ipk
  • ti-sdma-module_221-r19.1_beagleboard.ipk
  • ti-codec-engine-apps_221-r19.1_beagleboard.ipk
  • ti-codec-engine-dbg_221-r19.1_beagleboard.ipk
  • ti-codec-engine-dev_221-r19.1_beagleboard.ipk
  • ti-dsplink-apps_221-r19.1_beagleboard.ipk
  • ti-dsplink-module_221-r19.1_beagleboard.ipk

Copy these files to the the rfs of the BeagleBoard and use opkg to install them. There may be a correct order of installing the files to avoid the warnings of "ti-codec-engine-xxx: unsatisfied recommendation for xxx"

# opkg install ti-cmem-module_221-r19.1_beagleboard.ipk

Memory settings need to be adjusted on the beagleboard. Reset the board and stop the board from autobooting. Insert the following commands and save the environment. #

Once installed, there are some sample applications provided that can be used to test the installation. They are located in /usr/share/ti-dsplink . You will need to install the DSPLink kernel module everytime you reboot the BeagleBoard. $


For more information, see:  http://elinux.org/BeagleBoard/DSP_Howto  https://gstreamer.ti.com/gf/project/gstreamer_ti/wiki/?pagename=BuildingWithAngstrom  http://groups.google.com/group/beagleboard/browse_thread/thread/3d2560c087941100  http://www.pixhawk.ethz.ch/wiki/tutorials/omap/dsplink

Attachments