<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://elinux.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://elinux.org/api.php?action=feedcontributions&amp;user=Felipec&amp;feedformat=atom</id>
		<title>eLinux.org - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://elinux.org/api.php?action=feedcontributions&amp;user=Felipec&amp;feedformat=atom"/>
		<link rel="alternate" type="text/html" href="http://elinux.org/Special:Contributions/Felipec"/>
		<updated>2013-05-19T01:32:04Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.21alpha</generator>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2010-09-08T11:37:57Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Add syslink&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP3 chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the first open implementation and currently the more open. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
However, it's mostly unmaintained.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[http://omappedia.org/wiki/DSPBridge_Project tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
There has been a lot of work spent into cleaning up the code to live up to linux standards, and currently it's on the staging tree with a strong push to merge it on mainline.&lt;br /&gt;
&lt;br /&gt;
It shares the mailbox code with dsp-gateway, and soon iommu too.&lt;br /&gt;
&lt;br /&gt;
There are more user-space applications using it, including gst-dsp directly, gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.  [http://code.entropywave.com/leonora Leonora] is a project implementing the Theora codec on the DSP, and is a good example of non-trivial code running on the DSP and communicating with a process running on the ARM core.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge, also developed by TI.  It supports a wide variety of devices (e.g. DaVinci, OMAP2, OMAP3, and discreet GPP+DSP devices).&lt;br /&gt;
&lt;br /&gt;
The kernel driver doesn't meet the Linux kernel coding conventions.  The sources haven't been submitted for review, and it is not currently planned to be merged into upstream kernels.&lt;br /&gt;
&lt;br /&gt;
Some of the key differences with respect to dsp-bridge is the lack of advanced power management features (like DVFS and [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&amp;amp;navigationId=12032&amp;amp;contentId=4609 SmartReflex]), and lack of dynamic MMU support.&lt;br /&gt;
&lt;br /&gt;
[http://tiexpressdsp.com/index.php/Codec_Engine_Overview Codec Engine] and [http://tiexpressdsp.com/index.php/DMAI DMAI] have been built upon it, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== syslink ==&lt;br /&gt;
&lt;br /&gt;
For OMAP4 a new consolidated bridge is being developed [http://omappedia.org/wiki/Syslink_Project syslink]. It's an evolution of previous IPC mechanisms, reusing elements such as iommu and mailbox, and incorporating ideas such as moving the module loading to user-space from dsp-gateway.&lt;br /&gt;
&lt;br /&gt;
Unlike it's predecessors it's supposed to be upstreamed since the get-go, and in fact some patches are already integrated (in iommu and mailbox).&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2010-09-08T11:30:34Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* dsp-link */ add key differences&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP3 chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the first open implementation and currently the more open. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
However, it's mostly unmaintained.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[http://omappedia.org/wiki/DSPBridge_Project tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
There has been a lot of work spent into cleaning up the code to live up to linux standards, and currently it's on the staging tree with a strong push to merge it on mainline.&lt;br /&gt;
&lt;br /&gt;
It shares the mailbox code with dsp-gateway, and soon iommu too.&lt;br /&gt;
&lt;br /&gt;
There are more user-space applications using it, including gst-dsp directly, gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.  [http://code.entropywave.com/leonora Leonora] is a project implementing the Theora codec on the DSP, and is a good example of non-trivial code running on the DSP and communicating with a process running on the ARM core.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge, also developed by TI.  It supports a wide variety of devices (e.g. DaVinci, OMAP2, OMAP3, and discreet GPP+DSP devices).&lt;br /&gt;
&lt;br /&gt;
The kernel driver doesn't meet the Linux kernel coding conventions.  The sources haven't been submitted for review, and it is not currently planned to be merged into upstream kernels.&lt;br /&gt;
&lt;br /&gt;
Some of the key differences with respect to dsp-bridge is the lack of advanced power management features (like DVFS and [http://focus.ti.com/general/docs/wtbu/wtbugencontent.tsp?templateId=6123&amp;amp;navigationId=12032&amp;amp;contentId=4609 SmartReflex]), and lack of dynamic MMU support.&lt;br /&gt;
&lt;br /&gt;
[http://tiexpressdsp.com/index.php/Codec_Engine_Overview Codec Engine] and [http://tiexpressdsp.com/index.php/DMAI DMAI] have been built upon it, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2010-07-21T22:34:22Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: No more to reference&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP3 chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the first open implementation and currently the more open. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
However, it's mostly unmaintained.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[http://omappedia.org/wiki/DSPBridge_Project tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
There has been a lot of work spent into cleaning up the code to live up to linux standards, and currently it's on the staging tree with a strong push to merge it on mainline.&lt;br /&gt;
&lt;br /&gt;
It shares the mailbox code with dsp-gateway, and soon iommu too.&lt;br /&gt;
&lt;br /&gt;
There are more user-space applications using it, including gst-dsp directly, gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.  [http://code.entropywave.com/leonora Leonora] is a project implementing the Theora codec on the DSP, and is a good example of non-trivial code running on the DSP and communicating with a process running on the ARM core.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge, also developed by TI.  It supports a wide variety of devices (e.g. DaVinci, OMAP2, OMAP3, and discreet GPP+DSP devices).&lt;br /&gt;
&lt;br /&gt;
The kernel driver doesn't meet the Linux kernel coding conventions.  The sources haven't been submitted for review, and it is not currently planned to be merged into upstream kernels.&lt;br /&gt;
&lt;br /&gt;
[http://tiexpressdsp.com/index.php/Codec_Engine_Overview Codec Engine] and [http://tiexpressdsp.com/index.php/DMAI DMAI] have been built upon it, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2010-07-21T22:33:59Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Update mainly for tidspbridge&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP3 chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the first open implementation and currently the more open. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
However, it's mostly unmaintained.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[http://omappedia.org/wiki/DSPBridge_Project tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
There has been a lot of work spent into cleaning up the code to live up to linux standards, and currently it's on the staging tree with a strong push to merge it on mainline.&lt;br /&gt;
&lt;br /&gt;
It shares the mailbox code with dsp-gateway, and soon iommu too.&lt;br /&gt;
&lt;br /&gt;
There are more user-space applications using it, including gst-dsp directly, gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.  [http://code.entropywave.com/leonora Leonora] is a project implementing the Theora codec on the DSP, and is a good example of non-trivial code running on the DSP and communicating with a process running on the ARM core.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge, also developed by TI.  It supports a wide variety of devices (e.g. DaVinci, OMAP2, OMAP3, and discreet GPP+DSP devices).&lt;br /&gt;
&lt;br /&gt;
The kernel driver doesn't meet the Linux kernel coding conventions.  The sources haven't been submitted for review, and it is not currently planned to be merged into upstream kernels.&lt;br /&gt;
&lt;br /&gt;
[http://tiexpressdsp.com/index.php/Codec_Engine_Overview Codec Engine] and [http://tiexpressdsp.com/index.php/DMAI DMAI] have been built upon it, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2010-05-02T12:40:43Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Kernel driver */ Fix kernel build instructions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's [[BeagleBoard/DSP_Clarification#dsp-bridge|bridgedriver]] module on the kernel. You can use my (Felipec's) branch in github that is based on 2.6.32-rc3 and has DSS2 too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone git://gitorious.org/~felipec/linux-omap/felipec.git linux-omap&lt;br /&gt;
 cd linux-omap&lt;br /&gt;
 git checkout -b felipec v2.6.32-felipec1&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
 make&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then build the '''uImage''' as usual and install the modules on your rootfs:&lt;br /&gt;
 make INSTALL_MOD_PATH=/media/rootfs modules_install&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.22&amp;quot;. The recommended version is '''v6.0.22'''.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '''target''' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/User:Felipec</id>
		<title>User:Felipec</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/User:Felipec"/>
				<updated>2010-01-30T21:19:00Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Dummy edit&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Felipe Contreras.&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-06-01T09:50:49Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* tidspbridge stability */ add my signature&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I changed it to &amp;quot;It's the first open implementation and currently the more open&amp;quot; -- [[User:Felipec|Felipec]] 23:14, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper. -- [[User:Felipec|Felipec]] 22:10, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Please let me know when you report this as a formal bug or provide at least steps to reproduce. - [[User:Omar_rmz|Omar_rmz]] 00:35, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I removed the comments regarding stability for now, both on dspbridge and mailbox/iommu. I have not seen TI saying that iommu/mailbox are not stable, please provide a reference. As for the dspbridge stability, if you don't continue the discussion here I'll add the comment again saying that it's unstable. -- [[User:Felipec|Felipec]] 23:19, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Again my personal opinion doesn't reflect a company, or are you speaking on behalf of Nokia? Look at my original comment &amp;quot;There are plans to share the mailbox and iommu that the dsp-gateway uses, whenever they are stable and have the full set of features supported by tidspbridge custom implementations, as well as to move parts of it to user-space.&amp;quot; Do not rephrase and ask for references of things that you wrote. - [[User:Omar_rmz|Omar_rmz]] 00:35, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: I'm speaking as a member of the community. You said 'whenever they are stable' which means they are not stable yet, if TI considers them stable then there's no point in saying 'whenever they are stable'.&lt;br /&gt;
&lt;br /&gt;
:::: ??? - I'll try to explain, 'whenever they are stable' means I tested them and there are failures and features missing, I'm preparing some patches on those... BTW I don't know if TI considers them to be stable or not. - [[User:Omar_rmz|Omar_rmz]] 6:53, 15 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::: I've never seen any comments from anyone regarding the stability of mailbox/iommu. On wiki pages it doesn't really make sense to write things out of personal experience, there needs to be a reference. -- [[User:Felipec|Felipec]] 22:25, 15 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::: Just hilarious... read your first post on this discussion: &amp;quot;In my experience the DSP bridge is far from stable.&amp;quot;; this is not leading any way, I'm fine if you think the driver is unstable, I'll try to keep working on it and your patches are welcomed to improve the code quality. [[User:Omar_rmz|Omar_rmz]] 23:53, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::::: First of all, there's a difference between personal experience that is not shared with anybody else, and personal experience that is shared and confirmed (other members of my team can attest to dsp-bridge's unstability). Also, the fact that someone somewhere hasn't found a critical bug doesn't mean there are no critical bug, so the personal experience of someone who finds the dsp-bridge stable doesn't say much, the &amp;quot;personal&amp;quot; experience of someone who has found a bug *does* say a lot. It could be for example that you are being way too complacent with the dsp-bridge, while other people are stress-testing it. -- [[User:Felipec|Felipec]] 09:50, 1 June 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge and pm ==&lt;br /&gt;
&lt;br /&gt;
Omar: you added this &amp;quot;but now, after a lot of progress in pm branch, bridgedriver must be aligned with linux-omap-pm&amp;quot; there reference points to a master branch where there is no bridge driver, what is that supposed to prove? There are other branches in omapzoom that have the bridgedriver, I guess using a different pm than linux-omap. I'll remove that comment for now. Please provide a valid reference. -- [[User:Felipec|Felipec]] 23:30, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Agree on that, don't have a solid reference it was a personal opinion - [[User:Omar_rmz|Omar_rmz]] 00:47, 14 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-06-01T09:50:30Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* tidspbridge stability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I changed it to &amp;quot;It's the first open implementation and currently the more open&amp;quot; -- [[User:Felipec|Felipec]] 23:14, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper. -- [[User:Felipec|Felipec]] 22:10, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Please let me know when you report this as a formal bug or provide at least steps to reproduce. - [[User:Omar_rmz|Omar_rmz]] 00:35, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I removed the comments regarding stability for now, both on dspbridge and mailbox/iommu. I have not seen TI saying that iommu/mailbox are not stable, please provide a reference. As for the dspbridge stability, if you don't continue the discussion here I'll add the comment again saying that it's unstable. -- [[User:Felipec|Felipec]] 23:19, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Again my personal opinion doesn't reflect a company, or are you speaking on behalf of Nokia? Look at my original comment &amp;quot;There are plans to share the mailbox and iommu that the dsp-gateway uses, whenever they are stable and have the full set of features supported by tidspbridge custom implementations, as well as to move parts of it to user-space.&amp;quot; Do not rephrase and ask for references of things that you wrote. - [[User:Omar_rmz|Omar_rmz]] 00:35, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: I'm speaking as a member of the community. You said 'whenever they are stable' which means they are not stable yet, if TI considers them stable then there's no point in saying 'whenever they are stable'.&lt;br /&gt;
&lt;br /&gt;
:::: ??? - I'll try to explain, 'whenever they are stable' means I tested them and there are failures and features missing, I'm preparing some patches on those... BTW I don't know if TI considers them to be stable or not. - [[User:Omar_rmz|Omar_rmz]] 6:53, 15 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::: I've never seen any comments from anyone regarding the stability of mailbox/iommu. On wiki pages it doesn't really make sense to write things out of personal experience, there needs to be a reference. -- [[User:Felipec|Felipec]] 22:25, 15 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:::::: Just hilarious... read your first post on this discussion: &amp;quot;In my experience the DSP bridge is far from stable.&amp;quot;; this is not leading any way, I'm fine if you think the driver is unstable, I'll try to keep working on it and your patches are welcomed to improve the code quality. [[User:Omar_rmz|Omar_rmz]] 23:53, 19 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::::: First of all, there's a difference between personal experience that is not shared with anybody else, and personal experience that is shared and confirmed (other members of my team can attest to dsp-bridge's unstability). Also, the fact that someone somewhere hasn't found a critical bug doesn't mean there are no critical bug, so the personal experience of someone who finds the dsp-bridge stable doesn't say much, the &amp;quot;personal&amp;quot; experience of someone who has found a bug *does* say a lot. It could be for example that you are being way too complacent with the dsp-bridge, while other people are stress-testing it.&lt;br /&gt;
&lt;br /&gt;
== tidspbridge and pm ==&lt;br /&gt;
&lt;br /&gt;
Omar: you added this &amp;quot;but now, after a lot of progress in pm branch, bridgedriver must be aligned with linux-omap-pm&amp;quot; there reference points to a master branch where there is no bridge driver, what is that supposed to prove? There are other branches in omapzoom that have the bridgedriver, I guess using a different pm than linux-omap. I'll remove that comment for now. Please provide a valid reference. -- [[User:Felipec|Felipec]] 23:30, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Agree on that, don't have a solid reference it was a personal opinion - [[User:Omar_rmz|Omar_rmz]] 00:47, 14 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-15T22:25:56Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* tidspbridge stability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I changed it to &amp;quot;It's the first open implementation and currently the more open&amp;quot; -- [[User:Felipec|Felipec]] 23:14, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper. -- [[User:Felipec|Felipec]] 22:10, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Please let me know when you report this as a formal bug or provide at least steps to reproduce. - [[User:Omar_rmz|Omar_rmz]] 00:35, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I removed the comments regarding stability for now, both on dspbridge and mailbox/iommu. I have not seen TI saying that iommu/mailbox are not stable, please provide a reference. As for the dspbridge stability, if you don't continue the discussion here I'll add the comment again saying that it's unstable. -- [[User:Felipec|Felipec]] 23:19, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Again my personal opinion doesn't reflect a company, or are you speaking on behalf of Nokia? Look at my original comment &amp;quot;There are plans to share the mailbox and iommu that the dsp-gateway uses, whenever they are stable and have the full set of features supported by tidspbridge custom implementations, as well as to move parts of it to user-space.&amp;quot; Do not rephrase and ask for references of things that you wrote. - [[User:Omar_rmz|Omar_rmz]] 00:35, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: I'm speaking as a member of the community. You said 'whenever they are stable' which means they are not stable yet, if TI considers them stable then there's no point in saying 'whenever they are stable'.&lt;br /&gt;
&lt;br /&gt;
:::: ??? - I'll try to explain, 'whenever they are stable' means I tested them and there are failures and features missing, I'm preparing some patches on those... BTW I don't know if TI considers them to be stable or not. - [[User:Omar_rmz|Omar_rmz]] 6:53, 15 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::::: I've never seen any comments from anyone regarding the stability of mailbox/iommu. On wiki pages it doesn't really make sense to write things out of personal experience, there needs to be a reference. -- [[User:Felipec|Felipec]] 22:25, 15 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge and pm ==&lt;br /&gt;
&lt;br /&gt;
Omar: you added this &amp;quot;but now, after a lot of progress in pm branch, bridgedriver must be aligned with linux-omap-pm&amp;quot; there reference points to a master branch where there is no bridge driver, what is that supposed to prove? There are other branches in omapzoom that have the bridgedriver, I guess using a different pm than linux-omap. I'll remove that comment for now. Please provide a valid reference. -- [[User:Felipec|Felipec]] 23:30, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Agree on that, don't have a solid reference it was a personal opinion - [[User:Omar_rmz|Omar_rmz]] 00:47, 14 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-15T09:30:42Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* tidspbridge stability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I changed it to &amp;quot;It's the first open implementation and currently the more open&amp;quot; -- [[User:Felipec|Felipec]] 23:14, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper. -- [[User:Felipec|Felipec]] 22:10, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Please let me know when you report this as a formal bug or provide at least steps to reproduce. - [[User:Omar_rmz|Omar_rmz]] 00:35, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I removed the comments regarding stability for now, both on dspbridge and mailbox/iommu. I have not seen TI saying that iommu/mailbox are not stable, please provide a reference. As for the dspbridge stability, if you don't continue the discussion here I'll add the comment again saying that it's unstable. -- [[User:Felipec|Felipec]] 23:19, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: Again my personal opinion doesn't reflect a company, or are you speaking on behalf of Nokia? Look at my original comment &amp;quot;There are plans to share the mailbox and iommu that the dsp-gateway uses, whenever they are stable and have the full set of features supported by tidspbridge custom implementations, as well as to move parts of it to user-space.&amp;quot; Do not rephrase and ask for references of things that you wrote. - [[User:Omar_rmz|Omar_rmz]] 00:35, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
::: I'm speaking as a member of the community. You said 'whenever they are stable' which means they are not stable yet, if TI considers them stable then there's no point in saying 'whenever they are stable'.&lt;br /&gt;
&lt;br /&gt;
== tidspbridge and pm ==&lt;br /&gt;
&lt;br /&gt;
Omar: you added this &amp;quot;but now, after a lot of progress in pm branch, bridgedriver must be aligned with linux-omap-pm&amp;quot; there reference points to a master branch where there is no bridge driver, what is that supposed to prove? There are other branches in omapzoom that have the bridgedriver, I guess using a different pm than linux-omap. I'll remove that comment for now. Please provide a valid reference. -- [[User:Felipec|Felipec]] 23:30, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Agree on that, don't have a solid reference it was a personal opinion - [[User:Omar_rmz|Omar_rmz]] 00:47, 14 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-14T23:30:45Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* dsp-bridge */ no valid reference for TI willing to use linux-omap pm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the first open implementation and currently the more open. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
There is a disagreement&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=120820462123556&amp;amp;w=2 Omapzoom predecessor: &amp;quot;new development happens where there are gaps&amp;quot;]&amp;lt;/ref&amp;gt; between TI and the community as how power management must be handled, which created two forks: linux-omap, and omapzoom. However, TI is also working with the community on the linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy code cleanup&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=124148814309478&amp;amp;w=2 Dspbridge: Staging TODO List]&amp;lt;/ref&amp;gt;; the first dspbridge appearance was in form of tarballs &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=120761100810527&amp;amp;w=2 Dspbridge: First appearance]&amp;lt;/ref&amp;gt;, some time later it was merged into TI's omapzoom tree&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121340174005072&amp;amp;w=2 Dspbridge: First set of patches]&amp;lt;/ref&amp;gt;. Then, Hiroshi DOYU split the driver into a logical set of patches&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121878286205991&amp;amp;w=2 Port TI DSP BRIDGE for a new dedicated branch in linux-omap]&amp;lt;/ref&amp;gt; but its inclusion into linux-omap was rejected and it was maintained in www.muru.com&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121879938429430&amp;amp;w=2 muru.com tidspbridge/]&amp;lt;/ref&amp;gt; (Tony Lindgren's personal site), from there it jumped into Hiroshi's personal web space &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=122188661716962&amp;amp;w=2 Latest dspbridge rebased on l-o and sync'ed with o-z]&amp;lt;/ref&amp;gt; and it finally ended in gitorious &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=122692901013682&amp;amp;w=2 Dspbridge gitorious repository]&amp;lt;/ref&amp;gt;, now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses (which are part of the omap platform) as well as to move parts of it to user-space. However, TI argues the platform code is missing features from tidspbridge.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-14T23:30:21Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: tidspbridge and pm&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I changed it to &amp;quot;It's the first open implementation and currently the more open&amp;quot; -- [[User:Felipec|Felipec]] 23:14, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper. -- [[User:Felipec|Felipec]] 22:10, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I removed the comments regarding stability for now, both on dspbridge and mailbox/iommu. I have not seen TI saying that iommu/mailbox are not stable, please provide a reference. As for the dspbridge stability, if you don't continue the discussion here I'll add the comment again saying that it's unstable. -- [[User:Felipec|Felipec]] 23:19, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge and pm ==&lt;br /&gt;
&lt;br /&gt;
Omar: you added this &amp;quot;but now, after a lot of progress in pm branch, bridgedriver must be aligned with linux-omap-pm&amp;quot; there reference points to a master branch where there is no bridge driver, what is that supposed to prove? There are other branches in omapzoom that have the bridgedriver, I guess using a different pm than linux-omap. I'll remove that comment for now. Please provide a valid reference. -- [[User:Felipec|Felipec]] 23:30, 14 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-14T23:19:01Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* tidspbridge stability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I changed it to &amp;quot;It's the first open implementation and currently the more open&amp;quot; -- [[User:Felipec|Felipec]] 23:14, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper. -- [[User:Felipec|Felipec]] 22:10, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: I removed the comments regarding stability for now, both on dspbridge and mailbox/iommu. I have not seen TI saying that iommu/mailbox are not stable, please provide a reference. As for the dspbridge stability, if you don't continue the discussion here I'll add the comment again saying that it's unstable. -- [[User:Felipec|Felipec]] 23:19, 14 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-14T23:16:54Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* dsp-bridge */ Remove comments about stability.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the first open implementation and currently the more open. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
There was a disagreement&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=120820462123556&amp;amp;w=2 Omapzoom predecessor: &amp;quot;new development happens where there are gaps&amp;quot;]&amp;lt;/ref&amp;gt; between TI and the community as how power management must be handled, which created two forks: linux-omap, and omapzoom; but now, after a lot of progress in pm branch, bridgedriver must be aligned with linux-omap-pm&amp;lt;ref&amp;gt;[http://git.omapzoom.org/?p=repo/omapkernel.git;a=shortlog;h=refs/heads/master No dspbridge patches in omapzoom]&amp;lt;/ref&amp;gt;. TI is also working with the community on the linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy code cleanup&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=124148814309478&amp;amp;w=2 Dspbridge: Staging TODO List]&amp;lt;/ref&amp;gt;; the first dspbridge appearance was in form of tarballs &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=120761100810527&amp;amp;w=2 Dspbridge: First appearance]&amp;lt;/ref&amp;gt;, some time later it was merged into TI's omapzoom tree&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121340174005072&amp;amp;w=2 Dspbridge: First set of patches]&amp;lt;/ref&amp;gt;. Then, Hiroshi DOYU split the driver into a logical set of patches&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121878286205991&amp;amp;w=2 Port TI DSP BRIDGE for a new dedicated branch in linux-omap]&amp;lt;/ref&amp;gt; but its inclusion into linux-omap was rejected and it was maintained in www.muru.com&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121879938429430&amp;amp;w=2 muru.com tidspbridge/]&amp;lt;/ref&amp;gt; (Tony Lindgren's personal site), from there it jumped into Hiroshi's personal web space &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=122188661716962&amp;amp;w=2 Latest dspbridge rebased on l-o and sync'ed with o-z]&amp;lt;/ref&amp;gt; and it finally ended in gitorious &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=122692901013682&amp;amp;w=2 Dspbridge gitorious repository]&amp;lt;/ref&amp;gt;, now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses (which are part of the omap platform) as well as to move parts of it to user-space. However, TI argues the platform code is missing features from tidspbridge.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-14T23:14:02Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Oldest implementation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:: I changed it to &amp;quot;It's the first open implementation and currently the more open&amp;quot; -- [[User:Felipec|Felipec]] 23:14, 14 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper. -- [[User:Felipec|Felipec]] 22:10, 9 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-14T23:13:29Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* dsp-gateway */ reword&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the first open implementation and currently the more open. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It is stable, but it still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
There was a disagreement&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=120820462123556&amp;amp;w=2 Omapzoom predecessor: &amp;quot;new development happens where there are gaps&amp;quot;]&amp;lt;/ref&amp;gt; between TI and the community as how power management must be handled, which created two forks: linux-omap, and omapzoom; but now, after a lot of progress in pm branch, bridgedriver must be aligned with linux-omap-pm&amp;lt;ref&amp;gt;[http://git.omapzoom.org/?p=repo/omapkernel.git;a=shortlog;h=refs/heads/master No dspbridge patches in omapzoom]&amp;lt;/ref&amp;gt;. TI is also working with the community on the linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy code cleanup&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=124148814309478&amp;amp;w=2 Dspbridge: Staging TODO List]&amp;lt;/ref&amp;gt;; the first dspbridge appearance was in form of tarballs &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=120761100810527&amp;amp;w=2 Dspbridge: First appearance]&amp;lt;/ref&amp;gt;, some time later it was merged into TI's omapzoom tree&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121340174005072&amp;amp;w=2 Dspbridge: First set of patches]&amp;lt;/ref&amp;gt;. Then, Hiroshi DOYU split the driver into a logical set of patches&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121878286205991&amp;amp;w=2 Port TI DSP BRIDGE for a new dedicated branch in linux-omap]&amp;lt;/ref&amp;gt; but its inclusion into linux-omap was rejected and it was maintained in www.muru.com&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=121879938429430&amp;amp;w=2 muru.com tidspbridge/]&amp;lt;/ref&amp;gt; (Tony Lindgren's personal site), from there it jumped into Hiroshi's personal web space &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=122188661716962&amp;amp;w=2 Latest dspbridge rebased on l-o and sync'ed with o-z]&amp;lt;/ref&amp;gt; and it finally ended in gitorious &amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=122692901013682&amp;amp;w=2 Dspbridge gitorious repository]&amp;lt;/ref&amp;gt;, now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses (which are part of the omap platform) as well as to move parts of it to user-space. However, TI argues the platform code is missing features from tidspbridge and it is unstable.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-09T22:10:31Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* tidspbridge stability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper. -- [[User:Felipec|Felipec]] 22:10, 9 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-09T22:10:20Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* tidspbridge stability */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
Wikipedia and personal opinion &amp;quot;A stable version is one that has been through enough real-world testing to reasonably assume there are no showstopper problems, or at least that any problems are known and documented.&amp;quot; but that does not mean that it won't benefit from any bug fix or enhancements. A fork from the stable version will be the code cleanup and redesign that is planned which might uncover some corner cases in bridge and open source modules as well. Again, any bug report is welcomed. -[[User:Omar_rmz|Omar_rmz]] 17:20, 9 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Exactly, there are showstopper problems therefore it's not stable. A bug is simply 'unexpected behavior' and there many kinds, some of the worst are; crashes and deadlocks, but the bridgedriver goes to an even worst level; it reboots the device. You can say it's a &amp;quot;corner-case&amp;quot; because you have seen it very rarely in your occasional testing, but when a device goes into production there would be thousands, perhaps millions of people, using it constantly with a much wider variety of clips. A corner-case that reboots the device is absolutely showstopper.&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-09T10:16:00Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: tidspbridge stability&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== tidspbridge stability ==&lt;br /&gt;
&lt;br /&gt;
In my experience the DSP bridge is far from stable. I see multiple crashes and hangs, and I can even reboot the device by following a sequence of commands. Also proof of the instability is the multiple critical fixes that are being sent to linux-omap mailing list all the time. -- [[User:Felipec|Felipec]] 10:16, 9 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-08T00:22:43Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* dsp-link */ add Angstrom note&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It is probably not production ready, and it still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
Unfortunately there's a disagreement&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 Different power management thread]&amp;lt;/ref&amp;gt; between TI and the community as how power management must be handled, so there are two forks: linux-omap, and omapzoom. TI is also working with the community on the linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy development, the linux-omap tree was originally maintained by Hiroshi DOYU, but now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses (which are part of the omap platform) as well as to move parts of it to user-space. However, TI argues the platform code is missing features from tidspbridge.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
Unlike the other implementations, it has strong support from the Angstrom distribution precisely because of wider platform support.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-08T00:16:40Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: copy-paste != good&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It is probably not production ready, and it still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
Unfortunately there's a disagreement&amp;lt;ref&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 Different power management thread]&amp;lt;/ref&amp;gt; between TI and the community as how power management must be handled, so there are two forks: linux-omap, and omapzoom. TI is also working with the community on the linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy development, the linux-omap tree was originally maintained by Hiroshi DOYU, but now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses (which are part of the omap platform) as well as to move parts of it to user-space. However, TI argues the platform code is missing features from tidspbridge.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-08T00:10:44Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Improve references&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It is probably not production ready, and it still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
Unfortunately there's a disagreement&amp;lt;ref name=&amp;quot;mcgill.ca&amp;quot;&amp;gt;[http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 Different power management thread]&amp;lt;/ref&amp;gt; between TI and the community as how power management must be handled, so there are two forks: linux-omap, and omapzoom. TI is also working with the community on the linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy development, the linux-omap tree was originally maintained by Hiroshi DOYU, but now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses (which are part of the omap platform) as well as to move parts of it to user-space. However, TI argues the platform code is missing features from tidspbridge.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interesting threads ==&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-08T00:05:28Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
:Right, I meant the oldest open source implementation, feel free to re-word. -- [[User:Felipec|Felipec]] 00:05, 8 May 2009 (UTC)&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/Talk:BeagleBoard/DSP_Clarification</id>
		<title>Talk:BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/Talk:BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-08T00:03:13Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Oldest implementation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;dsp-gateway is not the oldest implementation, just the first one to be open source.--[[User:Jkridner|Jkridner]] 21:45, 6 May 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Oldest implementation ==&lt;br /&gt;
&lt;br /&gt;
Right I meant the oldest open source implementation.&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-08T00:00:18Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* dsp-bridge */ Some reverts and more explanations&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It is probably not production ready, and it still doesn't meet Linux standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
Unfortunately there's a disagreement between TI and the community as how power management must be handled, so there are two forks: linux-omap, and omapzoom.&amp;lt;ref name=&amp;quot;mcgill.ca&amp;quot;&amp;gt;{{cite web|url=http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2|title=Different power management thread}}&amp;lt;/ref&amp;gt;. TI is also working with the community on the linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy development, the linux-omap tree was originally maintained by Hiroshi DOYU, but now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses (which are part of the omap platform) as well as to move parts of it to user-space. However, TI argues the platform code is missing features from tidspbridge.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
= Interesting threads =&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-07T23:44:00Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* dsp-bridge */ primiarily implies there are other contributors&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, primarily from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It is stable and production ready (phone announced at 2009 CES), but it still doesn't meet Linux coding standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
TI and the community are working on how power management must be handled, all the effort is being focused on linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy code cleanup to be open source friendly. Originally maintained at omapzoom.org, Hiroshi DOYU started his tree at gitorious, but now Ameya Palande took over. &lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses, whenever they are stable and have the full set of features supported by tidspbridge custom implementations, as well as to move parts of it to user-space.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
= Interesting threads =&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-07T23:42:35Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Interesting threads&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article tries to explain all the different Linux DSP systems for OMAP chips (e.g. used on [[BeagleBoard]]), how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ DSP Gateway] was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the Linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows Linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user space applications that use it. Essentially GStreamer Nokia DSP plug-ins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
[https://www.omapzoom.org/gf/project/omapbridge/wiki/? tidspbridge] originally developed by TI, after its release in open source it has received many more contributions, from TI and Nokia.&lt;br /&gt;
&lt;br /&gt;
It is stable and production ready (phone announced at 2009 CES), but it still doesn't meet Linux coding standards although there has been a lot of progress. Only the ARM side is available as open source; unlike the dsp-gateway, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
TI and the community are working on how power management must be handled, all the effort is being focused on linux-omap-pm branch maintained by Kevin Hillman.&lt;br /&gt;
&lt;br /&gt;
It's under heavy code cleanup to be open source friendly. Originally maintained at omapzoom.org, Hiroshi DOYU started his tree at gitorious, but now Ameya Palande took over. &lt;br /&gt;
&lt;br /&gt;
There are plans to share the mailbox and iommu that the dsp-gateway uses, whenever they are stable and have the full set of features supported by tidspbridge custom implementations, as well as to move parts of it to user-space.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax and gst-goo through TI's OpenMAX IL implementation which is also open source.&lt;br /&gt;
&lt;br /&gt;
For documentation and project overview, visit: [https://www.omapzoom.org/gf/project/omapbridge/docman/?subdir=3 TI DSP/Bridge project]&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting Linux standards. The code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to CodecEngine and DMAI, and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;br /&gt;
&lt;br /&gt;
See [http://wiki.davincidsp.com/index.php?title=Category:DSPLink DSPLink articles in Texas Instruments Embedded Processors Wiki], too.&lt;br /&gt;
&lt;br /&gt;
= Interesting threads =&lt;br /&gt;
&lt;br /&gt;
* [http://linux.omap.com/pipermail/linux-omap-open-source/2007-May/009850.html bridge vs link]&lt;br /&gt;
* [http://marc.info/?l=linux-omap&amp;amp;m=123626584228670&amp;amp;w=2 different power management]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-06T21:44:43Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* dsp-gateway */ fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article tries to explain all the different Linux DSP systems for OMAP chips, how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
DSP Gateway was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ Link].&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows linux standards and it's close to upstream acceptance. There's code for OMAP3 but it hasn't been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user-space applications that use it. Essentially GStreamer Nokia DSP plugins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
tidspbridge originally developed by TI, but after being released as open source it has received many contributions, predominantly by Nokia.&lt;br /&gt;
&lt;br /&gt;
It's probably not production ready (at least I don't know of any released product using it), and it still doesn't meet linux standards although there has been a lot of progress. Only the ARM side is available as open source, unlike the dsp-bridge, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
Unfortunately there's a disagreement between TI and the community as how power management must be handled, so there are two forks: linux-omap, and omapzoom.&lt;br /&gt;
&lt;br /&gt;
It's under heavy development, originally maintained by Hiroshi DOYU, but now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There is plans to share the mailbox and iommu that the dsp-gateway uses, but it's independent from it, as well as to move parts of it to user-space.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax through TI's OpenMAX IL implementation which is also open source. and gst-goo.&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting linux standards, the code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to codecengine and dmai and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Clarification</id>
		<title>BeagleBoard/DSP Clarification</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Clarification"/>
				<updated>2009-05-06T21:42:45Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Initial version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article tries to explain all the different Linux DSP systems for OMAP chips, how they are similar and different.&lt;br /&gt;
&lt;br /&gt;
== dsp-gateway ==&lt;br /&gt;
&lt;br /&gt;
DSP Gateway was developed by Nokia for the Maemo Internet Tablets. It's the oldest and more open of the implementations. The open code consists not only of the linux kernel side, but also the DSP operating system. Unfortunately the development is essentially halted.&lt;br /&gt;
&lt;br /&gt;
[http://dspgateway.sourceforge.net/pub/index.php?Page=FAQ Link].&lt;br /&gt;
&lt;br /&gt;
It works on OMAP1 and OMAP2, it's production ready, used on the Nokia N800 and N810, it follows linux standards and it's close to upstream acceptance. There's code for OMAP3 but it has been thoroughly tested.&lt;br /&gt;
&lt;br /&gt;
It is maintained by Hiroshi DOYU.&lt;br /&gt;
&lt;br /&gt;
There are a few user-space applications that use it. Essentially GStreamer Nokia DSP plugins and a few others developed by the Maemo community.&lt;br /&gt;
&lt;br /&gt;
== dsp-bridge ==&lt;br /&gt;
&lt;br /&gt;
tidspbridge originally developed by TI, but after being released as open source it has received many contributions, predominantly by Nokia.&lt;br /&gt;
&lt;br /&gt;
It's probably not production ready (at least I don't know of any released product using it), and it still doesn't meet linux standards although there has been a lot of progress. Only the ARM side is available as open source, unlike the dsp-bridge, the DSP side is completely closed.&lt;br /&gt;
&lt;br /&gt;
Unfortunately there's a disagreement between TI and the community as how power management must be handled, so there are two forks: linux-omap, and omapzoom.&lt;br /&gt;
&lt;br /&gt;
It's under heavy development, originally maintained by Hiroshi DOYU, but now Ameya Palande took over.&lt;br /&gt;
&lt;br /&gt;
There is plans to share the mailbox and iommu that the dsp-gateway uses, but it's independent from it, as well as to move parts of it to user-space.&lt;br /&gt;
&lt;br /&gt;
There are slightly more user-space applications using it, including gst-openmax through TI's OpenMAX IL implementation which is also open source. and gst-goo.&lt;br /&gt;
&lt;br /&gt;
== dsp-link ==&lt;br /&gt;
&lt;br /&gt;
A slimmer version of the dsp-bridge targeted for the DaVinci platform also developed by TI. It supports a wider variety of chips, not only OMAP.&lt;br /&gt;
&lt;br /&gt;
It is the one farther from meeting linux standards, the code hasn't even been submitted for reviewing nor is planned to to be merged at any time.&lt;br /&gt;
&lt;br /&gt;
It's tightly tied to codecengine and dmai and there are GStreamer plug-ins provided by TI to use the algorithms.&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/gst-openmax</id>
		<title>BeagleBoard/gst-openmax</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/gst-openmax"/>
				<updated>2009-05-06T19:44:00Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* gst-openmax */ Remove stuff that's not needed any more&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use TI's DSP with GStreamer (e.g. on [[BeagleBoard|BeagleBoard]]). You need to have the DSP properly set up following [[BeagleBoard/DSP_Howto]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== OpenMAX IL ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to use the DSP capabilities is through the [http://www.khronos.org/openmax/ OpenMAX IL] API, but in order to compile TI's implementation a special DSP library is required.&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== libomxil-ti ===&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libomxil-ti.git&lt;br /&gt;
 cd libomxil-ti&lt;br /&gt;
 make BRIDGE_CFLAGS=-I../'''libdspbridge'''/inc BRIDGE_LIBS=-L../'''libdspbridge'''/lib DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== gst-openmax ==&lt;br /&gt;
&lt;br /&gt;
You would need to compile gst-openmax inside scratchbox:&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/gst-openmax.git&lt;br /&gt;
 cd gst-openmax&lt;br /&gt;
 git checkout -b omap origin/omap&lt;br /&gt;
 ./autogen.sh --noconfigure&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
= Related stuff =&lt;br /&gt;
&lt;br /&gt;
In order to get the omapfb usable for video playback you need this kernel argument:&lt;br /&gt;
 video=omapfb:vram:2M,vram:4M&lt;br /&gt;
&lt;br /&gt;
And the GStreamer element:&lt;br /&gt;
 git clone git://github.com/felipec/gst-omapfb.git&lt;br /&gt;
 cd gst-omapfb&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
You should be able to use the gst-openmax elements now:&lt;br /&gt;
&lt;br /&gt;
 gst-launch-0.10 filesrc location=&amp;quot;foobar.avi&amp;quot; ! avidemux ! omx_mpeg4dec ! omapfbsink&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/gst-openmax</id>
		<title>BeagleBoard/gst-openmax</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/gst-openmax"/>
				<updated>2009-05-06T19:43:02Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* gst-openmax */ Use omap branch!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use TI's DSP with GStreamer (e.g. on [[BeagleBoard|BeagleBoard]]). You need to have the DSP properly set up following [[BeagleBoard/DSP_Howto]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== OpenMAX IL ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to use the DSP capabilities is through the [http://www.khronos.org/openmax/ OpenMAX IL] API, but in order to compile TI's implementation a special DSP library is required.&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== libomxil-ti ===&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libomxil-ti.git&lt;br /&gt;
 cd libomxil-ti&lt;br /&gt;
 make BRIDGE_CFLAGS=-I../'''libdspbridge'''/inc BRIDGE_LIBS=-L../'''libdspbridge'''/lib DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== gst-openmax ==&lt;br /&gt;
&lt;br /&gt;
You would need to compile gst-openmax inside scratchbox:&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/gst-openmax.git&lt;br /&gt;
 cd gst-openmax&lt;br /&gt;
 git checkout -b omap origin/omap&lt;br /&gt;
 ./autogen.sh --noconfigure&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
PS: according to this thread http://groups.google.com/group/beagleboard/browse_thread/thread/335c2f6cb7b2adc5?pli=1, you will need to fetch the common directory from http://cgit.freedesktop.org/~bilboed/common/ for the autogen.sh script to work&lt;br /&gt;
&lt;br /&gt;
= Related stuff =&lt;br /&gt;
&lt;br /&gt;
In order to get the omapfb usable for video playback you need this kernel argument:&lt;br /&gt;
 video=omapfb:vram:2M,vram:4M&lt;br /&gt;
&lt;br /&gt;
And the GStreamer element:&lt;br /&gt;
 git clone git://github.com/felipec/gst-omapfb.git&lt;br /&gt;
 cd gst-omapfb&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
You should be able to use the gst-openmax elements now:&lt;br /&gt;
&lt;br /&gt;
 gst-launch-0.10 filesrc location=&amp;quot;foobar.avi&amp;quot; ! avidemux ! omx_mpeg4dec ! omapfbsink&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T22:29:37Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Simplified */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. You can use my branch in github that is based on 2.6.28-omap1 and has DSS2 too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone git://github.com/felipec/linux-omap.git&lt;br /&gt;
 git checkout -b felipec v2.6.28-felipec1&lt;br /&gt;
 cd linux-omap&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
 make&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then build the '''uImage''' as usual and install the modules on your rootfs:&lt;br /&gt;
 make INSTALL_MOD_PATH=/media/rootfs modules_install&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.22&amp;quot;. The recommended version is '''v6.0.22'''.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '''target''' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T22:28:13Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Kernel driver */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. You can use my branch in github that is based on 2.6.28-omap1 and has DSS2 too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone git://github.com/felipec/linux-omap.git&lt;br /&gt;
 git checkout -b felipec v2.6.28-felipec1&lt;br /&gt;
 cd linux-omap&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
 make&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then build the '''uImage''' as usual and install the modules on your rootfs:&lt;br /&gt;
 make INSTALL_MOD_PATH=/media/rootfs modules_install&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.22&amp;quot;. The recommended version is '''v6.0.22'''.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '''target''' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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'''.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T22:25:34Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Kernel driver */ update&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. You can use my branch in github that is based on 2.6.28-omap1 and has DSS2 too.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone git://github.com/felipec/linux-omap.git&lt;br /&gt;
 git checkout -b felipec v2.6.28-felipec1&lt;br /&gt;
 cd linux-omap&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
 make&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.22&amp;quot;. The recommended version is '''v6.0.22'''.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '''target''' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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'''.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T14:07:03Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Simplified */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.22&amp;quot;. The recommended version is '''v6.0.22'''.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '''target''' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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'''.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T14:05:29Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* DSP side */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.22&amp;quot;. The recommended version is '''v6.0.22'''.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '''target''' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
Apparently the only version that works is v6.0.16.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T14:05:08Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* DSP side */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.22&amp;quot;. The recommended version is ''v6.0.22''.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '''target''' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
Apparently the only version that works is v6.0.16.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T13:33:36Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* ARM side */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.16&amp;quot;. The only version tested is 6.0.16.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '''target''' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
Apparently the only version that works is v6.0.16.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T13:25:07Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Official */ Update ARM side instructions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz 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:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 mpu_api&lt;br /&gt;
 mpu_driver&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
=== DSP side ===&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.16&amp;quot;. The only version tested is 6.0.16.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
=== ARM side ===&lt;br /&gt;
&lt;br /&gt;
You'll need to prepare a '*target*' directory:&lt;br /&gt;
 export target=/tmp/dsp-target&lt;br /&gt;
 mkdir -p $target/lib&lt;br /&gt;
&lt;br /&gt;
Also, build libbridge and libqos:&lt;br /&gt;
 cd mpu_api/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- install&lt;br /&gt;
&lt;br /&gt;
To build the examples:&lt;br /&gt;
 cd samples/mpu/src&lt;br /&gt;
 make PREFIX=$target/.. CROSS=arm-linux- LIBINCLUDES=$target/lib LDPATH=$target/lib install&lt;br /&gt;
&lt;br /&gt;
All you need will be on '/tmp/dsp-target'.&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
Apparently the only version that works is v6.0.16.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-04-10T12:33:52Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Developing */ Add XDC info.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
There are two ways to compile your own DSP nodes; the official one which requires XDC tools, and the simplified one (which I prefer).&lt;br /&gt;
&lt;br /&gt;
== Official ==&lt;br /&gt;
&lt;br /&gt;
You'll need the [https://www-a.ti.com/downloads/sds_support/targetcontent/LinuxDspTools/download.html C6x compiler], extract it in &amp;quot;/opt/dsp/cgt6x-6.0.16&amp;quot;. The only version tested is 6.0.16.&lt;br /&gt;
&lt;br /&gt;
You'll need the &amp;quot;DSP/BIOS&amp;quot; package and &amp;quot;RTSC/XDCtools&amp;quot; in order to compile the dsp-brige examples, you can download them from [https://www-a.ti.com/downloads/sds_support/targetcontent/index.html here]. Here we will assume they are installed in &amp;quot;/opt/dsp&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Download the dsp-bridge examples from the [https://omapzoom.org/gf/download/frsrelease/147/848/dspbridge_LDP_v1.8.tar.gz omapzoom project]. Once you extract the main tarball you'll need to extract both 'dspbridge_dsp.tar.gz' and 'dspbridge_samples.tar.gz' on the same directory so you have something like:&lt;br /&gt;
&lt;br /&gt;
 config.bld&lt;br /&gt;
 documents&lt;br /&gt;
 dsp&lt;br /&gt;
 product.mak&lt;br /&gt;
 samplemakefile&lt;br /&gt;
 samples&lt;br /&gt;
&lt;br /&gt;
Edit &amp;quot;product.mak&amp;quot; to match the version of your tools. Then run:&lt;br /&gt;
 make -f samplemakefile .bridge_samples DD_XDCDIR=/opt/dsp/xdctools_3_10_02 SABIOS_DIR=/opt/dsp/bios_5_33_04/packages DEPOT=/opt/dsp&lt;br /&gt;
&lt;br /&gt;
== Simplified ==&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
Apparently the only version that works is v6.0.16.&lt;br /&gt;
&lt;br /&gt;
=== doffbuild tools ===&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== Example dsp node ===&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2009-01-13T15:23:33Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Developing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
Apparently the only version that works is v6.0.16.&lt;br /&gt;
&lt;br /&gt;
== doffbuild tools ==&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
== libdspbridge ==&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== Example dsp node ==&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2008-12-08T14:37:28Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* ping test */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
If you get an error like:&lt;br /&gt;
 DSPNode_Allocate failed: 0x80008008&lt;br /&gt;
&lt;br /&gt;
Then it's possible that the ping DSP socket node is not loaded. If you use 'baseimage.dof' you need to load it dynamically:&lt;br /&gt;
&lt;br /&gt;
 ./dynreg.out -r pingdyn_3430.dll64P&lt;br /&gt;
&lt;br /&gt;
On the other hand, 'ddspbase_tiomap3430.dof64P' has the node statically included, so there's no need to do that.&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
== doffbuild tools ==&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
== libdspbridge ==&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== Example dsp node ==&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/video</id>
		<title>BeagleBoard/video</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/video"/>
				<updated>2008-11-04T21:46:53Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Initial version.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article describes information regarding video output on the beagleboard.&lt;br /&gt;
&lt;br /&gt;
== omapfb ==&lt;br /&gt;
&lt;br /&gt;
The current framebuffer diver has a generic interface (/dev/fb) but also a specific OMAP (2 and 3) interface for YUV overlays (/dev/fb1).&lt;br /&gt;
&lt;br /&gt;
In order to use the YUV overlays (/dev/fb1) you need to specify some kernel parameters:&lt;br /&gt;
&lt;br /&gt;
 video=omapfb:vram:2M,vram:4M&lt;br /&gt;
&lt;br /&gt;
For this particular case you'll need a corresponding consistent DMA size configuration:&lt;br /&gt;
&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=6&lt;br /&gt;
&lt;br /&gt;
In order for the display controller to work you'll need a patch from Mans Rullgard which can be found [http://people.freedesktop.org/~felipec/beagle/0001-OMAP-Enable-overlay-optimisation.patch here]. (At least at the time of this writing it's still needed 2.6.27-omap1)&lt;br /&gt;
&lt;br /&gt;
For examples of how to use the custom omapfb see:&lt;br /&gt;
&lt;br /&gt;
* [http://github.com/felipec/gst-omapfb gst-omapfb]&lt;br /&gt;
* [http://git.mansr.com/?p=omapfbplay omapfbplay]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2008-10-22T14:48:07Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Kernel driver */ Update Hiroshi's patches.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081021.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081021.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14   #in Device Drivers-&amp;gt;Graphics support-&amp;gt;Support for frame buffer devices-&amp;gt;Consistent DMA memory size&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m                     #in Device Drivers-&amp;gt;DSP Bridge driver&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
== doffbuild tools ==&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
== libdspbridge ==&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== Example dsp node ==&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2008-10-20T18:06:07Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* More information */ Fix link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081010.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081010.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
== doffbuild tools ==&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
== libdspbridge ==&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== Example dsp node ==&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2008-10-20T18:05:17Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* libdspbridge */ Up one level.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081010.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081010.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
== doffbuild tools ==&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
== libdspbridge ==&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== Example dsp node ==&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmnax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2008-10-20T18:01:54Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* Developing */ Add example dsp-node&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081010.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081010.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
== doffbuild tools ==&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
This library is used by the user-space applications.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''$rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== Example dsp node ==&lt;br /&gt;
&lt;br /&gt;
Here is an [http://github.com/felipec/dsp-dummy example dsp node] that is simply passing buffers back and forth.&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/dsp-dummy.git&lt;br /&gt;
 make DSP_TOOLS=/opt/dsptools DSP_DOFFBUILD=/opt/doffbuild BRIDGE_DIR=../libdspbridge&lt;br /&gt;
&lt;br /&gt;
As a result you'll have two binaries; '''dummy.dll64P''' for dsp-side, and '''dummy''' for arm-side.&lt;br /&gt;
&lt;br /&gt;
To load the dynamic node:&lt;br /&gt;
 /dspbridge/dynreg.out -r /lib/dsp/dummy.dll64P&lt;br /&gt;
&lt;br /&gt;
Now you can run the '''dummy''' test application.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmnax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2008-10-20T17:36:34Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: /* doffbuild tools */ Add intructions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081010.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081010.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
== doffbuild tools ==&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
 mkdir -p tmp&lt;br /&gt;
 tar -xf dspbridge_dsp.tar.gz -C tmp&lt;br /&gt;
 mv tmp/dsp/bdsptools/packages/ti/dspbridge/dsp/doffbuild /opt/doffbuild&lt;br /&gt;
 rm -rf tmp&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmnax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2008-10-20T17:31:39Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Add developing information.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081010.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081010.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= Developing =&lt;br /&gt;
&lt;br /&gt;
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] and doffbuild tools.&lt;br /&gt;
&lt;br /&gt;
== doffbuild tools ==&lt;br /&gt;
&lt;br /&gt;
The only relevant tool is DLLcreate, which can be found in TI's omapzoom site, on the [http://omapzoom.org/gf/download/frsrelease/108/421/dspbridge_dsp.tar.gz dspbridge_dsp] package.&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmnax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/DSP_Howto</id>
		<title>BeagleBoard/DSP Howto</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/DSP_Howto"/>
				<updated>2008-10-20T17:11:57Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Move gst-openmax information.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
This article explains how to use the DSP in [http://focus.ti.com/general/docs/gencontent.tsp?contentId=36915&amp;amp;amp;DCMP=OMAP_Feb27_2008&amp;amp;amp;HQS=Other+PR+omap3503pr OMAP3] at [[BeagleBoard|BeagleBoard]] with TI's deliverables. For DSP tool chain see [[BeagleBoard#C64x.2B_DSP|C64x+ DSP]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Kernel driver ==&lt;br /&gt;
&lt;br /&gt;
In order to use the DSP you would need TI's bridgedriver module on the kernel. For that you would need Hiroshi's [http://4869037.web.fc2.com/tidspbridge-20080922.tgz patches] on top of linux-omap:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 git clone http://www.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6.git&lt;br /&gt;
 cd linux-omap-2.6&lt;br /&gt;
 wget http://4869037.web.fc2.com/tidspbridge-20081010.tgz&lt;br /&gt;
 tar xvzf tidspbridge-20081010.tgz&lt;br /&gt;
 git am *.patch&lt;br /&gt;
 make omap3_beagle_defconfig&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then &amp;lt;code&amp;gt;make menuconfig&amp;lt;/code&amp;gt; and add the following options in the menuconfig:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
 CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=14&lt;br /&gt;
 CONFIG_MPU_BRIDGE=m&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TI binaries ==&lt;br /&gt;
&lt;br /&gt;
In order to get the DSP binaries for multimedia processing you need to download TI's OpenMAX IL [https://omapzoom.org/gf/download/frsrelease/111/396/tiopenmax-0.3.tar.gz 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.&lt;br /&gt;
&lt;br /&gt;
You would end up with a bunch of binaries in &amp;lt;code&amp;gt;lib/dsp&amp;lt;/code&amp;gt;, copy them to your root filesystem at the same location (/lib/dsp).&lt;br /&gt;
&lt;br /&gt;
=== ping test ===&lt;br /&gt;
&lt;br /&gt;
If you want to test the DSP you can try the simple ping test provided in this [https://omapzoom.org/gf/download/frsrelease/132/632/dspbridge_binaries.tar.bz2 package].&lt;br /&gt;
&lt;br /&gt;
Just:&lt;br /&gt;
 ./ping.out&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
On the board use this to load the module:&lt;br /&gt;
&lt;br /&gt;
 modprobe bridgedriver base_img=/lib/dsp/baseimage.dof&lt;br /&gt;
&lt;br /&gt;
= More information =&lt;br /&gt;
&lt;br /&gt;
* [[BeagleBoard/gst-openmnax]]&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	<entry>
		<id>http://elinux.org/BeagleBoard/gst-openmax</id>
		<title>BeagleBoard/gst-openmax</title>
		<link rel="alternate" type="text/html" href="http://elinux.org/BeagleBoard/gst-openmax"/>
				<updated>2008-10-20T17:11:00Z</updated>
		
		<summary type="html">&lt;p&gt;Felipec: Initial gst-openmax page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Linux]]&lt;br /&gt;
[[Category: OMAP]]&lt;br /&gt;
&lt;br /&gt;
This article explains how to use TI's DSP with GStreamer. You need to have the DSP properly set up following [[BeagleBoard/DSP_Howto]].&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== OpenMAX IL ==&lt;br /&gt;
&lt;br /&gt;
The easiest way to use the DSP capabilities is through the [http://www.khronos.org/openmax/ OpenMAX IL] API, but in order to compile TI's implementation a special DSP library is required.&lt;br /&gt;
&lt;br /&gt;
=== libdspbridge ===&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libdspbridge.git&lt;br /&gt;
 cd libdspbridge&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
=== libomxil-ti ===&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/libomxil-ti.git&lt;br /&gt;
 cd libomxil-ti&lt;br /&gt;
 make BRIDGE_CFLAGS=-I../'''libdspbridge'''/inc BRIDGE_LIBS=-L../'''libdspbridge'''/lib DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
== gst-openmax ==&lt;br /&gt;
&lt;br /&gt;
You would need to compile gst-openmax inside scratchbox:&lt;br /&gt;
&lt;br /&gt;
 git clone git://github.com/felipec/gst-openmax.git&lt;br /&gt;
 cd gst-openmax&lt;br /&gt;
 ./autogen.sh --noconfigure&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
= Related stuff =&lt;br /&gt;
&lt;br /&gt;
In order to get the omapfb usable for video playback you need this kernel argument:&lt;br /&gt;
 video=omapfb:vram:2M,vram:4M&lt;br /&gt;
&lt;br /&gt;
And the GStreamer element:&lt;br /&gt;
 git clone git://github.com/felipec/gst-omapfb.git&lt;br /&gt;
 cd gst-omapfb&lt;br /&gt;
 make DESTDIR='''rootfs''' install&lt;br /&gt;
&lt;br /&gt;
= Running =&lt;br /&gt;
&lt;br /&gt;
You should be able to use the gst-openmax elements now:&lt;br /&gt;
&lt;br /&gt;
 gst-launch-0.10 filesrc location=&amp;quot;foobar.avi&amp;quot; ! avidemux ! omx_mpeg4dec ! omapfbsink&lt;/div&gt;</summary>
		<author><name>Felipec</name></author>	</entry>

	</feed>