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例程调试的疑问

Other Parts Discussed in Thread: TMS320C6678

你好:

最近在调试SRIO,从论坛下载的例子中(http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/4773.aspx),在SRIO_DIGITAL_LOOPBACK模式下,对doorbell测试时(就是srio_doorbell_latency_test(0)这个函数),会触发中断,我想知道这个中断是由于doorbell发送触发的,还是由于接收到doorbell触发的?

TMDX6678L   CCSV5.1

谢谢!

  • 中断是接收到doorbell触发的。 Keystone_SRIO的doorbell中断路由关系如下:DOORBELL0_0_INT~DOORBELL0_4_INT --> INTDST_16 --> core0的vector4,当接收到doorbell中,会进入 SRIO_Doorbell_ISR()中断服务程序。

  • Julie 您好,

    请问INTDST_16 --> core0 是怎么映射的?如果是固定映射的话我想把中断引入到core1去需要做什么修改?

  • 在tms320c6678的datasheet中,Table 7-38列出了CorePac的中断系统事件,

    doorbell的专用中断INTDST16直接作为CorePac0的20#系统输入事件,下面的代码将其作为Core0的INT4硬件中断源:

    关于CorePac的中断控制器,请参考SPRUGW0B(TMS320C66x DSP CorePac User Guide)第九章Interrupt Controller

  • 我想问下,在论坛提供的例程中有两个地方不清楚:

    srio_cfg.blockEn.bLogic_Port_EN[]和blockEn.bBLK5_8_Port_Datapath_EN[]各是什么意思?他们俩之间是什么关系?

    很疑惑,谢谢指点!

  • bBLK5_8_Port_Datapath_EN用来配置使用多少条lane,即1x 2x 4x path,它的取值对应着0001、0011、1111(LaneD-C-B-A);

    bLogic_Port_EN用来配置哪个port端口工作,(1)1x模式,只有port0工作,取值对应着0001(port3-2-1-0);

    (2)2x模式下,有两种mode,取值对应着0011、0001;

    (3)4x模式下,有5种mode,取值对应着1111、1101、0111、0101、0001。

    请参考下图,它们两者是有一定关联的。两者结合起来,准确描述了SRIO接口工作在1x、2x或4x的哪种mode。