讨论,共享内存,vxworks
中断和任务之间有大量数据传递,用共享内存效率高
高手来说说一般是怎么做的?
首先是内存开辟,
其次是临界区的保护
能大概说一下吗
[解决办法]
VxWorks系统,基本可以看做是单进程,多线程模式,所有内存地址均可见。所以我们可以不采用系统提供的共享内存组件。
开辟内存,在任务间用任务锁即可实现。
[解决办法]
如果是从中断接收数据,开块内存,用二值信号量做同步或者消息传递都可以吧。
[解决办法]
用全局变量或静态变量,共享内存的大小毕竟是有限,所以可以用固定大小的内存
注意临界区的保护就可以了
[解决办法]
全局变量
[解决办法]
中断里面最好不要处理数据,可以使用一个同步信号量,中断里释放,然后任务里面去读数据