Tiny Linux Is A Big Secret

June 9, 2003
While squeezing in compact MMU-less systems, uClinux builds on Linux kernel.

Fitting Linux into a couple megs of memory is a tough task, especially if a secondary storage device isn't available. At the low end is where uClinux really shines, making it ideal for small, 32-bit embedded applications.

This tiny operating system is below most developers' radar because of its open-source nature; there are no licensing costs. A number of vendors have adopted uClinux for use with their chips or boards, but there's no shrink-wrapped version like its big brother, Linux. Custom versions and support are available from a wide variety of sources, including Arcturus Networks (www.arcuturusnetwork.com), SnapGear (www.snapgear.com), and Motorola's Metrowerks (www.metrowerks.com). It runs on a wide variety of 32-bit microprocessors and works well with flash-only devices. It fits comfortably in 2 Mbytes for flash memory and 4 Mbytes of RAM.

While uClinux is a derivative of Linux, it has a clear upgrade path to Linux. In fact, one of the most popular embedded libraries for uClinux, uClibc, also runs on Linux. Most uClinux projects can port easily to Linux if memory or processor requirements grow. The Linux heritage means uClinux should possess excellent networking and POSIX support. The TCP/IP stack supports IPv6, and its modular design handles minimal networking applications through complex router and firewall applications.

Real-time support is available through RTlinux (www.rtlinux.org) and RTAI (www.aero.polimi.it/~rtai). These are also used on Linux systems. They provide the submicrosecond latency necessary for many embedded applications.

Most uClinux tools are command-line-based, although there are some graphical tools, like the ddd graphical debugger. Most tools will be familiar to Linux developers. As with the majority of small operating systems, uClinux requires a cross-development environment. Debugging support such as JTAG or background debug depends on the chosen microprocessor. With an increasing number of standard 32-bit microcontrollers, uClinux seems to be a well suited option for embedded applications.

www.uclinux.org

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!