Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Difference between revisions of "ECE497 Notes on DSP via c6run"

From eLinux.org
Jump to: navigation, search
m
(Things user will have to download: Cleaned up formatting)
Line 17: Line 17:
 
## pre-compiled test and and example applications
 
## pre-compiled test and and example applications
  
== Things user will have to download ==
+
== Things to download from elsewhere ==
  
 +
*  DSP toolchain - point them to same one using
 +
*  Angstrom distribution ARM compiler
 +
*  DSP/BIOS 5.41 - point them to same one using
  
  DSP toolchain - point them to same one using
+
=== Instructions for Host Setup and Build ===
  
  Angstrom distribution ARM compiler
+
* Download the TI C6000 v7.0.4 code generation tools for Linux from [https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm here]
 +
* Install the codegen tools to <code>~/toolchains/TI_CGT_C6000_7.04</code> (you implicitly accept a EULA when doing this)
  
   DSP/BIOS 5.41 - point them to same one using
+
   host$ mkdir ~/toolchains
 +
  host$ chmod +x ti_cgt_c6000_7.0.4_setup_linux_x86.bin
 +
  host$ ./ti_cgt_c6000_7.0.4_setup_linux_x86.bin --installto ~/toolchains --mode silent
  
 +
* Download the angstrom ARM toolchain from [http://www.angstrom-distribution.org/toolchains/angstrom-2010.4-test-20100422-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2.tar.bz2 here].
  
 
+
* Install the ARM toolchain
 
+
 
+
Instructions for Host Setup and Build
+
 
+
-------------------------------------
+
 
+
1. Download the TI C6000 v7.0.4 code generation tools for Linux:
+
 
+
    https://www-a.ti.com/downloads/sds_support/TICodegenerationTools/download.htm
+
 
+
2. Install the codegen tools to ~/toolchains/TI_CGT_C6000_7.04 (you implicitly accept a EULA when doing this)
+
 
+
    host$ mkdir ~/toolchains
+
 
+
    host$ chmod +x ti_cgt_c6000_7.0.4_setup_linux_x86.bin
+
 
+
    host$ ./ti_cgt_c6000_7.0.4_setup_linux_x86.bin --installto ~/toolchains --mode silent
+
 
+
3. Download the angstrom ARM toolchain
+
 
+
    http://www.angstrom-distribution.org/toolchains/angstrom-2010.4-test-20100422-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2.tar.bz2
+
 
+
4. Install the ARM toolchain
+
 
+
 
     host$ tar -C ~/toolchains -xjf angstrom-2010.4-test-20100422-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2.tar.bz2
 
     host$ tar -C ~/toolchains -xjf angstrom-2010.4-test-20100422-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2.tar.bz2
  
  The ARM toolchain will be in ~/toolchains/usr/local/angstrom/arm/
+
The ARM toolchain will be in <code>~/toolchains/usr/local/angstrom/arm/</code>
  
5. Download the 5.41.09.34 DSP/Bios package
+
* Download the 5.41.09.34 DSP/Bios package from [http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/5_41_09_34/exports/bios_setuplinux_5_41_09_34.bin here].
 
+
    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/dspbios/5_41_09_34/exports/bios_setuplinux_5_41_09_34.bin
+
 
+
6. Install the DSP/Bios package (you implicitly accept a EULA when doing this)
+
  
 +
* Install the DSP/Bios package (you implicitly accept a EULA when doing this)
 
     host$ chmod +x bios_setuplinux_5_41_09_34.bin
 
     host$ chmod +x bios_setuplinux_5_41_09_34.bin
 
 
     host$ ./bios_setuplinux_5_41_09_34.bin --mode silent --prefix ~/toolchains   
 
     host$ ./bios_setuplinux_5_41_09_34.bin --mode silent --prefix ~/toolchains   
  
7. Install the pre-built C6Run package
+
* Install the pre-built C6Run package
 
+
 
     host$ tar -C ~/toolchains -xzf c6run_0_95_02_02_beagleboard.tar.gz
 
     host$ tar -C ~/toolchains -xzf c6run_0_95_02_02_beagleboard.tar.gz
  
8. Edit the c6run enviroment settings to correctly point to the location of the components on your
+
* Edit the c6run enviroment settings to correctly point to the location of the components on your host PC (replace ${HOME} with the absolute path)
 
+
  host PC (replace ${HOME} with the absolute path)
+
 
+
 
     host$ cd ~/toolchains/c6run_0_95_02_02_beagleboard
 
     host$ cd ~/toolchains/c6run_0_95_02_02_beagleboard
 
 
     host$ vi environment.sh
 
     host$ vi environment.sh
  
9. Source the environment variables
+
* Source the environment variables
 
+
 
     host$ source environment.sh
 
     host$ source environment.sh
 
 
  
 
A this point the enviroment and components are all setup to build the examples and test cases  
 
A this point the enviroment and components are all setup to build the examples and test cases  
 
 
included in the the C6Run package.  All the makefiles for the examples and test cases rely on
 
included in the the C6Run package.  All the makefiles for the examples and test cases rely on
 
 
FOUR environment variables: ARM_TOOLCHAIN_PREFIX, ARM_TOOLCHAIN_PATH, CFLAGS, and  
 
FOUR environment variables: ARM_TOOLCHAIN_PREFIX, ARM_TOOLCHAIN_PATH, CFLAGS, and  
 
 
C6RUN_TOOLCHAIN_PATH.  The compilation scripts (c6runlib and c6runapp scripts) rely on these
 
C6RUN_TOOLCHAIN_PATH.  The compilation scripts (c6runlib and c6runapp scripts) rely on these
 
 
and the other variables from the environment.sh file.   
 
and the other variables from the environment.sh file.   
 
 
  
 
It is suggested that the test and example makefiles be used as a template for any builds done  
 
It is suggested that the test and example makefiles be used as a template for any builds done  
 
 
for your own code.
 
for your own code.
  
  
  
Target Preparation
+
=== Target Preparation ===
 
+
------------------
+
 
+
1. Setup the beagleboard to boot using the included kernel image (uImage binary file). This should just require
+
 
+
  replacing the uImage file on your SD card with the provided one (rename the file to be just 'uImage').
+
 
+
2. Copy the the contents of the provided /lib/modules to the target's /lib/modules path. (this step I'm not entirely
+
 
+
  sure about, we should consult with Jason to make sure this is right).
+
 
+
3. Copy the contents of c6run_target.tar.gz to the target file system.  I place it in /opt. It contains
+
  
  the kernel modules form the TI components and the loadmodules.sh script which should be used to install them.
+
# Setup the beagleboard to boot using the included kernel image (uImage binary file). This should just require replacing the uImage file on your SD card with the provided one (rename the file to be just '<code>uImage</code>').
  
  The pre-built examples and test cases are also included in this archive
+
# Copy the the contents of the provided <code>/lib/modules</code> to the target's <code>/lib/modules</code> path. I found I didn't need to do this.
  
4. Before running any c6run based application, make sure you run the loadmodules.sh script to load the needed kerne
+
# Copy the contents of c6run_target.tar.gz to the target file system.  I place it in <code>/opt</code>. It contains the kernel modules form the TI components and the loadmodules.sh script which should be used to install them.  The pre-built examples and test cases are also included in this archive
  
  modules.
+
# Before running any c6run based application, make sure you run the loadmodules.sh script to load the needed kernel modules.

Revision as of 19:38, 30 December 2010


This isn't finished yet...

Here are some notes on how to get c6run going on the BeagleBoard.

Things to download from here

This, Media:C6run_m_yoder.tgz, contains the following:

  1. /lib/modules from target FS
  2. uImage itself
  3. C6Run package prebuilt for the above
  4. C6Run target software
    1. Kernel modules for TI components
    2. loadmodules.sh and unloadmodules.sh
    3. pre-compiled test and and example applications

Things to download from elsewhere

  • DSP toolchain - point them to same one using
  • Angstrom distribution ARM compiler
  • DSP/BIOS 5.41 - point them to same one using

Instructions for Host Setup and Build

  • Download the TI C6000 v7.0.4 code generation tools for Linux from here
  • Install the codegen tools to ~/toolchains/TI_CGT_C6000_7.04 (you implicitly accept a EULA when doing this)
 host$ mkdir ~/toolchains
 host$ chmod +x ti_cgt_c6000_7.0.4_setup_linux_x86.bin
 host$ ./ti_cgt_c6000_7.0.4_setup_linux_x86.bin --installto ~/toolchains --mode silent
  • Download the angstrom ARM toolchain from here.
  • Install the ARM toolchain
    host$ tar -C ~/toolchains -xjf angstrom-2010.4-test-20100422-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2.tar.bz2

The ARM toolchain will be in ~/toolchains/usr/local/angstrom/arm/

  • Download the 5.41.09.34 DSP/Bios package from here.
  • Install the DSP/Bios package (you implicitly accept a EULA when doing this)
    host$ chmod +x bios_setuplinux_5_41_09_34.bin
    host$ ./bios_setuplinux_5_41_09_34.bin --mode silent --prefix ~/toolchains  
  • Install the pre-built C6Run package
    host$ tar -C ~/toolchains -xzf c6run_0_95_02_02_beagleboard.tar.gz
  • Edit the c6run enviroment settings to correctly point to the location of the components on your host PC (replace ${HOME} with the absolute path)
    host$ cd ~/toolchains/c6run_0_95_02_02_beagleboard
    host$ vi environment.sh
  • Source the environment variables
    host$ source environment.sh

A this point the enviroment and components are all setup to build the examples and test cases included in the the C6Run package. All the makefiles for the examples and test cases rely on FOUR environment variables: ARM_TOOLCHAIN_PREFIX, ARM_TOOLCHAIN_PATH, CFLAGS, and C6RUN_TOOLCHAIN_PATH. The compilation scripts (c6runlib and c6runapp scripts) rely on these and the other variables from the environment.sh file.

It is suggested that the test and example makefiles be used as a template for any builds done for your own code.


Target Preparation

  1. Setup the beagleboard to boot using the included kernel image (uImage binary file). This should just require replacing the uImage file on your SD card with the provided one (rename the file to be just 'uImage').
  1. Copy the the contents of the provided /lib/modules to the target's /lib/modules path. I found I didn't need to do this.
  1. Copy the contents of c6run_target.tar.gz to the target file system. I place it in /opt. It contains the kernel modules form the TI components and the loadmodules.sh script which should be used to install them. The pre-built examples and test cases are also included in this archive
  1. Before running any c6run based application, make sure you run the loadmodules.sh script to load the needed kernel modules.