I have ported ROS2 crystal release to VxWorks. Results are posted to Wind River Labs - https://labs.windriver.com/ros2-for-vxworks/#read and GitHub.
VxWorks ROS2 port is tested on the UP Squared board and QEMU. It should also work on Raspberry Pi 3, however, I didn’t test it yet. It utilizes the latest VxWorks SR0610 release and those of you who have VxWorks license could follow the build instructions and try it out. We also plan to provide for everyone a freely downloadable VxWorks SDK which will allow people building ROS2 applications on top of VxWorks.
I’m currently porting ROS2 dashing release and plan to publish my changes on GitHub in July.
Looking forward to your feedback!
Here are more technical details. There are two repositories available on github
• https://github.com/Wind-River/vxworks7-ros2-build contains build scripts to create a bootable VxWorks ROS2 image which can be flashed to the USB stick.
• https://github.com/Wind-River/vxworks7-layer-for-ros2 contains patches to be applied on ROS2 source packages. Most of the changes are related to the C++ library we have and to the obvious fact that VxWorks is not Linux and some header files or functions are missing. I hope to submit all necessary patches to the ROS2 main development tree and drop this repository completely someday.
VxWorks ROS2 build works the same way as any other cross build. First, you need to setup a VxWorks development environment and then run colcon. Currently I built ROS2 with BUILD_TESTING=OFF
Here is an example of how to run timer_lambda from the VxWorks command line. All ROS2 binaries are built as user processes - they called Real Timer Processes (RTPs) in VxWorks.