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.

TI 6474 DSP/BIOS using SRIO with direct I/O

Hi all,

I want to communicate the two dsps using SRIO with direct I/O mode and also want to  have the inter-core communication using "Shared Memory Message Queue

 Transport".I know there is a document "RapidIO MQT for TMS320C64x" for messaging logacal layer.

  Is it possible to replace  the messaging logacal layer with direct I/O logacal layer  using DSP/BIOS and also keep the inter-core communication ?

 

Best Regards,

W.T

  • DSP/BIOS has a rich set of features for various methods of communication. The MSGQ feature set allows you to define a wide range of messaging paths that all behave the same, so your program can send a message to a destination without having to "know" anything about that destination - it could be another task on the same core, another core, or another device. TI provides a few Message Queue Transport libraries to give you some of the common messaging paths that you might use.

    In the case where you want to add a new messaging path, such as using SRIO DirectIO instead of SRIO Messaging, you can do that but we do not have the MQT already built for you. I am not an expert on MSGQ, but I have looked at it a few times over the years. And I am assuming, like you, that the RapidIO MQT uses SRIO Messaging rather than DirectIO; it just seems to make sense for MSGQ to use Messaging, right?

    Further, I assume that the source code is included with the RapidIO MQT, so you can use that as a starting point for your new implementation.

    With all of that said, I would ask why you want to do this? MSGQ and Messaging are for abstracted message passing where no knowledge of the remote task is needed by the local task. But DirectIO requires pre-arranged addresses on the target and the passing of doorbells to indicate an operation has completed. DirectIO is usually used with higher throughput is needed, so the overhead fitting DirectIO into the DSP/BIOS MQT and MSGQ protocols would seem to contradict that need for speed.

    Without knowing anything about your system and your requirements, I would still recommend you look into the DirectIO Library to use for communicating between two C6474s rather than fitting into the MSGQ/MQT scenario. You can use both, so when there are cases requiring an abstracted message to be sent, use MSGQ; when there is a large buffer of data to be transferred, use DirectIO calls.

    There are several threads on E2E that discuss DIOLib. If you have not tried the red E2E Search box, it is pretty cool. It does an "as you type" search and offers a few quick finds or you can click Show All to get everything it finds. When I did a search on DIOLib (not case sensitive), the first one found was "DIO Library for C6474" - go to the top of that thread and the original poster included the URL to download the DIOLib!

    How close have I come to addressing what you wanted to know? Click Verify Answer on my posting if it is what you were looking for, or reply back with more information to help us find your answers.