| 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.
- DSP/BIOS Link and XDCtools can be found at https://www-a.ti.com/downloads/sds_support/targetcontent/index.html
- C6x compiler can be found at https://www-a.ti.com/downloads/sds_support/targetcontent/linuxutils/index.html
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:
- BIOS 5.33.02 ( https://www-a.ti.com/downloads/sds_support/targetcontent/bios/bios_5_33/index_external.html)
- XDCtools 3.10.03 ( https://www-a.ti.com/downloads/sds_support/targetcontent/rtsc/xdctools_3_10/index.html)
- C6000 Code Generation Tools v6.0.16 Linux Host ( https://www-a.ti.com/downloads/sds_support/CodeGenerationTools.htm)
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
-
omap3530_2.6.mk
(8.6 KB) - added by ravishi
4 years ago.
GPP side distribution file
-
Rules.mk
(1.6 KB) - added by ravishi
4 years ago.
GPP side distribution file
-
c64xxp_5.xx_linux.mk
(8.0 KB) - added by ravishi
4 years ago.
DSP side distribution file
-
loadmodules.sh
(0.8 KB) - added by ravishi
4 years ago.
Script to load DSPLink and LPM modules
-
unloadmodules.sh
(159 bytes) - added by ravishi
4 years ago.
Script to unload DSPLink and LPM modules