Bernard, Sorry for the slow reply.
LAD was initially created for a specific use case where multiple independent Linux processes needed to be able to simultaneously access the DSP, and these processes could come and go in any order at runtime. LAD was needed because there were some limitations with the DSP/BIOS Link APIs that required coordination between the different apps, as well as an ownership model that required the first app to keep alive in order for the other apps to continue to use the DSP. When LAD is used, LAD is the "owner" of the DSP, and it handles all the DSP/BIOS Link startup and shutdown calls that require arbitration between the different apps. LAD was left very lightly documented because we've been looking at a few different options going forward. Today it can be used "under the hood" by Codec Engine, and the details are abstracted underneath CE's OS abstraction layer. For CE apps, all that is needed (as you can see in the speech_copy_LAD example), is to specify in the engine configuration file: 1) that LAD is to be used, 2) the particular Link configuration to be used, and 3) the path to the DSP server executable. For non-CE apps that want to communicate with LAD, those apps will need to call the "ladclient" APIs at the appropriate parts of their startup and shutdown. There is also some work required to define the "common" Link configuration that will be used for the DSP server, and all the client Linux apps. I will be adding some LAD information to the DaVinci Wiki. In the mean time, I will send you in a private email a document that describes LAD, configuration, and usage constraints. Please contact me directly if you have questions. Regards, Scott > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] ] On Behalf Of Bernard Blackham > Sent: Thursday, October 18, 2007 1:41 AM > To: [email protected] > Subject: Codec Engine 1.20 and LAD > > Hi, > > One of the attractive features of CE 1.20 to me was the Link > Application Daemon, described on the download page as: > > * Link Application Daemon (LAD) that enables sharing of DSP/BIOS Link > between Codec Engine and additional ARM-DSP applications > > I've looked at the speech_copy_LAD example, and ladclient, > and can't figure out how to actually use it to send messages. > The LAD API has functions to connect to LAD, start the DSP, > and get the DSP status, but I can't see how to use dsplink > through it. Have I missed something? > > What I'd like to do is have a thread on the ARM that > communicates via dsplink's MSGQs (and other mechanisms such > as NOTIFY/CHNL/RINGIO) to a task on the DSP, but use codec > engine in parallel. Is there any example code around to do > something like this? Is LAD what I actually want? Or is there > an easier method I've missed? > > Thanks in advance, > > Bernard. > > > _______________________________________________ > Davinci-linux-open-source mailing list > [email protected] > http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source > _______________________________________________ Davinci-linux-open-source mailing list [email protected] http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
