News Archive (1999-2012) | 2013-current at LinuxGizmos | Current Tech News Portal |    About   

Article: eCos vs. uClinux: Which is best for your embedded target?

Mar 11, 2002 — by LinuxDevices Staff — from the LinuxDevices Archive — 13 views

Do you need or want a freely available, royalty free embeddable operating system for your next project? Is support important to you? Is wide-spread developer experience important to you? Are you looking for something that you can productize or just use to become familiar with the embedded world? These and many more questions are typically asked by designers and business people interested in free… software.

Both eCos and uClinux offer freely available, royalty free downloads from public cvs sites. Neither offers an exhaustive range of existing board support packages, though, curiously enough, both seem to offer about the same type and number of BSPs. Adding support for a new board is relatively easily accomplished with uClinux–given prior Linux kernel development experience and familiarity with the tools and assuming that the GNU Compiler Collection already supports your target microprocessor. Adding support for a new board under eCos, from the perspective of this Linux person, is a bit more of a learning curve, but not difficult once the process is underway. Again, GCC support for your micro is required.

Do you need professional support or are you willing to staff knowledgeable personnel capable of solving the problems you're likely to encounter? Red Hat offers cost-based support services for eCos. Lineo also offers similar support for their supported uClinux code. Other consultants and service providers are available, though perhaps are not as easily found. Neither of these services tend to be overtly inexpensive and there is a tendency to feel as if you're helping to pay for the first time something is done so that everyone else can benefit. Of course, that's how free software got to be free for others, someone (or many someones) made an initial investment that helped serve the needs of the larger community…and we all tend to help out a bit from time-to-time by contributing what we can back into the community. Mailing lists are probably the best support available, especially for smaller project budgets. They tend to offer the quickest and most reliable responses, too!

Many, many more developers have experience using and developing for Linux (the uClinux kernel is simply Linux for MMU-less computers) than eCos, probably as a result of the tremendous popularity of Linux. It is my opinion that nearly any developer familiar with Linux kernel hacking will be able to “get along” under an eCos world with a required minimum learning curve.

If you're looking for something that you can ship in your next embedded product, you may want to more strongly consider eCos as your first, open source OS choice. eCos was designed from the beginning to be an embedded OS. It has distinctly embedded features are better suited to putting in an embedded product–ready to fly off the shelves–than uClinux is currently considered today. It helps to think that uClinux is Linux “lite.” You can build a minimalist uClinux product in about 600KBytes, which is certainly not “lite” by truly embedded standards. eCos allows for a shipping system in perhaps as little as 60KBytes, obviously depending on your system requirements. uClinux has no notably “real time” features, though extensions are likely “in the works.” eCos already has real time extensions.

Along those lines, the development tools packaged with eCos are more finely “tuned” for the needs of system designers and developers than currently available uClinux tools that I've seen. While that doesn't prohibit development, in fact, it enables you to select any tool that does the job, it doesn't offer a composite package ready-to-ship that many companies seek when considering ramping up on a new project. Naturally, pre-packaged tools come at an additional project budget impact, however, such might be seen as a risk-mitigating factor in the eyes of many line and configuration managers. Lineo, probably the forerunner of uClinux support and services, is undoubtedly producing similar tools for uClinux. As a note, the wave of people rushing to embrace a platform seems to be heading in the direction of uClinux, which may be an important consideration as we all keep an eye on what the future offers.

If you're looking for something to familiarize yourself with the (seemingly) recently-blooming embedded systems world, you may be happy to consider uClinux as an excellent starting point. While you're welcomed by Red Hat to download eCos, you're not as likely to find as much free and active developer support as you would from the Linux/uClinux community. Most Linux mailing lists I've seen are relatively eager to help out newbies and many developers offer free help in jumpstarting projects once hardware is available for businesses considering exploring for an existing or new board. Either eCos or uClinux offer plenty of insight into the complete worlds of embedded systems in each board support package made freely available.

I encourage everyone to download either or both and start hacking today!

Take Care.

Rob!



About the author: Rob Wehrli is Director of Engineering at Arizona Cooperative Power where he has developed a variety of Windows CE, embedded Linux and uClinux devices and products. He is a C/C++ and assembly programmer and self-proclaimed electrical design engineer “wannabe.” He enjoys bringing up new boards and porting Linux to new platforms. When not building cool Linux stuff, Rob is found publicly speaking, writing and driving his racecar to 160+ MPH quarter miles. He is an avid chess player and has been fiddling around with the guitar for “over 20” years.





Related stories — uClinux:

 
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.



Comments are closed.