Changes between Version 11 and Version 12 of BeagleBoard_DSPLink

Show
Ignore:
Timestamp:
07/06/09 13:05:47 (4 years ago)
Author:
ravishi
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • BeagleBoard_DSPLink

    v11 v12  
    11[Page in development]  
    22 
    3 = DSPLink Command Line Compiling = 
     3= Installing DSPLink on a BeagleBoard and Command Line Compiling Applications = 
    44 
    55== Introduction == 
    66There are two main ways of compiling applications for TI's DSPs.  One of which is Code Composer Studio, a full development studio to compile DSP applications.  The drawbacks of this option is the high software licensing cost and that it is only compatible with Windows.  A second option is to compile applications through command line using freely available tools from TI such as the Code Generation Tools.  This has the advantage of compiling applications on a wide variety of host OS machines including Linux and Windows.  Additionally the software needed is free on TI's website after registering.  
    77 
    8 This guide will walk you through setting up your host system to compile applications from command line on a Linux machine (Ubuntu).  Please see TI's UserGuide for full instructions on how compile other host systems or for more advanced settings.  
    9  
    10 >'''Note:''' This guide was created after going through the steps of bitbaking and installing TI Codec Engine.  If you are starting fresh without Codec Engine, some instructions may not match up.  
     8This guide will walk you through setting up your host system to compile applications from command line on a Linux machine (Ubuntu).  Please see TI's !UserGuide for full instructions on how compile other host systems or for more advanced settings.  The !UserGuide is located in the doc folder of the soon-to-be downloaded tar, DSP/BIOS Link. 
     9 
     10The guide expects the user to have successfully completed the [http://elinux.org/BeagleBoardAndOpenEmbeddedGit OpenEmbedded] steps and created an x11-image.  Additionally, it is necessary to copy files from the host system to the target system.  Two options of doing this is to plug the SD card in the host system or to use a file transfer protocol such as zmodem to transfer the files.  If you would like to use the latter, please see the instructions for setting up [http://ossie.wireless.vt.edu/trac/wiki/BeagleBoard#TransferFilesoverSerialusingZMODEM zmodem on the BeagleBoard]. 
     11 
     12>'''Note:''' This guide was created after going through the steps of bitbaking and installing TI Codec Engine.  If you are starting fresh without Codec Engine, some instructions may not match up. However, it is not required to perform a Codec Engine installation to have DSPLink fully working.  However, without the Codec Engine installed, you will not have the video/audio applications and tools that comes with Codec Engine.  These tools are not necessary if your goal is to use the DSP for communications applications as ours is. 
    1113 
    1214== Downloading and Installing Required Files == 
     
    2628 
    2729==== Arm Toolchain ==== 
    28 Download the Arm Toolchain which contains a lot of useful tools for compiling on an Arm processor.  Although it included arm cross compilers, we will be using the cross compilers created by our OpenEmbedded build.  Select target platform as ARM GNU/Linux and the Host platform as IA32 GNU/Linux.  Make sure not to select the source option. 
     30Download the Arm Toolchain which contains a lot of useful tools for compiling on an Arm processor.  Although it included arm cross compilers, we will be using the cross compilers created by our !OpenEmbedded build.  Select target platform as ARM GNU/Linux and the Host platform as IA32 GNU/Linux.  Make sure not to select the source option. 
    2931http://www.codesourcery.com/sgpp/lite/arm/releases/2008q1 
    3032 
     
    3638 
    3739==== Linux Kernel ==== 
    38 A Linux Kernel is needed to compile DSPLink applications.  The linking Kernel must be the same version or a compatible version with the Kernel on the BeagleBoard.  
    39  
    40 >'''Note:''' The Installation Guide uses a Linux kernel that produces problems when compiling for the BeagleBoard.  The problem is a build issue with the .tmp_vmlinux1 file using function omap3_beagle_map_io.  Below is the error that is encountered when building the kernel. 
     40A Linux Kernel is needed to compile DSPLink applications.  The linking Kernel must be the same version or a compatible version with the Kernel on the !BeagleBoard.  
     41 
     42>'''Note:''' The Installation Guide uses a Linux kernel that produces problems when compiling for the beagle.  The problem is a build issue with the .tmp_vmlinux1 file using function omap3_beagle_map_io.  Below is the error that is encountered when building the kernel. 
    4143>arch/arm/mach-omap2/built-in.o: In function `omap3_beagle_map_io': 
    4244>/home/ossie/omap3530/arm-2008q1/arch/arm/mach-omap2/board-omap3beagle.c:450: undefined reference to `omap2_set_sdram_vram' 
    4345>make: *** [.tmp_vmlinux1] Error 1 
    4446 
    45 Fortunately, our OpenEmbedded build created enough of a kernel to use for compiling DSPLink.  This kernel is located at ~/oe/tmp/staging/.  Therefore, there is nothing to download as long as the OpenEmbedded process was followed. 
     47Fortunately, our !OpenEmbedded build created enough of a kernel to use for compiling DSPLink.  This kernel is located at ~/oe/tmp/staging/.  Therefore, there is nothing to download as long as the !OpenEmbedded process was followed. 
    4648 
    4749==== DSP/BIOS, XDCTools, and C6x compiler ==== 
     
    191193}}} 
    192194 
    193 Reset the !BeagleBoard.  During bootup, it should have loaded the dsplinkk.ko module.  You should now be ready to run the executables. 
    194 {{{ 
     195sudo update-rc.d -f loadmodules-ti-dsplink-apps.sh remove 
     196 
     197Reset the !BeagleBoard.  During bootup, it should have loaded the dsplinkk.ko and lpm_omap3530.ko modules.  You can verify that both are loaded using the lsmod command.  After verifying, you should now be ready to run the executables. 
     198{{{ 
     199root@beagleboard:~/# lsmod 
     200Module                  Size  Used by                                            
     201lpm_omap3530            8168  0                                                  
     202dsplinkk              244552  1 lpm_omap3530  
    195203root@beagleboard:~/# cd /usr/share/ti-dsplink/cmd_compiled/DEBUG 
    196204root@beagleboard:/usr/share/ti-dsplink# ./messagegpp message.out 1000