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.

SRIO: doorbell & Interrupt

Other Parts Discussed in Thread: TMS320C6455

Hi all,

I am a student and a beginner in DSP programming. This is my first post there.
I am working on the DSK 6455 board in loop back mode (without mezzanine) using CCS 3.2 version.

I am trying to generate an interrupt at the end of an SRIO transfer.
I read a lot of topics in different forum about SRIO and I also read a lot of data sheets (TMS320C6455, SRIO User's guide, Chip Support Library).
Even all of this, I am a little lost. I think I should use doorbell but I didn't really understand how it works.

For the moment SRIO transfer is working, and I am trying to generate an interrupt with this kind of code, at the end of the TI srio_write function:
***************************************************
volatile Uint32 *RIO_DOORBELL0_ICSR;

...

RIO_DOORBELL0_ICSR = (Uint32 *)0x02D00200;
*RIO_DOORBELL0_ICSR = 0x1;
**************************************************
I am not sure if it is the best way to generate an interrupt, and in fact, I don't know if it is really working...

I also saw in one topic that maybe I should use "vector.asm" file to be able to call the interrupt service routine for the selected interrupt line.
In fact my final objective will be to use this interrupt to "chain" SRIO transfers and send a lot of data (beyond the 4kB SRIO payload), and measure the transfer rate.

Can you try to help me?
All help is welcome ;-)

Thanks a lot!

Best regards,
Gautier.

PS: I am not an English people so I am sorry if my language is not excellent. I do my best!

  • Hi,

     

    anyone can help me please?

    As I wrote in my first post, I am a beginner and don't know what I have to do now...

     

    Thanks.

     

    Best Regards,

    Gautier.

  • ICSR is only a is only a status register. IN order to send a doorbell interrupt, you have to do a LSU transfer of type doorbell. It is similar to the transer of data you did, only the packet type is changed to doorbel now.

     

    Thanks,

    Arun.

  • Hi Gautier,

    I think you can use DOORBELL to generate the SRIO interrupt after each transaction. 

    The link as follows is the DIO library, which aims at providing a CSL-like Serial RapidIO (SRIO) "functional layer" for the directIO mode of Texas Instruments' TMS320C645x/7x DSP platform. It includes the example of doorbell interrupt. 

    https://gforge.ti.com/gf/project/sriodirectiolib/frs/?action=FrsReleaseView&release_id=361

    I hope it is a good start for your reference. Thanks.

     

    Sincerely,

    Steven

     

     

  • Steven Ji said:

    Hi Gautier,

    I think you can use DOORBELL to generate the SRIO interrupt after each transaction. 

    Hi,steven:

    what do you mean when you said in above word?

    As I know, SRIO packet can be divided into doorbell packet Ftype =10 and non-doorbell

    packet such as Ftype = 5 NWRITE.

    So,Does it mean that we also can use DOORBELL to generate the interrupt even if we

    send a data packet (non-doorbell packet such as NWRITE)?

    Does it mean that we need set ICSR if we want to generate SRIO interrupt when we

    send a data packet (NWRITE) ?

    I have no idea about that.Now I am working with C6678 ,I want to generate SRIO interrupt

    after I send data packet NWRITE to reciever .But I failed SRIO reciever can get data in memory

    and don't get SRIO ISR.I don't know why?

    How to generate a SRIO interrupt if I send a data packet NWRITE Ftype=5? set ICSR?

    How to generate a SRIO interrupt if I send a doorbell packet Ftype =10?

    Even this is an C64x forum ,But it's similar to 6678 about SRIO,So,Please throw some

    light for that . thanks very much.

  • Ferdinand,

    I think you have active discussion with our SRIO expert on another thread for the similar topic:

    http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/311852/1087975.aspx#1087975

    Hope you could get help there.