Monday, June 13, 2011

An Interview with Richard Barry

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 Story
Q: 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?







9 comments:

  1. Hi there, awesome site. I thought the topics you posted on were very interesting.
    I tried to add your RSS to my feed reader and it a few. take a look at it, hopefully I can add you and follo

    ReplyDelete
  2. Hi,

    I joined the group a bunch of months ago, because I knew the day would arrive when a kernel would become necessary. I wrote a bare bones one myself a couple of decades ago and have always been torn between to two sides of the conundrum you raise above in "buy and build".

    Today I just purchased a set of your manuals and I will start to evaluate the experience of getting an example running and then, modifying it in some meaningful way.

    If all you say above is true, I know I will be awed.

    ReplyDelete
  3. I have used FreeRTOS on a commercial product (inheriting it from prior projects) and it has some of the *ugliest* code I have ever seen. I am recommending that it is removed from all future designs. In some cases you get what you pay for, actually I believe our engineering team is paying for FreeRTOS in lost/wasted time. Just looking at the code for 20 minutes is enough to see that the quality is seriously lacking, regardless of how many examples there are.

    ReplyDelete
    Replies
    1. @Anonymous
      Stop acting like a c**ky little b**ch.
      You are obviously representing the views of a rival RTOS.

      Delete
  4. I should also mention, to add to my comment above, that I have over 20 yrs experience in embedded systems and I wrote my own multitasking scheduler for the PIC16 in assembly language. Really the only thing FreeRTOS has going for it is the name "Free" and "RTOS", two words which seem very appealing until looking under the covers.

    ReplyDelete
    Replies
    1. @Anonymous
      Stop acting like a c**ky little b**ch.
      You are obviously representing the views of a rival RTOS.

      Delete
    2. It make sense, other RTOSs can provide better coding and documentation as well.

      Delete
  5. Our Embedded Training Institute Provides 100 % Training & Placements. Embedded (8051, PIC, AVR, RTOS).Projects also Provides in Best & affordable fees Structure.Call @ +91-9940426826 / 044-26209369.
    Best Embedded Systems Training Institute

    ReplyDelete
  6. Embedded system training: Wiztech Automation Provides Excellent training in embedded system training in Chennai - IEEE Projects - Mechanical projects in Chennai. Wiztech provide 100% practical training, Individual focus, Free Accommodation, Placement for top companies.

    Embedded system training in chennai
    Best Embedded training in chennai
    VLSI training institute in chennai
    VLSI training in chennai

    ReplyDelete