Download the Barracuda App Server for VxWorks and start developing IoT and web applications on VxWorks in no time. This delivery includes a ready to run binary for QEMU and everything you need, including the VxWorks kernel.
The batch file StartVxWorks.cmd starts QEMU, an FTP Server, and an HTTP File Server. The following diagram shows the three command windows running and a browser connected to the Barracuda App Server running on VxWorks.
VxWorks has been the industry-leading real-time operating systems (RTOS) for building embedded devices and systems for more than 30 years. The Barracuda App Server adds a range of benefits to the VxWorks kernel, such as a complete high level cloud/IoT/edge development environment. The IoT, cloud, and web features enable easy, secure, and fast development of embedded software using Lua/C/C++ as well as providing a rich API for designing modern human machine interfaces. The Barracuda Application Server is optimized for embedded use, delivering high performance in a small footprint. The Barracuda Application Server is the ideal tool for your edge computing project as it lets developers easily design edge related tasks in Lua and easy bridging of cloud/IIoT and edge with its portfolio of IoT and industrial protocols.
Python may be the king of the desktop, but Lua rocks in embedded systems. Python's main focus is to be a generic and easy to use command line scripting language, while Lua is designed to be a C Library with its main focus on being easy to integrate into a larger program. Lua is found in many games such as World of Warcraft. Lua has traditionally been selected when speed and size matters. Developers generally find Lua to be much faster and less resource hungry than Python. A developer that knows Python will find it easy to learn Lua since both languages are similar.
The C/C++ programming languages dominate embedded systems programming, but developers often run into issues such as buffer overflows, memory leaks, and other memory corruption errors. With Lua you avoid these problems, particularly in larger projects where many computer programmers with varying skills are involved.
Lua abstracts out the details for the underlying microcontroller hardware. Instead of worrying about the bits and the bytes, a developer simply accesses methods of a peripheral object to control the hardware. Hardware control is done via a so called Lua binding. The abstraction of the hardware layer allows developers to focus on the application specifics rather than on the workings of the low-lying hardware.