The Benefits of Building VxWorks in the Cloud
I am currently a solutions marketing intern at Wind River from the co-op program at the University of Waterloo, and I have spent most of my time at Wind River working with Wind River Studio and VxWorks. The University of Waterloo has a strong relationship with Wind River, and I was able to talk to other students about their co-op experiences working at Wind River. Everyone I talked to told me they had a great experience, so it seemed like a great choice for my first co-op placement. It has been an eye-opening experience to work for an embedded software company, and I’ve learned a lot about software, marketing, and business, and my experience has led me to pursue a computing minor at Waterloo. I would recommend the experience to anyone looking for a similar internship placement and I hope to come back to Wind River at some point in the future.
In this blog, I would like to share part of my experience, exploring the differences between building a VxWorks image in both Studio and Workbench. To accomplish this, I built a VxWorks Source Build (VSB) and VxWorks image project (VIP) in both environments. Most VxWorks users are still using Wind River Workbench as an IDE to build the operating system, and I am going to explore the differences between the Workbench-based build process and the cloud-based Wind River Studio build process.
Building VxWorks in Workbench
To begin, I started the process of creating a VxWorks image build using the Eclipse-based Wind River Workbench, which is provided with VxWorks. Initially, the Workbench UI felt powerful, with many configuration options, however, it was also a bit daunting and complex for a new user like me. I was able to use the product documentation and tutorials to configure my VxWorks build and set my preferences. Keep in mind, that this was my first-time using Workbench, and regular users can quickly master the environment to build VxWorks images, but for me and my limited experience as a university student, it took some effort to figure it out and navigate the Eclipse-based workflows.
Workbench builds VxWorks images while relying entirely on local computer resources, so the time to build the image will be completely dependent on the speed of your development machine’s components. In my case, I use a standard Windows laptop with average performance (8GB DDR4, mid-tier i5, no dedicated GPU), which would likely not be the machine used by an RTOS developer, and it took just under an hour to build the VSB, and just under a minute to build to VxWorks image. This build time on an average machine is not ideal, but developers would likely have access to higher-end workstations with superior hardware if they wish to have rapid build times.
Within Workbench itself, there is little guidance built-in to the UI and I needed assistance from tutorials on the Wind River website to figure out how to use the environment for building VxWorks images. There is easily accessible support available through Wind River that will guide new users through the process. Workbench users have a full selection of tools and settings to work with when creating VxWorks builds which gives them maximum control over the RTOS configuration to meet specific project requirements.
Building VxWorks in Wind River Studio
Next, I went through the process of creating a full VxWorks image in the cloud using Studio. As with Workbench, the build process for VxWorks starts with building from the VSB, and then building a VxWorks image project based on that VSB.
Building the VSB and VxWorks image was straight forward, and Studio’s UI guided me through the process of editing the build preferences and configuring the build. The overall experience of building VxWorks in Studio is guided at every step, and as a new user, I was able to swiftly configure the RTOS to my liking before compiling the build using the power and resources of the cloud. The time it took for the build to complete in the cloud was fast, clocking in at just under three minutes for the VSB, and just under one minute for the image. This means that no matter what machine you are trying to build on, whether you are on the go on with a laptop, or at your office workstation, you will consistently get fast build times in the cloud, and you are not limited by the hardware you have available.
I was able to easily understand the build process for VxWorks, and the environment is intuitive enough that I did not need to rely on product documentation to complete my build. There are also plenty of tutorials and demos on building VxWorks in Studio, as well as an interactive Wind River Studio Product Tour where you can step through a guided demo of the VxWorks build process in Studio. For power users, Studio also provides automation in a DevSecOps framework, where you can use the Studio Pipeline Manager to integrate the build process with your existing tools and leverage the newly created VxWorks image into other ongoing projects for code analysis, testing, deployment, or operations.
Conclusion
When comparing the two options of building a VxWorks image, I felt there were three main takeaways about the additional value of building a VxWorks image in Studio, compared to Workbench:
● The speed of the cloud-based build process in Studio
o In Studio, build speed is not dependent on the performance of the PC you are using, because you are building with Cloud resources.
o This can be particularly useful if you are a developer who does not have access to a high-end workstation.
● The user interface and the simplicity of Studio’s environment
o Studio has a friendly, modern, web-based UI; ideal for new users, like me.
o I found this interface easy to comprehend, thus simplifying the process of building my first VxWorks images, and other related projects.
o I found the Workbench interface and overall experience, though comprehensive and powerful, to be a bit daunting as a new user, while Studio makes the task of building VxWorks images very approachable.
o Experienced users may prefer the versatility and configurability of Workbench, as well as the ability to self-contain the environment using local resources (for example, in a secure Lab).
o The experience of building VxWorks in Studio also feels seamless, with guided instructions at every step and preconfigured settings. Whereas in Workbench, for new users, it is a more complicated task to figure out how to configure and start the VxWorks build process.
● The guidance and demos available for Studio
o Studio, being Wind River’s latest development environment, is constantly having new demos, and tutorials released.
o The Studio Product Tour can take you on an interactive demo through the Studio-based build process for VxWorks, so you know exactly what to do when it is time to do it yourself.
o While users who have extensive experience in Workbench may prefer the environment that they are already used to, Studio is an incredibly easy environment to learn and master to successfully build and configure VxWorks.
Personal Note
Having a hands-on experience with well-established software solutions, I became more comfortable with software development environments and processes. During my internship, I came to realize the power of using cloud resources and how it enables a new software development paradigm, simplified, streamlined and collaborative. This opened my eyes to the power of using cloud resources for development and makes me believe that developing in the cloud is going to be the future of software development.