TI工程师您好,我使用的是C6678,现在通过SRIO接收来自FPGA的数据,
1、当接收到doorbell触发中断时只能进入一次中断服务函数,这是为什么呢?中断服务函数如下:
void test_isr_handler (void* handle)
{
Uint16 doorbellStatus;
hnd = CSL_CPINTC_open (0);
printf("receive a interrupt from SRIO\n");
INT_Flag = 1;
// 使主机中断失效
CSL_CPINTC_disableHostInterrupt (hnd, 10);
// 清除系统中断
CSL_CPINTC_clearSysInterrupt (hnd,116);
// 使能主机中断
CSL_CPINTC_enableHostInterrupt (hnd, 10);
// 获得正在等待的doorbell中断状态
CSL_SRIO_GetDoorbellPendingInterrupt (hSrio, 0, &doorbellStatus);
// 如果有doorbell中断正在等待,则清除正在等待的doorbell中断,以等待进入下一次中断
CSL_SRIO_ClearDoorbellPendingInterrupt (hSrio, 0, doorbellStatus);
}
2、INT_Flag标志位在别的函数中被调用时值始终是0,这是为什么?
3、选择INTDST4的时候可以配置interrupt rate,看了手册对这不是很明白,请问中断速率是什么?