In order to develop dynamic dsp nodes you'll need a [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler] (only 6.0.x seem to work) and doffbuild tools. The recommended version is '''v6.0.22'''.

+

In order to develop dynamic dsp nodes you'll need a [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler] (the recommended version is '''v6.1.7''') and doffbuild tools.

Then build the uImage as usual and install the modules on your rootfs:

make INSTALL_MOD_PATH=/media/rootfs modules_install

TI binaries

In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL package. Once you have extracted the tarball you'll have to run the installer TI-OMX-Sample-Firmware-0.3-Linux-x86-Install and accept the license agreement.

You would end up with a bunch of binaries in lib/dsp, copy them to your root filesystem at the same location (/lib/dsp).

ping test

If you want to test the DSP you can try the simple ping test provided in this package.

Just:

./ping.out

If you get an error like:

DSPNode_Allocate failed: 0x80008008

Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:

./dynreg.out -r pingdyn_3430.dll64P

On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.

Running

On the board use this to load the module:

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

Developing

There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).

Official

Download the dsp-bridge examples from the omapzoom project. Once you extract the main tarball you'll need to extract the individual tarballs on the same directory, so you have something like: