Embedded Linux tools: buy or DIY?
Nov 29, 2007 — by Eric Brown — from the LinuxDevices Archive — 1 viewsAlexander Sirotkin has published a story on Embedded.com called “Do-it-yourself embedded Linux development tools.” The Metalink Broadband software architect recommends mixing and matching open source tools rather than buying a commercial IDE suite — and he describes how to go about it.
Sirotkin launches his six-page story with a statement of the obvious: the state of embedded Linux development tool suites and integrated development environments (IDE) is not so hot. Writes Sirotkin, “Most of these tools are Eclipse-based and offer similar functionality, which at closer look turns out to be no more than a clumsy editor, compiler wrapper, and debugger.”
However, even with the best of the commercial tool suites (Sirotkin recommends Wind River Workbench), commercial packages are limited because developers need to run an agent on the target embedded platform. This not only takes time, he suggests, but the agent may not be available on a given customer system, or more likely, relies on kernel functionality that may not be available. The lovable chaos of the open-source scene, with different kernel versions and tweaked system internals running amok, works against the agent/IDE approach at every turn.
As a result, embedded Linux developers often avoid the commercial suites, writes Sirotkin, and end up wasting a lot of time with manual steps. Sirotkin suggests a better alternative: identifying and systematically integrating open-source tools to create a sort of homegrown IDE. Such a do-it-yourself collection, he writes, “will allow you the level of customization, flexibility, and agility that none of the off-the-shelf products can match.” (The a la carte approach also has the advantage, of course, of being free.)
Sirotkin goes on to recommend some of his favorite tools for:
- Writing code — Emacs
- Downloading — Network File System (NFS)
- Scripted automation, via bash and expect
- Bootloader — Das U-Boot or similar
- Debugging — DDD or Insight
- Kernel debugging — a kgdb patch from LinSysSoft and any suitable JTAG probe
- Tracing — Linux Trace Toolkit (LLT) from Opersys
- Profiling - Oprofile
Sirotkin provides tips and code snippets on all of the above, and even hints at the next step: binding it all together into a pseudo-IDE using Emacs and Lisp. The integration doesn't need to be very tight, however, he notes — all that's needed is single-menu access to the entire collection of tools.
The full story on Sirotkin's do-it-yourself IDE is available here.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.