Linux needs a memory management unit. But many Linux features, including a majority of the application programming interfaces (APIs), can be attained through uClinux. Available as an open-source project sponsored by Arcturus Networks, Lineo, and SnapGear, uClinux has become a top-notch platform for Linux-style development on a microcontroller. The sponsors offer commercial versions of uClinux for specific platforms, providing the typical board support packages found with higher-end operating systems (OSs).
Arcturus Networks supplies uClinux on its uCdimm series of compact, microcontroller-based board kits like the uCdimm Tarifa MCF5272, which is based on the Motorola ColdFire 5272.
The key to uClinux's popularity is its compatibility with Linux. Both uClinux and Linux use such development tools as the CNU C compiler, and most cross-platform development is done on a standard version of Linux. Most Linux-based applications can be recompiled for uClinux as long as they utilized the subset of Linux APIs handled by uClinux.
Command line shells are available for uClinux that match the Linux counterparts. Even packages are distributed via the RPM package format.
TCP/IP is an optional service under uClinux. This isn't surprising because many uClinux projects are network appliances, including routers and gateways. Arcturus even sells the S3C4530 Residential Gateway & Router Reference Design. File systems include DOS and NFS in addition to Linux-specific file systems.
The OS works with a wide range of platforms, although many of them are supported by a specific open-source project or commercial vendor. Check out www.uclinux.org for more details.