什么是vxWorks共享内存锚点?

时间:2020-03-06 15:03:12  来源:igfitidea点击:

在vxWorks内存映射中,存在一个区域(位于vxWorks的加载地址下方),该区域被称为"共享内存锚点"。

它是干什么用的?

解决方案

在将多个单板计算机插入公共背板(例如VMEbus)的环境中,VxWorks的VxMP变体为公共VxWorks对象添加了"本地"和"全局"属性。

例如,我们可以将"全局"消息队列驻留在这些单板计算机之一上,但是可以从任何其他单板计算机(都运行VxWorks和VxMP)向该消息队列发送消息或者从该消息队列接收消息。 。

为了实现这一壮举,在每台单板计算机上都标识了一个"共享内存"区域,并且所有板都知道其他所有板的共享内存地址,并且它们通过这些共享内存区域(和特殊驱动程序)进行通信。

引导每块板时,它必须发现其共享内存区域在哪里,因此该值就是"共享内存锚点"。