Free Print Subscription Printer-friendly version Email to a Friend

Linux joins the consumer-electronics revolution

( 01 May 2006 )
by Warren Webb, Technical Editor, EDN

As CE (consumer electronics) vendors vie for market share, consumers are asking designers to cram more functions into every new product or update. Users are no longer content with devices that offer only one function. Multifunction devices, such as mobile phones, media players, digital cameras, game consoles, radios, and televisions are all competing for consumers’ dollars. To deal with this complexity, 32-bit processors, networking connections, full graphics displays, security, and multithread software are now standard fare in new designs. With the high volumes and thin profit margins associated with CE products, design teams are investigating and adopting the Linux operating system to tackle the software burden.

Several Linux features make it ideal for CE projects. Designers are initially attracted to Linux because it offers free source code, no licensing fee, and no per-unit royalties. Compared with the price of in-house development or a commercial operating system, these costs are significant and can add up to thousands of dollars over the life of the project. Cost competition and budget restrictions have forced software-development teams to at least consider royalty-free software such as Linux for new projects.

Linux includes the kernel, the shell environment, and applications. The basic architecture of the Linux kernel includes memory management, process scheduling, a file system, and a network interface. The memory manager enables multiple programs to securely share the system memory, and the process scheduler ensures that programs will have fair access to the CPU. The virtual-file system hides the details of the hardware and presents a common file interface to the user. The Linux kernel typically takes less than 1 Mbyte of RAM, and the shell environment provides a user interface as simple as a command line or as complex as a Windows type graphical interface.



Linux comes along at a time when some designers are moving from limited-function “roll-your-own” operating software for 8- and 16-bit processors to complex applications that exceed the capabilities or budgets of in-house software teams. These developers are accustomed to maintaining their own software packages and feel at home with the Linux licensing arrangement. Open-source Linux add-on features such as built-in networking support and graphics can also save many hours of coding and integration on a new development project.

<%@ LANGUAGE="VBSCRIPT" %>
<% Randomize: ord=int(rnd*1000000000) %>


With the current crop of high speed, low-cost 32-bit processors and Linux pre-emption improvements, developers are finding that the real-time demands of embedded systems are less of a burden. Although data rates have increased, the timing of user I/O has remained relatively constant, and programmers have more clock cycles available to service I/O requests with today’s high-speed processors. Linux does not target the delivery of deterministic performance, yet it is in use on some applications that previously required a real-time operating system.


Low overhead
Linux is modular and allows developers to construct a small, tailored software set that fits the memory footprint of each device, thus eliminating some of the code overhead in proprietary, multi use operating systems. Linux also supports a vast arsenal of microprocessors, making it ideal for the diverse consumer-device market. Because designers have ported Linux to most popular embedded processors, software limitations do not force developers into hardware decisions. Designers can start production with a low-priced microprocessor that meets current needs and easily upgrade to a more powerful CPU as the device requirements and features expand.

Developers periodically update the Linux kernel to include patches and suggestions from the user community. You can find information on and download the latest version of the kernel at www.kernel.org. The current Version 2.6 includes numerous preemption points that allow the scheduler to suspend an active task and initiate a higher priority process. A rewritten process scheduler algorithm speeds task switching in multitasking applications. In addition to the real time improvements, Version 2.6 includes several updates that benefit consumer-device applications. For example, Bluetooth and USB 2.0 enhance peripheral-interface options, the ALSA (Advanced Linux Sound Architecture) allows applications to process multiple audio streams, and Video4Linux adds a video subsystem. Another update for deeply embedded systems yields a smaller footprint build for headless applications.



The Linux licensing agreement has positive and sometimes negative consequences for the consumer-device developer. On the positive side, you can download a free copy of Linux, adapt it to your product, and sell as many copies as you want without paying royalties. Linux is licensed under the GNU (GNU’s Not Unix) GPL (General Public License) with rules for its use. If you modify and distribute GPL software, your modifications automatically fall under the GPL, and you must reveal the source code. Application programs and device drivers may remain proprietary as long as they are separate and distinct from the Linux kernel and contain no GPL code. The code-isolation requirement concerns developers of small-footprint consumer devices in which a single ROM image stores all software.

In addition to the licensing uncertainties, other non-technical concerns exist for prospective Linux users. For example, the SCO (Santa Cruz Operation) Group’s legal challenge claiming that Linux contains remnants of proprietary Unix code could force changes to the kernel or even require royalty payments. As recently as December 2005, the SCO Group filed a motion to expand a lawsuit against Novell, a previous owner of Unix intellectual property and a current Linux developer. You can find the latest information and a complete history of the SCO controversy at the Linux Online Web site, www.linux.org.


Kernel patches
Another possible danger that developers foresee in an open source Linux environment is the potential for fragmentation. If Company A decides to modify the Linux kernel to solve an integration problem with one of its products, and Company B makes a similar but incompatible modification, three versions of Linux now exist. When the next official Linux update comes out, both companies will have to dig through the revised code to reincorporate their changes or continue to use the old version. The wisest choice would be to leave the kernel unmodified and use the source code strictly for debugging or to gain insight into the internal functions of Linux. So far, the Linux community has been successful in preventing multiple versions through an elaborate system of upgrade proposals and releases.



Although Linux is a free operating system, many designers are willing to pay for expert support, specialized tools, customization services, and prepackaged configurations to ease the development process. Commercial vendors have responded with custom embedded configurations, subscription-support packages, development-tool kits, sample applications, and consulting services to augment Linux. Unlike with commercial proprietary operating systems that limit users to a single source, Linux users have the freedom to obtain support from any number of vendors.

Concerned with the growing popularity of Linux for CE products, some commercial RTOS (real-time-operating-system) vendors have joined the open source movement to provide custom distributions, development tools, and support and to promote their proprietary software for hard real-time applications. For example, Glenn Seiler, product-line manager at Wind River, summarizes the company’s strategy: “The market wants a choice. In some cases, the market wants an RTOS because of hard-real-time or small-footprint requirements, and some customers still have an aversion to the GPL concept. Others have so much legacy investment that they want to continue to use the RTOS.”

Seiler describes other customers who want to take advantage of the fast innovation, royalty-free model; have control over the source code; want vendor independence; and are unafraid of the GPL. These customers, he says, are leaning more toward Linux. He explains, “We wanted to provide a solution that would satisfy both the RTOS customer and the Linux customer. We started that solution with a tools strategy based on our Workbench tool suite: a soup-to-nuts, life-cycle product that covers everything from board bring-up and firmware development all the way to kernel board-support development, application develop-ment, and debugging.” Wind River based the Workbench suite on the open-source Eclipse integrated development environment (Figure 1).

Similarly, MontaVista Software offers the Linux CEE (Consumer Electronics Edition), an embedded operating system and cross development environment for CE devices. The package features dynamic power management; enhanced file systems; new development tools for system performance tuning; processor and peripheral support; cross development tools for application development; and sample utilities, libraries, and drivers. CEE supports a range of consumer-device-specific processors from Freescale, Intel, Renesas, and Texas Instruments. MontaVista also offers Linux for Mobile Devices (Mobilinux) for wireless handsets and mobile products with requirements for power management, hard-real-time performance, fast start-up, and small footprints (Figure 2).



TiVo leads the way Numerous CE devices incorporate the Linux operating system, but the TiVo personal video recorder is the most widely recognized. The TiVo Linux has also been hobbyists’ favorite software to “hack” to increase storage capacity with larger or additional hard disks or to transfer video to computers or other devices. Linux may also be part of the software package that Sony provides with its next generation gaming console, PlayStation 3, which Sony expects to ship in the spring of 2006. Linux also powers the recently introduced Nokia 770 Internet Tablet featuring 802.11, USB, and Bluetooth connectivity; an 800 480-pixel touchscreen; and 64 Mbytes of available Flash memory (Figure 3). In addition to the Web browser, the 770 includes an e-mail client, media players, a file manager, games, and several general-purpose applications. The Nokia 770 is available online for $360.

At the recent Consumer Electronics Show in Las Vegas, Sonos introduced the Linux-based ZonePlayer ZP80, part of a wireless system that allows users to stream digital music to audio equipment throughout a consumer’s home. By connecting a ZP80 to any amplified audio device using the analog or digital outputs, that device becomes part of a wireless, multiroom digital-music system that you operate from a color Sonos controller. The ZP80 includes autosensing line-in connectors that can digitally encode any line-in audio source, such as an Apple iPod, a CD player, or a satellite radio. The Sonos ZonePlayer ZP80 retails for $349.

If you are new to Linux for CE, you can find news, discussion, and custom source code at the CELF (Consumer Electronics Linux Forum). The forum’s goal is to enhance Linux functions for use in CE devices by publishing specifications and hosting CEspecific code. You can also find information on Linux-based CE products at www.linuxdevices.com. This site contains recent news, articles, and tutorials on Linux programming, lists of available distributions, and forums on embedded-system topics.



As next-generation CE devices come to market, designers must be ready to deliver complex user interfaces, network connections, and real-time data security on top of their custom application software. Linux offers a royalty-free, open source operating system with these and other features built-in. In fact, millions of lines of free Linux compatible software are available on the Internet to support CE development projects. With these benefits and a growing base of technical fans, Linux has a bright future in the CE industry.


Author information
You can reach Technical Editor Warren Webb at 1-858-513-3713 and wwebb@edn.com.

 
Free Print Subscription Printer-friendly version Email to a Friend
 
Article Rating 
Average Rate: No rating yet
 
Poor Quite Good Good Very Good Excellent
 
Related Content 
 
 
KNOWLEDGE CENTER
Panasonic Key Devices Guide 2008 :
 
Fairchild Semiconductor :
 
Texas Instruments: DaVinci Technology
 
Texas Instruments: Safe Bet Series
 
 
 
Highest Rated  
Feedback Loop  

ADS BY GOOGLE 
 
 
 
ADVERTISEMENT
Press Release 
 
TECHNOLOGY NEWS
 
RESOURCE CENTER

 
 
PRODUCT NEWS
 
FEATURED SPONSORS
 
 
DESIGN CENTERS
 
ADVERTISEMENT
     
Reference Designs 
   
     
 
 
 



RSS
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   
   

POLL
What type of environmental regulation do you think will be most beneficial for the tech industry?
Proper recycling and disposal
Push for power efficiency and energy conservation
Chemical/lead regulation
View results