DSP Bridge


This will be an attempt to explain how to build a DSP Bridge for the BeagleBoard.

First we will need to download, extract and install some binaries from TI at from here. After installation you will find the files needed in lib/dsp.

Now we will need to build the kernel drivers:

git clone git://gitorious.org/~felipec/linux-omap/felipec.git
git checkout -b felipec v2.6.32-felipec1
cd linux-omap
make omap3_beagle_defconfig
make

The uImage will be built with the following commands:

make INSTALL_MOD_PATH=/media/rootfs modules_install

Next copy the binaries from the first step from lib/dsp to the root filesystem /lib/dsp on the SD.

modprobe bridgedriver base_img=/lib/dsp/baseimage.dof

If you get an error here then you may need to load the baseimage.dof dynamically. Now lets look at how to make the DSP do something.

gst-OpenMax

git clone git://github.com/felipec/libdspbridge.git
cd libdspbridge
make DESTDIR=rootfs install
git clone git://github.com/felipec/libomxil-ti.git
cd libomxil-ti
make BRIDGE_CFLAGS=-I../libdspbridge/inc BRIDGE_LIBS=-L../libdspbridge/lib DESTDIR=rootfs install

Inside ScratchBox…

git clone git://github.com/felipec/gst-openmax.git
cd gst-openmax
git checkout -b omap origin/omap
./autogen.sh --noconfigure
./configure --prefix=/usr
make DESTDIR=rootfs install

Kernel Boot Argument for the video settings will be changed to:

video=omapfb:vram:2M,vram:4M

Copy an .AVI file to the sd card (or download one over your network) then at the console enter these commands being sure to change the file name to your file:


gst-launch-0.10 filesrc location="your_file_here.avi" ! avidemux ! omx_mpeg4dec ! omapfbsink

Advertisements

3 Comments

  1. I removed libdspbridge and libomxil-ti because I found no way forward to collaborate with TI, they were more like a fork.

    Instead I concentrated on gst-dsp which is like gst-openmax+libomxil-ti+libdspbridge in one package, simpler, and heavily optimized. I recommend you to try it… should be pretty easy to build as it has no dependencies 🙂

  2. Felipe,

    Thanks for the detailed info. Curious which user-space image you are using for your kernel version. Do you have a recommended ubuntu image I could start from? I tried using the instructions from http://elinux.org/BeagleBoardUbuntu (2.6.31.6-x6.0) but I couldn’t get the board to boot. I did build my own kernel image using the source from 2.6.31.6-x6.0 and it does boot.

    Thanks

  3. Just a clarification, I tried what I mentioned above with your kernel but my board didn’t boot, switching back to the original kernel or one which I build from the same source did boot. I am a bit new at this so I could be screwing up somewhere. Thanks


Comments RSS TrackBack Identifier URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s