Mentor recently shared OpenMCAPI, our MCAPI implementation, with the world under an open source license (BSD). We’re proud of it because it was especially designed for portability, and while it’s sophisticated enough to offer advanced features like asynchronous communication, it’s simple enough that it can be easily understood and deployed on low-resource embedded systems.
So what is MCAPI? We’ve written about it before, published whitepapers and presented webinars, but basically it’s an IPC library designed for closely-distributed systems (think AMP with shared memory). OK, actually it’s a specification and there can be many implementations, but we’re pretty fond of ours. Using MCAPI, you can communicate between two different operating systems, such as Linux or Android and an RTOS, on a multi-core processor.
OpenMCAPI includes only Linux OS support right now, but obviously we’ve run it on our Nucleus RTOS as well, and adapting it to other RTOSs or software environments should be quite simple. Our choice of the BSD open source license allows easy integration with the wide variety of software which can found in embedded systems. However, unlike some open source announcements, this isn’t just an “as-is” code drop; we continue to maintain and improve the project and our developers regularly participate in discussions on the mailing list.
If this technology sounds like it might fit your application’s needs, take a look at our wiki, download the code, and join the mailing list with any questions, feature proposals, or (even better) patches. See you there!