Hey. It got your attention. Actually, I think the opposite is occurring. Open-source software has changed the landscape for embedded software development. Major projects such as Linux, Apache, Firefox, and Eclipse are now utilized in a range of applications and available from a variety of vendors.
In most cases you can roll your own as well, but embedded developers have long known that you get what you pay for. For many, the free route is a viable alternative if support costs aren’t critical. It’s also a way to try out software without a large upfront investment. The availability of source code is key to finding and often correcting problems.
Then there’s the royalty issue. This is one reason why the alternative, proprietary software, provides source and royalty- free distribution. This is also driven by the competition between proprietary alternatives as well. In fact, given the level of customization, many vendors selling open-source solutions effectively have their own version of an open-source platform.
THE ALL-IMPORTANT BASE
The big difference is a common base that is typically available in an open-source environment. This tends to raise the level of all the offerings because they start with a common base. Designers creating development tools can concentrate on higher-level functionality, improving the breed. Likewise, the base should be helped because it is a shared resource that everyone will be testing, fixing, and enhancing.
On the other hand, an open-source platform significantly reduces the entry cost for the platform developer and its users. This has allowed MIPS to create its Navigator ICS integrated development environment (IDE) based on Eclipse with support for Linux. The IDE supports debugger plug-ins for other operating systems such as Express Logic’s Threadx, which can be used in conjunction with Viosoft’s Arriba Linux debugger.
This is an example of the typical variance from the base. The Arriba debugger is available in addition to the standard gdb debugger, but the former delivers added functionality, including kernel-level debugging. Its loadable Vmon2 module provides runtime debugging hooks, permitting system monitoring using MIPS’s Linux Event Analyzer (LEA).
The LEA is another essentially proprietary tool from MIPS. It would be a useful trace facility in general, but designers targeting other platforms will have to use an alternative like the Linux Trace Toolkit (LTT) that requires a patched kernel.
Other proprietary options make more sense for MIPS because of the required hardware support. This is the case with the Hot Spot Analyzer, or HSA (see “Shining A Light On Bugs” at www.electronicdesign.com, ED Online 18984). The HSA plug-in needs the matching hardware found in MIPS cores or it is useless.
PLAYING TOGETHER NICELY
MIPS is targeting its licensees with these tools instead of the more general amalgam of programmers. Some designers may relabel the package, but its common base allows a better mix and match of plug-ins. For example, the Eclipse-based plug-ins from MIPS will also work with Eclipse-based IDEs from the likes of MontaVista and Wind River.
This level of interplay would not be possible without a common base. It’s possible to be a dominant player such as Microsoft and have everyone else fit your model, yet this tends to isolate changes to the base for good or bad.
On the plus side, there is a level of stability because there is only one source for the base. The downside is that the ability to make changes to be included in newer versions of the base will be more limited. Likewise, access to the base source code tends to be more limited, making plug-in debugging more difficult or at least more exclusive. I find the level of commitment to open source and Linux and Eclipse in particular from chip vendors like MIPS and ARM particularly interesting. Intel, and by compatibility AMD and Via, are some of the few that do not provide their own Eclipsebased IDE and Linux versions. These aren’t really necessary because the default target for these and many other processorspecific open-source projects is the x86 platform.
Another useful outcome of the mass adoption of Eclipse and Linux is the ability to find programmers who are familiar with the platforms. Developers working on enterprise server applications essentially have the same IDE as someone working on a 32-bit MIPS micro. So, do you think open source is stealing your business, or is it making your life easier?