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?
IPS • www.mips.com
VIoSoft • www.viosoft.com