| 
 
| 想在一个核内创建多个MessageQ,然后其他核通过不同的MessageQ与该核的不同任务进行信息交互。例如核0内有tsk00使用msgq00,tsk01使用msgq01,核1有tsk10使用msgq10,tsk11使用msgq11。tsk00与tsk10交互,tsk10与tsk11交互,tsk11再与tsk01交互。看ti的IPCUserGuide中提到每串键一个MessagQ时需要指定一个同步机制(The creator of the message queue must also create an object of the desired ISync implementation and assign that object as the "synchronizer" of the MessageQ)。 其中文档中提到了有多种同步机制,如下:
 The following are ISync implementations provided by XDCtools and
 SYS/BIOS:
 ❏ xdc.runtime.knl.SyncNull. The signal() and wait() functions do
 nothing. Basically this implementation allows for polling.
 ❏ xdc.runtime.knl.SyncSemThread.  An implementation built using
 the xdc.runtime.knl.Semaphore module, which is a binary
 semaphore.
 ❏ xdc.runtime.knl.SyncGeneric.xdc. This implementation allows you
 to use custom signal() and wait() functions as needed.
 ❏ ti.sysbios.syncs.SyncSem.  An implementation built using the
 ti.sysbios.ipc.Semaphore module. The signal() function runs a
 Semaphore_post(). The wait() function runs a Semaphore_pend().
 ❏ ti.sysbios.syncs.SyncSwi.  An implementation built using the
 ti.sysbios.knl.Swi module. The signal() function runs a Swi_post().
 The wait() function does nothing and returns FALSE if the timeout
 elapses.
 ❏ ti.sysbios.syncs.SyncEvent.  An implementation built using the
 ti.sysbios.ipc.Event module. The signal() function runs an
 Event_post(). The wait() function does nothing and returns FALSE if
 the timeout elapses. This implementation allows waiting on multiple
 events。
 请问这些不同配置主要是怎样操作的?比如xdc.runtime.knl.SyncGeneric.xdc,ti.sysbios.syncs.SyncSem,ti.sysbios.syncs.SyncEvent这几个应该如何配置MessagQ的参数,配置后又应该如何使用配置好的MessageQ?
 去哪里可以找到这方面相应的参考资料或者历程?现在手里只有一个UserGuide和一个4个核串联MessageQ通信的例程,但这个程序中没有关于同步的配置。还请各位指点一二。谢谢了。
 | 
 |