Introduction
|
Fig1: FreeRTOS Logo |
Few days ago, we were honored by a visit of Richard Barry to our blog. We asked him to have an interview for our blog. He agreed. The interview focused on various aspects. I tried to get the best out of it for all embedders and FreeRTOS fans.
About Richard Barry
Richard Barry is the founder of FreeRTOS organization, director of Real Time Engineers
Ltd., and head of innovation in WITTENSTEIN. Richard Barry graduated with 1st Class Honors
in Computing for Real Time Systems. He's been directly involved in the start up of several
companies, primarily working in the industrial automation and aerospace and simulation
markets.
|
Fig 2: Richard Barry in his lab |
FreeRTOS StoryQ: FreeRTOS, how did the idea start? How did the idea of the company start?
FreeRTOS originated from a consulting project I did a long time ago. I was asked to research RTOS solutions, with the aim of recommending a replacement for an RTOS that was used in an existing product. It had been decided that the existing RTOS should be changed because of the royalty based licensing model it used.
During the research, I concluded that the application only required a simple, small, solution, and the existing commercial solutions did not represent good value. So, I then looked at open source solutions as an alternative, but found these cumbersome to configure, build, and understand - especially on a Windows (as opposed to Linux) host. My customer and I were both Windows-centric.
I ended up recommending one of the commercial options as ‘best fit’ rather than a ‘perfect fit’ solution. The project showed me there was a gap in the market – if, indeed, you can call giving software away for free a market. I thought there must be a lot of engineers going through the same process I had gone through, and coming to the same conclusion, and that these engineers would benefit from a Windows friendly, robust, easy to use, documented, supported, open source solution. I therefore created FreeRTOS with the intention of it being just that, and also, I must admit, because I'm a geek at heart and it was fun.
I had no intention of taking it further than writing it, and publishing it on the web. When I set it wild on the internet though, it seemed I had been right - there was demand for it - and some eight years later this has been proven by the results of the latest EETimes Embedded Market Survey.
Yes, I saw a gap in the market, and successfully filled it, but there was also some luck, as around that time the low cost microcontroller market was evolving such that the time was just right for FreeRTOS.
FreeRTOS is extremely liberally licensed, you can use it in commercial applications without risking your own propitiatory IP (provided that IP is outside of the kernel itself). All the same, I was often asked for commercial licenses, training and commercial support contracts. I partnered with WITTENSTEIN high integrity systems to meet the commercial and legal need which I could not address myself. High Integrity Systems are a safety company, and used their knowledge, skill set, and investment to get SafeRTOS certified. SafeRTOS was originally derived from FreeRTOS, so it was a mutually beneficial arrangement.
WITTENSTEIN also add options for FreeRTOS users by providing the code fully integrated with other embedded software components such as TCP/IP stacks, file systems, USB stacks, etc. This is done under the OpenRTOS brand. FreeRTOS also provides integrated solutions, with free components.
FreeRTOS is intended to provide a resource for engineers, and the business model requires very modest commercial support, in part due to the high level of participation by the engineering community. It is not our goal to become, or indeed would it be possible to become, the next Wind River or Green Hills.
FreeRTOS Markets
Q: What industries do you see that FreeRTOS and its related products can play a role in as a backbone software solution platform?
It would be easier to list which industries it is not used in. FreeRTOS has had 150,000 downloads in the last two years. It is found everywhere. Even I am surprised about some of the places it turns up.
FreeRTOS Business Model
Q: Why the business model followed for FreeRTOS was not followed for the related products?
FreeRTOS does not, yet, provide related products, unless you include the
kernel aware debugger plug-ins, but they are also provided for free download. I provide integration with other open source components though, but again, they too are available for free download.
FreeRTOS Role in facing the Embedded Designers Challenges
Q: What are the challenges embedded developers face and how is FreeRTOS and its related products are aiding their customers to face them?
There are lots of well documented ‘typical’ challenges faced by embedded
engineers. For example, reducing time to market. FreeRTOS addresses that particular challenge by providing “out of the box” examples for each of the 50 or so officially supported FreeRTOS ports. Another typically quoted challenge is cost reduction – well there the instant free download provided by FreeRTOS is an obvious benefit – you don’t even have to part with any personal information to get the code, just take it.
However, I think one of the primary challenges that FreeRTOS aids in addressing, is how to migrate a software design pattern from one that is appropriate for low cost, low resource, 8/16-bit microcontrollers, to a design pattern that is appropriate for one of the new generation of low cost, 32-bit architectures. The low cost 32-bit architectures come with a lot more RAM, Flash, and a greater number of peripherals. That in turn, inevitably, leads to larger, more complex, and more feature rich software requirements. FreeRTOS, along with the FreeRTOS tutorial books, provides an easy solution for engineers that are not familiar with the software challenges this poses. In fact, I would go as far as to say, FreeRTOS provides an easy solution even for engineers that are familiar with these challenges.
FreeRTOS Coping with Future Trends in Embedded Market
Q: What are the trends you forsee in embedded systems and coping with?
Again there are a lot of well documented trends. Machine to machine communications, smart metering, hand held devices, near field communications, to name just a few. The trend I am most interested in,
though, and the one that is relevant to all the above and more, is the trend towards lower costs in 32-bit processing solutions, and lower costs in tools for 32-bit microcontrollers.
FreeRTOS vs Others
Q: What specializes your products compared to others?
That is a difficult question. From a technical perspective, what is to differentiate one kernel solution from another – don’t they all do the same thing? Each will do better than others for some criteria, while simultaneously doing worse than others for other criteria. You have to choose the best for your particular application.
If I was to try and answer that question, I would probably have to talk about non technical attributes. For example:
- Code quality, which can be quantified in a number of ways. I know of
several people who have done independent analysis of the code, in various ways, and have satisfied themselves of its robustness and quality.
- FreeRTOS is a truly cross platform defacto standard. It will not lock
you into any architecture, or any toolchain. It supports 27 architectures (that is, architectures, not devices) and 17 tool chains. Take your pick, mix and match, and don’t lose the time invested when you move onto your next project. Not only that, but whatever you do, it need not cost you anything. Even the time investment required can be lower than with commercial solutions.
- The FreeRTOS open source model is (somewhat) innovative in a way that
is beneficial to users. For example, FreeRTOS is “moderated open source”. This means that, when you download FreeRTOS, the code is truly free and open source to you. However, contributions back to FreeRTOS are made publicly available while simultaneous kept separate from the ‘official’ code. This allows the FreeRTOS project to strictly control the quality of the code, ensuring a robust product. It also provides assurance to end users that their open source choice has no
unintentional or unknown IP contamination.
- The business model allows users the freedom to access, use, evaluate,
distribute, etc. the code, completely free of charge. However, they have the security of knowing there is a third party infrastructure there
should they ever need commercial licensing or support contracts.
- FreeRTOS is professional grade and robust, yet still free. Users can have the confidence in knowing that SafeRTOS, which originated from FreeRTOS, has been independently certified by TUV SUD for use in safety
critical systems.
- I am told, and have not attempted to quantify, that the support provided with FreeRTOS is better and faster than that provided with many commercial products.
- FreeRTOS has a *massive* user base.
Final Word
Q: Any final word to embedded developers all over the globe?
I would recommend finally putting the old and repetitive “buy or build yourself” RTOS question away. There is a free, documented, widely ported, and supported option just a few mouse clicks away, so why would you do either?