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.

Using QMSS in SysBios and Linux

Other Parts Discussed in Thread: SYSBIOS

I would like to use QMSS for IPC between the DSP core and the ARM cores, as well as to give the DSPs direct access to other periphrials (such as the NETCP).

Is this possible using the Sys/BIOS LLD?  Linux setups up the QMSS, but the LLD wants to set it up again.  When it does, it clobbers the communication to the NETCP.  Is there a way to fake out the driver so the driver doesn't feel the need to initialize everything?

Are there any examples of IPC using QMSS?  I have only found one example of IPC in the mpm library, but it uses the mpm_mailbox mechanism instead.

  • I hope, you are using keystoneII device.
    You can find the example code for IPC and SYSBIOS based at: mcsdk_bios_xx_xx_xx_xx\demos\image_processing\ipc

    And also find the information about IPC at the below wiki:
    http://processors.wiki.ti.com/index.php/IPC_3.x
    http://processors.wiki.ti.com/index.php/IPC_User%27s_Guide
    http://processors.wiki.ti.com/index.php/MCSDK_UG_Chapter_Developing_Transports

    Apart from MPM example , there is no direct test code for QMSS and IPC combined.
    But you can find this sencerio at the keystone-I supported MCSDK software.
    pdk_C6678_x_x_x_x\packages\ti\transport\ipc\examples\qmssIpcBenchmark

  • Given this information, it looks like I cannot do what I would like to do. 

    I am using a Keystone II device.  As far as I can tell the Keystone I devices don't have ARM cores, so those examples will not be applicable to what I am trying to do.  I basically want to the Sys/BIOS LLD to play nicely with the Linux/ARM device drivers, so that both operating systems can use the devices controlled by the LLDs, specifically the QMSS LLD.  IPC is just one example of why I would like to share QMSS.

    I will dive into the mcsdk ipc example and see if I can find any work arounds.

    Thanks,

  • Hi,

    Yes, I have given example of qmss benchmark for Keystone-1 device. And also you will get IPC examples in the IPC_3 Package, please let me know if you need further support on your implementation.

  • Hi, 

    Did you get the workaround from the MCSDK for IPC? If yes, please close this thread, so that future reader get the valid information and also give the details. If not, please let us know, we may try to help.

  • Not quite.  I am still working on it, but I think I am headed in the right direction. 

    I am going to try to modify the NDK example from the MCSDK to use the resource manager server/client model from the PDK.  Right now the resource manager example in the NDK assumes that there are no other users running.  Once I finish I will post my results here.

  • Hi,

    Thanks to given the working status. Yes, You also take the NDK examples and change the code as per your requirement. Let us know, if you get any issue on this.

  • Hi,

    Please create new thread for new Issue if you having.Otherwise If you are not complete your task issue, we can discuss your issue here.

  • I have made enough progress to feel comfortable closing this issue.  I.E. I have been able to use the QMSS LLD on the DSP without crashing Linux. To do so I had to start the rmServer.out mentioned here with the dtb files in  C:\ti\pdk_keystone2_3_00_04_18\packages\ti\drv\rm\device\k2h.

    Initializing the QMSS LLD throws an error when trying to allocated the QMSS linkram control.  However, this doesn't appear to be a fatal error, so I just changed the resource_manager to ignore the error QMSS_RESOURCE_LINKING_RAM_INIT_DENIED.  It can then proceed and allocate queues.

  • Derrick,

    Thanks for the update and provided your solution here. However this discussion of thread will be helpful for future readers.

  • Hi Derrick,

    I am having a similar kernel crash when I run DSP application which uses QMSS for an BCP project. Could you please let me know as what steps were taken to resolve this

    Many thanks

    Best regards

    LN Reddy