Why Are Open Standards Important?
Open standards have been the cornerstone of cost cutting because it allows applications to be ported and reused over many different architectures. By reusing software the cost of systems is drastically cut. Today, Linux and POSIX are the open standards for operating systems that all major operating systems vendors support.
Why Has The Embedded Systems Community Adopted Linux and POSIX As Standards?
The open source GPL license of Linux allowed people to eliminate the cost of the operating system for embedded systems that did not require hard real time scheduling as a first step. The larger processors with MMUs in the system meant that their application was protected and only changes to the operating system needed to be given away.
Innovation followed improving the real-time nature of Linux improved. Along with this, Moore's Law has improved the performance of the underlying hardware to the point where for most problems, Linux and Linux variants like Monta Vista were good enough.
In addition, the RTOS vendors which provide the hard real-time solutions which compete with embedded Linux adopted POSIX standards which were fully Linux compatible. Again, these vendors were at the higher end of the market, running on microprocessors. Today, the leading vendor has switched to Linux support from their proprietary offerings.
Why Haven't We Used Linux and POSIX On MCUs Before This?
Starting in 2007, RoweBots has improved their embedded operating system technologies to be fully POSIX and Linux compatible. The difference in this technology is that it runs on very tiny System on a Chip (SOC) microcontrollers (MCUs) which don't have an MCU. Unlike Linux this technology does not have GPL or LGPL and as a result user's applications are protected. The combination of this small size, hard real time performance and lack of GPL contamination open the door to let users adopt the de facto POSIX and Linux standards for their MCU development as well.
What Benefits Come With POSIX and Linux?
- Access to tens of thousands of reusable programs
- Access to thousands of knowledgeable developers
- Access to training and educational information
- Portability of applications with risk and cost reduction
- Elimination of vendor lock in for both hardware and software
- Substantial cost savings
- Elimination of training costs for specialized proprietary systems
Why Wouldn't You Use Linux And POSIX On Your MCUs?