dsp入门

来源:互联网 发布:python pca 编辑:程序博客网 时间:2024/06/01 12:36

dsp多核通信之ipc

多核之间通信ipc:
ipc通信是一种基于messageQuene的一种消息机制。
通信一般采用与三种模式,1.共享内存
2.硬件中断
3.任务中断
1.共享内存:可以有效的节省系统资源,多核之间访问同一内存,若数据只读,可以采用共享内存,若数据可写,要设计每个核之间对内存的操作顺序,防止出现数据被胡乱的篡改。
2.硬件中断:硬件中断有很好的实时性,但是在核响应高优先级中断的时,发生低优先级中断时,会打断高优先级的中断,若在高优先级屏蔽低优先级的中断,在引起中断时不能及时响应,只能响应最后一个中断。
3.任务中断:这可以及时的响应中断,又能在执行中断时,记录其他的一些中断请求,有一种消息队列的意思。
而ipc通信采用的是第三种模式。
在进行ipc多核通信时,我们要先设计核之间的工作顺序,利用消息变量来控制当前核的当前状态。
多核通信是往往不是一次就能成功的,通常在进行核连接时 

while (ipc_attach(#coreid) < 0){ task_slppe(1);}

这个可以等待核连接成功。

进行核连接是需要注意的事项:

1.核的连接需要从大到小的连接。

2.多核连接时,只有核ID晓得连接了核ID大的,核ID大的才能连接核ID小的。

可以参考ccs自带例程中的 ipcand IO exmaples 下得c6678 noity例程


                                             
0 0