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

DM6446 运行多个算法,算法只能顺序执行

开发环境:

DM6446 EVM

DVSDK: dvsdk_1_30_01_41

两个算法:其中一个算法是是TI 提供的jpegenc,另外一个算法是用于识别算法,两个算法单独运行都没有问题。打算测试下两个算法同时运行的效果,

操作流程如下:

在ARM端的测试程序中创建两个不同优先级的线程,两个线程分别运行不同的算法。高优先级的线程运行jpegenc算法,低优先级的线程运行识别算法。

高优先级的线程先起,低优先级的算法后起。内核线程抢占是没有问题的

得到的结果是:

1.高优先级线程被低优先级线程打断. 个人觉得是因为高优先级线程中有非阻塞函数,所以可以被打断

2. 两个算法顺序执行。高优先级线程中的算法会等待低优先级中的算法运行结束后在执行,没有想到是什么原因导致的?

   希望各位大神帮忙解答下,多谢!

Chris Meng:

你好,

一般来说,task只能被比自己优先级高的tsk或者SWI/HWI中断。tsk的优先级是数字越大越高,你是否确认?

Roc Wen:

回复 Chris Meng:

您好,您说的task指的线程吗?如果是的话那指的是dsp 端的线程,还是arm端的线程?

Chris Meng:

回复 Roc Wen:

你好,

我说的是dsp bios下的tsk。你说的不是?

Roc Wen:

回复 Chris Meng:

您好,不好意思我没说清楚,我指是ARM端的两线程 。 测试程序是ARM端的,测试程序通过调用CE的API,使算法在DSP上正常运行

赞(0)
未经允许不得转载:TI中文支持网 » DM6446 运行多个算法,算法只能顺序执行
分享到: 更多 (0)