Version 6 (modified by ravishi, 4 years ago)

--

[Page in development]

Utilizing the DSP on the BeagleBoard

There are multiple options of how to make use of the onboard TI TMS320C64x+ DSP. The first step is to install the GPP/DSP interface. Two of the more popular interface options are DSPBridge and DSPLink. Both were developed by TI but DSPLink is still supported, which makes DSPLink a more preferable option. After selecting DSPLink as the GPP/DSP interface, you need to build DSPLink for your specific platform. There are two options of doing this as well. Both of these options will install DSPLink and also configure your host system so you can compile your own GPP and DSP applications.

  • Building DSPLink inside OpenEmbedded
    This is generally the preferred method. DSPLink can be built using the Codec Engine bitbake recipe. This will install a full version of DSPLink 1.60 in the tmp/staging directory. It will also creates packages to quickly install prebuilt DSPLink sample applications. Further configuration allows you to compile GPP and DSP code.

  • Building DSPLink outside OpenEmbedded
    This method installs DSPLink from source which can be downloaded from TI. Version 1.61.03 is used in the guide. Use this option if you need a newer version of DSPLink than 1.60. Following the steps creates modules to install on the BeagleBoard along with setting up your host system to compile GPP and DSP code.

Although the instructions written at this website were designed around a BeagleBoard which has an OMAP3530 + TMS320C64x+ DSP, the instructions should be compatible across a variety of platforms with only a minimal number of changes.

Partitioning & Formatting an SD Card

Here's a detailed set of instructions for partitioning and formatting an SD card to boot Linux:  http://code.google.com/p/beagleboard/wiki/LinuxBootDiskFormat

Autoboot from SD

To get the BeagleBoard to autoboot from the SD card, the following commands are needed:

OMAP3 beagleboard.org # setenv bootargs 'console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait'
OMAP3 beagleboard.org # set bootcmd 'mmcinit;fatload mmc 0 80300000 uImage;bootm 80300000' ; saveenv
OMAP3 beagleboard.org # printenv

Upon printing the environment, the output should show the updated settings.

OMAP3 beagleboard.org # printenv                                               
filesize=AF13C                                                                 
stdin=serial                                                                   
stdout=serial                                                                  
stderr=serial                                                                  
bootargs=console=ttyS2,115200n8 root=/dev/mmcblk0p2 rw rootwait                
bootcmd=mmcinit;fatload mmc 0 80300000 uImage;bootm 80300000                   
                                                                               
Environment size: 181/131068 bytes

Reset the board and it should now autoboot from the SD card.

Transfer Files over Serial using ZMODEM

If using minicom and a serial connection to control the BeagleBoard, there is a transfer protocol that can transfer files between your host machine and the BeagleBoard. This can be a timesaver for transferring small files. To do this, you will need to bitbake and install the zmodem recipe.

$ source ~/oe/beagleboard/beagleboard/profile.sh
$ cd $OE_HOME
$ bitbake lrzsz

This will create three new ipk files in ~/oe/tmp/deploy/glibc/ipk/armv7a. Copy only the main file only (lrzsz_0.12.20-r4.1_armv7a.ipk) into your home directory. Replace the SD card, reboot, and minicom into the BeagleBoard. Install the ipk file and start the zmodem to wait for a file.

$ minicom -w
root@beagleboard:~# opkg install lrzsz_0.12.20-r4.1_armv7a.ipk
root@beagleboard:~# rz
 waiting to receive.**B0100000023be50

enter minicom and press CTRL-Z, then A.

General Notes

Folder name of package cannot contain underscores Package name before revision cannot contain capital letters

Use opkg instead of ipkg to install on BeagleBoard

You have to change permissions of /home/root to 777 so the other computer can insert the new pkg. This has to be done locally on the BeagleBoard (by minicom)

To install Perl on BeagleBoard, bitbake the pre-existing Perl recipe and copy over two ipk files to the rfs: perl_5.8.8-r27.1_armv7a.ipk and libperl5_5.8.8-r27.1_armv7a.ipk. Additional modules can then be installed.

Open minicom with option -w. It turns on text wrapping which is off by default.

Attachments