TI中文支持网
TI专业的中文技术问题搜集分享网站

QMSS 中的accumulator的中断映射

HI,我在看K2的QMSS文档,关于accumulator的中断映射有点疑问

    1  我的目的是利用QMSS的的通讯实现ARM和DSP核之间的通讯。 想利用ACC的高优先级队列,可是从下面文档看到的关系是ACC的高优先级通道是映射到了DSP CORE的EVENT上,而且是以8个一循环,做的固定映射,请问 哪能把某些高优先级通道映射到ARM核上吗。如果可以,该如何做?

   2 从66AK2H14的数据手册中看到,ACC的高优先级通道是可以映射到ARM上,但是没有看到响应的例子。

  

Andy Yin1:

QMSS手册中只是列出部分事件的对应关系,参考你所使用芯片对应的手册,其中中断章节有列出DSP/ARM/CIC等所有的输入事件,如你所贴图,是可以路由到ARM上。参考ARM/DSP STK中navigator例程。

ARM STK: http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/82679.aspx

DSP STK: http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/74528.aspx

ping wang6:

回复 Andy Yin1:

HI, ANdy

    多谢你的解答。你推荐的代码,我之前已经看过了。同时我也看了PDK中提供的多核MC使用的例程,对于DSP我大概搞清楚了,但是对于ARM侧和DSP的联合使用,我还有点疑问。想再咨询一下,个人感觉TI的文档对于这部分的讲述不是特别的清楚

 一   我用的器件为66AK2H14。芯片手册中对于QMSS 中accumulaotr送到ARM和DSP事件号定义如下。

      ARM的事件号:

179 QMSS_INTD_1_HIGH_0 Navigator hi interrupt180 QMSS_INTD_1_HIGH_1 Navigator hi interrupt181 QMSS_INTD_1_HIGH_2 Navigator hi interrupt

182 QMSS_INTD_1_HIGH_3 Navigator hi interrupt183 QMSS_INTD_1_HIGH_4 Navigator hi interrupt184 QMSS_INTD_1_HIGH_5 Navigator hi interrupt185 QMSS_INTD_1_HIGH_6 Navigator hi interrupt186 QMSS_INTD_1_HIGH_7 Navigator hi interrupt

   DSP侧的事件号

182 QMSS_INTD_1_HIGH_3 Navigator hi interrupt183 QMSS_INTD_1_HIGH_4 Navigator hi interrupt184 QMSS_INTD_1_HIGH_5 Navigator hi interrupt185 QMSS_INTD_1_HIGH_6 Navigator hi interrupt186 QMSS_INTD_1_HIGH_7 Navigator hi interrupt187 QMSS_INTD_1_HIGH_8 Navigator hi interrupt

二  在QMSS文档中明确说了,对于K2H器件而言。ACC的通道高优先级到每个DSP CORE 的EVETN事件是固定映射关系,

Table 5-9 and Table 5-10 show the mapping of queues to high priority accumulation channels (INTDinterrupts). Note that each queue and interrupt maps to a specific DSP core, but the queues shown arethe suggested mapping. Other queues may be used. These interrupts also map to CPINTCx inputs (notshown).

Is the mapping of accumulator channel, queue and interrupt event fixed or can it be modified?The mapping of channels to events is fixed. The mapping of queue number to channel number is fixedonly for any queue that drives a queue_pend signal. This means that accumulator queue numbers may bechanged (the queues shown are the suggested mapping)

所以根据我 一个帖子贴的图片,我是这样理解的,对于K2H系列器件

ACC 通道0 对应中断 qmss_intr1_0 +0   DSP的48号事件

ACC通道1  对应中断 qmss_intr1_0+1   对应DSP CORE1 的48号事件

….

ACC通道7  对应中断 qmss_intr1_0+7   对应DSP CORE7 的48号事件

ACC 通道8 对应中断 qmss_intr1_8 +0   DSP CORE 0事件号49

而我们看ARM侧,我的理解是,把32个高优先级ACC的中断都映射到了每个ARM CORE。

那么我的问题来了:

   以 qmss_intr1_0 +0 中断为例, 它映射到了CORE0的48号事件,同时映射到了4个ARM CORE的179号事件。

    我理解是PDSP的accumulator工作时,会同时触发qmss_intr1_0 +0后,这个中断会送到DSP CORE0 的48号事件上,同时也会同时送到4个ARM CORE的179号事件上。假如我在4个ARM上和DSP CORE0上都挂接了一个中断的话,那么实际上是5个核的中断都会被触发。

不知道我这么理解是否正确。

谢谢

 

  

    

赞(0)
未经允许不得转载:TI中文支持网 » QMSS 中的accumulator的中断映射
分享到: 更多 (0)