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.

Software Organisation for SRIO IOM Driver and RapidIO MQT

Hi,

I'm thinking about an app that will receive block data and messages via SRIO.

At the moment I see things like this:

  • Block data will be transferred using streams (SIO) and SRIO Direct I/O
  • Messages will be handled using RapidIO MQT (SRIO Messages)

I have created an SRIO IOM driver, based on the examples in spru616.pdf, so that I can use SIO. In mdBindDev I call CSL_srioOpen to create an SRIO handle. This seems like the correct thing to do as spru616.pdf says mdBindDev may be used to allocate resources. I want to use static objects and hence all this happens before main is entered.

But...

I need to use the same SRIO resource (i.e. the SRIO peripheral on the C6455) to do my message passing with RapidIO MQT.

In other words, I've encapsulated my SRIO handle in the SRIO IOM and I don't have one for message passing.

Obviously the SRIO handle in the SRIO IOM could be made global but this feels completely wrong. If I'm going to have globals using the driver model seems a bit pointless.

I'm guessing that I could dynamically allocate the objects after opening the SRIO handle in main but this doesn't sound great!

I also wondered if the SRIO IOM driver should handle SRIO Messages (as well as Direct I/O) but this sounds like too much work/responsibility for one driver.

Any thoughts greatly appreciated!

Matt