This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DSPLink application on L137 EVM

Other Parts Discussed in Thread: OMAP-L137

Sorry about the length of this post but I have tried to keep it as concise as possible.
The steps I have taken (described below) are by no means necessarily correct.

I have run out of ideas on what to try next. Any suggestions as to the best place to
look next would be appreciated. Has anyone else been down this path?

My objective: to build a DSPLink application, using a supplied example as a starting point.

The documents I refer to are from http://wiki.davincidsp.com.

Using 'Example DSPLIB/DSPLink Application on OMAP-L1x' I can get the application to
work using the supplied files, notably call_dsplib, dsplib_server.out, cmemk.ko and
dsplinkk.ko.

When I rebuild the ARM binary, using
make -f arm_makefile
I can create a new version of call_dsplib but when I try to run it I get an error
concerning cmemk.ko versions.

I rebuild the Linux kernel according to 'Building the OMAP-L137 Linux Kernel' - this
results in a new version of uImage. The new uImage can successfully be downloaded

and run on the L137. I'm not entirely sure that this step was useful - the next step may well have been more critical.

I successfully rebuild cmemk.ko according to 'Building the OMAP-L137 SDK'. The new
version of cmemk.ko is roughly the same size as the supplied version - approx 25kB.

Now, I can run the application again successfully, using my new call_dsplib binary.
The only changes to the program are that I have added further diagnostic printf()
statements to arm_main.c.

Next I try to rebuild dsplib_server.out, as per 'Example DSPLIB/DSPLink
Application on OMAP-L1x' using
make -f dsp_makefile
This is successful in so far as a new executable file dsplib_server.out is created.
Its size is very slightly different from that of the supplied version - approx 440kB.



(If I fire up CCS under Windows for the C6747 side of the L137, I can load either of the dsplib_server.out files

and find that the c_int00 addresses (and others) are different.)

Back on the ARM, when I try and run the application it now hangs in function PROC_start(). Function
PROC_load() has apparently executed successfully.

I try and rebuild dsplinkk.ko according to 'Building the OMAP-L137 SDK'. This creates
a new version of dsplinkk.ko that is over ten times larger than the supplied version.
1.3MB vs. 120kB. (?)

It is still apparently possible to load this module, using loadmodules.sh but the
application still hangs in PROC_start(), after PROC_load() has apparently executed
successfully.

According to 'Troubleshooting DSPLink configuration issues', this must be a
configuration issue. I've looked at dsplink-omapl1xxgem-base.tci and at
CFG_OMAPL1XXGEM-SHMEM.c and while I cannot claim to understand everything about them,
the apparent settings for reset vector, dsp code, shared memory and POOL memory
appear to match.

 Regards,

Donald

  • Donald,

    Please find my answers inline:

    >>The steps I have taken (described below) are by no means necessarily correct.

    [Deepali]: I appreciate the detail given in the post.

    >>My objective: to build a DSPLink application, using a supplied example as a starting point.

    [Deepali]: Is this the first time that you are using DSPLink? I would like to give you a few links to help you get comfortable with DSPLink

    DSPlink training at http://wiki.davincidsp.com/index.php/DSPBIOS_LINK_WebEx_Presentations

    How to build DSPLink at http://wiki.davincidsp.com/index.php/Building_DSPLink

    You can also try building and running the sample applications like message given in the DSPLink source code.

    >>I try and rebuild dsplinkk.ko according to 'Building the OMAP-L137 SDK'. This creates a new version of dsplinkk.ko that is over ten times larger than the supplied version.1.3MB vs. 120kB. (?)

    [Deepali]: Could there be a mismatch in the type of binary that you are using? The example expects a release version and you are using a debug version? That could explain the size difference.

    Deepali