客户要求我们给开发的6678办卡写驱动程序,要求在sysbios下实现串口,rapid io,以太网等外设的驱动,客户将来的应用在我写的基础上再次开发具体应用
。看了sysbios的手册,感觉信号量,事件,邮箱,门等都是基于单核的。8个核对外设的抢占如果不用sysbios的话用信号量就可以实现,但是8个sysbios怎么做到同步就不知道怎么办了?如果用共享内存存储标志位的办法,依然有读取,修改,写回的竞争风险,如果用sysbios下的信号量函数Semaphore_create,是不能指定用了哪个信号量的,这在多核下同步不了。如果在sysbios下,直接用csl库函数来指定某个具体信号量,又担心和操作系统使用的信号量冲突。
求指点8个sysbios之间怎么安全的使用外设比如串口?
Shine:
核间通信可以用IPC,可以看一下下面的资料。http://processors.wiki.ti.com/index.php/Category:IPC