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

DSP6678 多任务处理与中断处理

现在使用的事6678这个8核的片子,有几个问题请教一下:

1、在同一个核里有三个任务线程,比如task1、task2和task3·,优先级分别为1、2、3,如果同时触发这三个线程,处理顺序为task3、task2、task1?是不是只有高优先级的任务处理完了才会跑优先级低的任务?

2、在同一个核里有两个任务线程,比如task1和task2,优先级分别为1、2,先触发task1线程,task1中正在处理过程中触发task2任务,此时是不是task2会抢占处理资源并且等task2处理完后task1才接着处理?

3、在同一个核里有两个任务线程,比如task1和task2,优先级相同都为2,如果同时触发这两个线程,这两个线程任务会怎么运行?如果先触发task1,再触发task2(触发task2时,task1没有跑完),这两个线程又会怎么运行?

4、8个核之间使用IPC进行通信和中断,比如核1、2、3、4、5、6、7同时向核0同时发送IPC事件中断,核0里中断响应函数是同一个,6678会怎么处理?会把这个7个中断事件放在一个队列里么,等核0一个一个处理么?会丢中断吗?如果会丢,什么情况下会丢?

5、在核0中有3个任务线程,比如task1、task2和task3·,优先级分别为1、2、3,task2和task3都可以触发task1,task之间使用信号量来触发,如果task2和task3同时触发task1,即同时向task1发送Semaphore_post,这时task1会响应两次么?还是会丢掉一次,只会响应一次?

6、在核0中有3个任务线程,比如task1、task2·,优先级分别为1、2,task2可以触发task1,task之间使用信号量来触发,如果task2第一次发送Semaphore_post触发task1,这时task1会响应处理任务,在task1没有处理完task2又触发task1,这时dsp会怎么处理?

请各位大神给予指导,并且能给一些参考资料看一下最好,感谢感谢!!!

Nancy Wang:

如果任务A,B同优先级,那么调度器会先执行完先被调度的任务如A,等A执行完以后或者主动睡眠后,才执行B,B不会抢占A;如果B比A优先级高且被唤醒,那么B立刻抢占A执行,等B执行完或休眠以后,A才继续执行。

Nancy Wang:

看看这个trainning视频的1.8和1.9章节,讲了跟task优先级有关的内容。 training.ti.com/ti-rtos-workshop-series-4-10-ti-rtos-configuration

我从视频里截了一个图,可以解答你的第二个问题。

zhiyuc:

首先感谢一下帮助解答的大神,还有些问题有大神给解答一下么?

zhiyuc:

回复 zhiyuc:

或者有相关资料推荐给我看看也可以

赞(0)
未经允许不得转载:TI中文支持网 » DSP6678 多任务处理与中断处理
分享到: 更多 (0)