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.

Issues to clear door bell interrupt

I try to clear door bell interupt in C6455 in using SRIO.

After successful initialization, I do the following

Uint32 *db1_ICCR = (Uint32 *)0x02D00218;

*db1_ICCR = (Uint32)0x0000FFFF;

However, the memory is not changed at the address 0x02D00218, which is still all 0s. 02D0 0218 RIO_DOORBELL1_ICCR is writable based on TMS320C645x Serial Rapid IO (SRIO) User's Guide (spru976).pdf.

I am wondering, why could not I write into the doorbell interrupt clear register.

Thank you,

 

  • The SRIO ICCRs are Write-only registers that will always read 0. You will never see the value written to ICCR when you read ICCR.

    When you write 0x0000FFFF to ICCR, it will clear the corresponding bits in the ICSR status register. You should observe that all bits in ICSR are 0's after writing all 1's to ICCR.

    Please check if this shows the results you expect.

  • Thank you. It was my bad that I miss the part in the SRIO document. I totally understand how it works now.

     

    Thank you