PikeOS provides a virtualization platform that allows several guest operating systems to run simultaneously. Therefore it is often desirable to have more than one data link to a host computer for ease of development. However, embedded boards frequently only offer a single physical link like Ethernet or RS-232. This is where the MUXA utility comes into play.
The MUXA utility provides a multi channel multiplexer to have several virtual bidirectional communication channels between a target and a development host computer given a single physical link.
Figure 1: The MUXA host and server utility
MUXA uses a connection-less protocol on the physical link layer, thus providing non-reliable data transfer between host and target.
On the target side, the MUXA application registers itself as a file provider. This allows applications to access MUXA by means of PikeOS file system. Together with other development tools, such as the PikeOS monitor or the trace server, MUXA resides within the service partition.
On the host side, the MUXA application listens on the physical link between target and host on one side and provides a command interface and TCP/IP port connections for the channels on the other.
MUXA connections can be used for both binary data exchanges and character oriented console communications. Typical use cases are:
Application console output/input
PikeOS command monitor
System and application tracing