Everyone is familiar with open source. Even the most conservative developers - and embedded software engineers almost invented the phrase, "If it ain't broke, don't fix it" - have considered using open source solutions to help them meet cost and time-to-market goals. Over the years, embedded versions of Linux have proved a good fit for many applications, particularly where real-time response and memory footprint are not serious constraints. Now, there is an increasing move toward using open source development tools.
Until recently, there were two main ways to set up embedded software development tools:
- Purchase proprietary tools from one of the specialist vendors. Such tools are not cheap, as they offer specialist functionality to a limited market (compared with desktop software development tools, for example). But good quality support is generally available, which is reassuring to a developer on a tight deadline.
- Obtain open source tools by downloading them at no cost.
The second option sounds attractive. For many, ‘open source’ means ‘free of charge’. However, this is only true really for the software download. The real costs are down the line. There are many issues to resolve. All take time and time = money.
- Which specific tools do you need?
- Have you got the right desktop tools to build the embedded tools?
- Which versions of the toolchain components do you need?
- Which patches should be applied?
- Do you know what works with what? (This table gives some clues as to the challenge)
- How do you configure the toolchain components? (There are thousands of options!)
- What CPUs do you need to support?
- Do you need big- or little-endian support or both?
- Have you got the test suites to validate the tools?
An understanding of the cost of resolving these issues has led many developers to seek a ‘Third Way’. A number of specialist vendors supply embedded toolchains. These are based on open source technology and pre-configured ready for use. Value is added by including other tools and offering professional grade support instead of necessitating hours posting on forums.
This is a cost effective approach that offers the economy of open source software with the security and backup of a commercial product. More information can be found in this whitepaper.
Colin's regular blog is located at: http://blogs.mentor.com/colinwalls. He can be reached by email at colin underscore walls at mentor dot com.