|Version 5 (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 with OpenEmbedded using Codec Engine
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 on Custom Image
This option installs a DSPLink from source that can be downloaded from TI. Version 1.61.03 is used in the guide. Use this option if you have not gone through the Open Embedded build process and installed a custom image instead. 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.
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.