DSPLink (DSP-side component was not initialized)

Hi beagleusers,

i am a student, currently working on sound-processing using the beagleboard in revision C4.
Currently I try to explore the possibilities of the DSP-part of the OMAP SOC, but ran into problems.

my setup:

an angstrom image build from source using the setup-script and a custom image recipe:

<my-image.bb>

require x11-image.bb

IMAGE_INSTALL += "
task-xfce46-base
task-xfce46-extras
ti-dsplink-module
ti-dsplink-examples
task-sdk-native
alsa-utils
"

export IMAGE_BASENAME = “image-20100712-beagleboard-xfce”

</my-image.bb>

X-Loader: Texas Instruments X-Loader 1.4.4ss (May 28 2010 - 03:38:15)

U-Boot: U-Boot 2010.03-dirty (Jul 11 2010 - 20:28:31)

I limit the memory used by the kernel with the following u-boot line:

optargs=mem=99M@0x80000000

For what i read, this should be the smaller variant that is also suiteable for devices with just 128 MB.

Loading the module with the shell-script in the dsplink example directory gives no error:

root@beagleboard:/usr/share/ti/ti-dsplink-examples# ./ti-dsplink-examples-loadmodules.sh
You have 81456kB total memory for Linux
[ 3192.517913] DSPLINK Module (1.64) created on Date: Jul 11 2010 Time: 21:50:14

But running the examples-script, every example (except the first one) fails:

=============== Sample Application : LOOP ==========
==== Executing sample for DSP processor Id 0 ====
Entered LOOP_Create ()
Leaving LOOP_Create ()
Entered LOOP_Execute ()
Transferred 1000 buffers
Transferred 2000 buffers
Leaving LOOP_Execute ()
Entered LOOP_Delete ()
Leaving LOOP_Delete ()

http://processors.wiki.ti.com/index.php/Troubleshooting_DSPLink_configuration_issues#Problem:_PROC_start_failed_with_configuration_mismatch.2Ffailure_showing_modules_with_0xffffffff_but_print_for_one_of_the_modules_is_missing

http://code.google.com/p/rowboat/issues/detail?id=33

Thanks for the links.

My error is mentioned in the first one: http://processors.wiki.ti.com/index.php/Troubleshooting_DSPLink_configuration_issues#Problem:_PROC_start_failed_with_configuration_mismatch.2Ffailure
Sadly the one with most possible causes.

Maybe a inconsistent memory-map-setting between GPP and DSP. But if this is the cause shouldn’t there be a useful default value in the sources?
http://processors.wiki.ti.com/index.php/Changing_DSPLink_Memory_Map talks about a 1+1MB default configuration.
It obviously worked for the authors of the tutorials.

Somebody here, for whom it worked out-of-the-box without changing the memorymap?

Otherwise my next step would be to build the kernel and dsplink outside the oe-framework.

Christian

2010/7/12 renjie huang <huangrenjie.hust@gmail.com>

I think this is because the DSP doesn't support running different
programs one after another. This is pointed out, somewhat
cryptically, in section 9.4 of the DSPLink OMAP3530 install guide.
The DSP needs to be reset between program invocations, for example
using the LPM example utilities. (Thanks to Koen Kooi for pointing
this out to me a while back.)

Michael

Michael Price wrote:

I think this is because the DSP doesn't support running different
programs one after another. This is pointed out, somewhat
cryptically, in section 9.4 of the DSPLink OMAP3530 install guide.
The DSP needs to be reset between program invocations, for example
using the LPM example utilities. (Thanks to Koen Kooi for pointing
this out to me a while back.)

Hmm, from what I see, CodecEngine power cycles the DSP (using LPM)
between loading different codec servers, so there is no need to run
LPM stuff manually.

ah, of course that only applies to CodecEngine, for pure DSPLink
it is still needed...