tags:

views:

521

answers:

1

In the vxWorks memory map, there is an area (bellow the load address of vxWorks) which is described as the "shared memory anchor".

What is it used for?

+1  A: 

In an environment with multiple single-board computers plugged into a common backplane (such as VMEbus), the VxMP variant of VxWorks adds "local" and "global" properties to common VxWorks objects.

For example, you can have a "global" message queue that reside on one of those single-board computers but messages can be sent to and received from that message queue from any of the other single-board computers (all running VxWorks with VxMP).

To accomplish this feat, a "shared memory" area is identified on each single-board computer, and all boards know all other board's shared memory addresses, and they communicate through these shared memory areas (and special drivers).

When each board is booted, it must discover where its shared memory area is, hence this value, the "Shared Memory Anchor".

Benoit