March 2008
uClinux for the LatticeMico32 Accelerates Embedded DevelopmentNew operating system complements substantive enhancements to the LatticeMico32 embedded processor system.
Lattice and Theobroma Systems of Austria have partnered to make uClinux available for the LatticeMico32 soft processor. Based on the open-source uClinux distribution and Linux-2.6.23, this Linux port for the LatticeMico32 processor is in demand by many embedded system designers. This introduction spotlights the growing maturity of the LatticeMico32 ecosystem and is an affirmation of the open source strategy of the LatticeMico32. It provides the visibility, flexibility and portability that forward-looking designers demand.
uClinux (pronounced "you-see-linux") is an Operating System (OS) similar to Linux, but modified to work without a memory management unit (MMU). Like Linux, uClinux has mature and feature-rich networking and file system support. The Mico32 kernel port supports (among others) the ROMfs, ext2, NFS and the jffs2 file systems. The port comes with over 60 "userland" applications (bind, cron, fdisk, grep, etc.). While uClinux is not a Real Time Operating System (RTOS) the port offers the Xenomai-based real-time overlay to approximate real time behavior.
uClinux accelerates control domain design for applications such as WLAN Access Points, Security Cameras, Internet Appliances, POS Terminals, Networking Systems, etc. It is already in the hands of Lattice IP partners for development of systems. Many Linux applications are already ported to uClinux or can easily be ported. uClinux applications can use almost any of the Linux APIs. For most applications the only impact is that uClinux does not have fork() system call. Instead, uClinux relies exclusively on vfork() and exec().
Included in the release is a demo of uClinux running a web server on the LatticeECP2 Mico32/DSP Evaluation Board. The web server demo gives the user interactive control of the LED panel on the board. Drivers for standard peripherals are included in the port and used in the demo. These include the following:
* The Tri-Speed MAC and DDR Controller IP cores are standard Lattice licensed IP cores that if compiled for another uClinux platform require the free, time-limited evaluation license or the purchase of a license.
The U-Boot application is included in this port and supports booting the OS over the network. The LatticeMico32 port of U-Boot not only boots an operating system, but offers a layer of separation between the uClinux kernel and the hardware that approximates “peripheral autodetection”. This is important because it greatly simplifies porting the OS to new boards or LatticeMico32 peripheral configurations; U-Boot is compiled with configuration information derived from Mico System Builder (MSB) database and passes this information to the operating system booted (e.g. to Linux).
Technical support for uClinux users is provided through the standard Lattice technical support systems; techsupport@latticesemi.com and in the LatticeMico32 Forum. Through a contract with Theobroma, Lattice has access to Linux and uClinux experts to aid in product support.
Learn more about the uClinux release on the Lattice Mico32 page on the Lattice website.
The included demo uses a uClinux configuration of the LatticeECP2 Mico32/DSP Evaluation Board.