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

【C6670】SYS/BIOS下的QpendQ中断

在调试BCP的过程中,由于时间上的考虑,没有选择accumulator产生中断,而是选择更加快速的qpendq中断方式。

设置RX_Q_NUM为662,对应绑定的event是134

整个工程是建立在SYS/BIOS下的,利用task调度,BCP的主程序bcp_func()放在一个task中,现在问题是,

只有bcp_func()所在的任务全部运行结束并退出,才会进入配置的qpendq中断。

有以下几个疑惑:

1. 配置BCP的Rx queue为触发中断queue,中断产生的条件应该是该queue的数据被取完,还是其他条件?

2. task和qpendqueue中断的优先级关系,task会不会对中断有屏蔽处理?

3. 在需要不断从已知数组取payload数据的情况下,BCP如何能够脱离DSP core独立运行?

    还是只能每次都调用BCP主函数,将BCP当做一个独占任务来运行?

Andy Yin1:

使用QpendQ产生中断时,只要QpendQ中有一个描述符就会产生中断事件,在中断中需要把描述符取走,并清系统事件保证下一个中断事件的触发。

QpendQ中断是硬中断,优先级高于task;组包后将描述符push到BCP TxQ既可,之后都是BCP硬件处理。

赞(0)
未经允许不得转载:TI中文支持网 » 【C6670】SYS/BIOS下的QpendQ中断
分享到: 更多 (0)