Embedded.com Guest Editorial
Buy or roll your own OS? Neither with FreeRTOS.
Richard Barry
4/5/2010 10:34 AM EDT
The new generation of low-cost 32-bit devices typically integrate 32 to 512 kbytes of flash memory, 16 to 256 kbytes of RAM, and numerous communications peripherals—more than enough to make them capable of hosting applications of considerable complexity. When software reaches this level of complexity, real benefits can be gained by using an operating system or kernel. FreeRTOS is a real-time kernel that's designed specifically for embedded MCUs in this class, and as such has enjoyed considerable popularity growth over its six year life as the market for these devices has grown.
The old RTOS debate asks, should you buy or roll your own operating system? The real question is, why do either?
Last year, FreeRTOS was officially downloaded more than 77,500 times. This degree of popularity often surprises industry insiders, because FreeRTOS doesn't have a marketing budget and (until recently) has not been featured in any industry surveys (Note: FreeRTOS can be downloaded directly from Embedded.com ). It has grown because it meets the technical needs of practicing engineers and is a professional grade solution that can be used freely without being locked into a commercial commitment. Through this approach, FreeRTOS has gained the trust and support of many MCU makers and a huge community of engineers.
The rate at which FreeRTOS has been adopted highlights the need for software companies to re-think their approach to how engineers like to evaluate and buy software. There are, however, lots of free schedulers available that don't enjoy the same popularity, so other factors must have played a part in this growth.
Feedback from engineers indicates that three criteria are equally important:
- proven commercial grade reliability
- ease of use (each port comes with a pre-configured demo application)
- license model and support when required
FreeRTOS license model
FreeRTOS is released as open source to its users, but in such a way as to remove what many see as obstacles to using open source components in commercial applications. It's important to note that FreeRTOS releases are moderated rather than pure open source. This means only software that is written or owned by FreeRTOS becomes an official release. Community contributed files are kept distinct and separate. This removes the risk of community contributed code resulting in accidental IP infringement if used in commercial products. This approach also ensures that the community can use, develop, and share code and ideas and build a strong open-source product from a robust platform.
Important to all developers who want to use FreeRTOS in a product is that the open-source license need not "infect" code outside of the scheduler itself. Proprietary source files remain closed source if the proprietary files provide significant and primary functionality that's distinct from that already provided by FreeRTOS itself. Simply stated, the FreeRTOS API acts as a boundary between open and closed source components. Code on the FreeRTOS side of the API which extends or modifies the kernel itself remains open source. Code on the application side which simply uses FreeRTOS features remains closed source.





Ray Keefe
4/8/2010 7:38 PM EDT
FREE is certainly an angle that gets attention and the fact that a lot of eval kits ship with FREE RTOS based example projects helps a lot. This puts the code in the hands of an engineer or developer who is testing out ideas. Re recently bought an AT91SAM7X-EK kit to jump start a new project for a client and most of the the USB and TCPIP example projects use FREE RTOS.
The other factor is that the commercial licensed RTOS vendors are perceived as charging too much for either source code, support or royalties. It isn't see as value for money any more.
Most of our clients don't want us to select solution that lock them into ongoing costs. They will accept toolset costs for compilers and some software components but most do not want the OS to be one of these.
Ray Keefe
Successful Endeavours Pty Ltd
http://www.successful.com.au
Sign in to Reply
robert.berger
4/9/2010 1:13 AM EDT
Usually I see companies who are into free software and others into commercial software not understanding each others needs and competing each other.
So I'm happy to see that even in the Embedded marketplace it is possible to combine free software with commercial licensing and that this obviously works very well.
It's a classic win/win. As a user you can pick whatever fits your needs and budget.
Bravo! I'd like to see more companies going this way.
Regards,
Robert
--
Robert Berger
Embedded Software Specialist
Reliable Embedded Systems
Consulting Training Engineering
Tel.: (+30) 697 593 3428
Fax.:(+30) 210 684 7881
URL: http://www.reliableembeddedsystems.com
Sign in to Reply
Jagdish Bisawa
7/28/2010 12:32 PM EDT
That was a nice briefing about FreeRTOS, Richard. I wish to draw your & other reader's attention to more such options. A similar option comes in the form of eCos, another free RTOS available under the modified GPL license. Besides being freely available, a strong documentation, a good number of ports, eCos bundles with it capabilities otherwise found in other commercial RTOS packages.
I am not comparing the capabilities of FreeRTOS & eCos, but only trying to draw out options.
At the end of the day, I'd also like to conclude that using one of the off-the-shelf RTOS makes more sense to use rather than having made one of your own.
Sign in to Reply