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

新手求问 信号量可以做核间的同步吗?

在TI提供的实例中仅看到信号量做核内线程间同步的,请问可以做核间同步吗?有相关的例子吗?

非常感谢

James Li2:

如果是keystone系列芯片,有专门的硬件单元叫hardware semaphore可以用作核间同步

Muhua Chen:

回复 James Li2:

James Li2, 您好

我正在学习硬件信号量的使用,在看一些例子 , 比较着急

我在FFTC_Multicore的例子中看到以下代码

while ((CSL_semAcquireDirect (FFTC_APP_SEM)) == 0); Fftc_osalBeginMemAccess ((void *)&bIsSysInitDone, sizeof(UInt32)); bIsSysInitDone ++; Fftc_osalEndMemAccess ((void *)&bIsSysInitDone, sizeof(UInt32)); CSL_semReleaseSemaphore (FFTC_APP_SEM);

我把头文件加上,在自己的工程中加入以下两句:

while ((CSL_semAcquireDirect (FFTC_APP_SEM)) == 0);

CSL_semReleaseSemaphore (FFTC_APP_SEM);

发现不能达到多核互斥的效果。

请问还应该配置些什么?

非常感谢!

James Li2:

回复 Muhua Chen:

检查一下FFTC_APP_SEM定义成几

while ((CSL_semAcquireDirect (FFTC_APP_SEM)) == 0);  //获取信号量

需要互斥的操作放在这里 !!!

CSL_semReleaseSemaphore (FFTC_APP_SEM); // 释放信号量

Muhua Chen:

回复 James Li2:

问题解决了 非常感谢

Muhua Chen:

回复 James Li2:

问题解决了 非常感谢

赞(0)
未经允许不得转载:TI中文支持网 » 新手求问 信号量可以做核间的同步吗?
分享到: 更多 (0)