Offering device software optimization, riding on Linux

Date:   Friday , February 01, 2008

Successful device software development means having the flexibility to choose the right platform and tools for deploying your project. Rapid technical advances in embedded hardware and software are creating new opportunities to leverage a broad range of solutions for a variety of embedded device projects. The challenge is that new devices are increasingly more complex and thus create greater demands for standards-based platforms and infrastructure, meaning developers with limited resources have to struggle to build better and progressively advanced devices.

The only way for device manufacturers to differentiate their product offerings at competitive prices is to deliver better features, a richer user experience, and do all this quickly and cost effectively. Commodity hardware and software are keys to delivering this quickly and cheaply, but still there is a need to demonstrate differentiation at the software level. Today, the methodology, tools, and the software platforms have changed dramatically. Device manufacturers are now facing new and evolving standards and intensified competitive pressures. “We understand their needs,” says Venkatesh Kumaran, Country Manager, Wind River India. “They need a solution that goes beyond piecemeal product and service offerings.” Wind River is uniquely positioned to offer a comprehensive solution that addresses these needs with a choice of device operating platforms as well as a complete development and debug environment.

Rooted in operating systems technology
Wind River began as an operating systems development company in 1981. During this period Wind River developed and marketed the VxWorks family of device software operating systems. VxWorks is the most widely used and thoroughly tested real-time operating system available today. And it is deployed in more than 350 million devices worldwide.
Wind River made the decision to enter the Linux market several years ago due to overwhelming customer demand and because it was a natural extension of product line. Their Linux strategy is to provide embedded device developers with a commercial-grade Linux distribution, optimized for specific embedded markets and to address the wide variety of architectures present in the embedded market better than any other provider.

Guaranteed real-time performance
The Linux initiative received a boost in February 2007 when Wind River acquired FSMLabs’ real-time technology and integrated it into their Linux products. Wind River Real-Time Core for Linux enables microsecond response times for mission-critical applications such as high-bandwidth IP communications, robotics, and industrial control. This technology is regarded as one of the best, most mature, guaranteed real-time Linux solutions available in the device software industry. As a result of the real-time technology acquisition and integration, hard real-time performance combined with the flexibility and control of enabled.

“Roll-Your-Own Linux” vs “Commerical Grade Linux”
The advantage of leveraging Linux as an embedded device platform is the easy availability of its source code from thousands of sources. The Linux kernel and associated open source software are the heart of a new ecosystem for device software creation, optimization, and deployment. Unfortunately, power, flexibility, and easy availability do not mean that manually creating and maintaining a device specific Linux platform (commonly known as “rolling your own” Linux platform) is a trivial task.

While Linux source code and the Linux kernel are perceived as ‘free’, developers using Linux must be careful not to fall into the trap of ‘developing Linux’ versus what they should be doing which is ‘developing on Linux’. Linux is complex. A minimal distribution is made up of the Linux kernel, a root file system, a toolchain (complier & debugger), plus hundreds of packages, patches, and extensions that need to be integrated and tested together. Rolling your own Linux platform means that you must obtain, build, and support each of these components yourself. And the additional integration effort is not trivial, as embedded engineers need to understand how much additional time and resources this integration will add to their total project development.

GNU General Public License
The GNU General Public License (GPL) is the type of license most Linux software is developed and distributed under. So, as a user of GPL software, you are granted the right to freely use and redistribute the software at will. However, the caveat is if you alter or modify GPL-licensed code, you must provide the source code of those modifications to the recipient that you have redistributed the software to originally.

Device developers that use Linux or other open source code (licensed under GPL) must be cognizant of their obligations to GPL and the open source community. If you ‘mix’ or integrate proprietary code with open source code, a potential case that could be viewed as having created a modification to the original open source software, and therefore should be obligated to provide your proprietary works to the community.

Open source licensing and source code issues can be complex. And Wind River has developed an intellectual property review process to ensure that their distribution does not improperly mix proprietary code with open
source code.

Debugging Linux can be complex
Debugging embedded Linux products traditionally required a mixture of hardware and software tools — JTAG tools for hardware bring-up and agent-based solutions for software development. These JTAG and agent based tools often solved point problems, but were not designed for integrated Linux development. Wind River has changed the way in which developers can debug Linux by merging traditional JTAG hardware debugging with Linux kernel configuration + patch management and user-space application development, debug and analysis in an Eclipse-based Integrated Development Environment (IDE), known as Wind River Workbench On-Chip Debugging. This capability enables developers to use the JTAG connection when traditional agent-based solutions are not technically or economically feasible.

The two most common scenarios where the JTAG connection can be used are when an Ethernet connection is not available for agent-based debugging and when the developer needs to resolve issues that occur in Linux kernel or user-space and when system-mode debugging is required. With the next generation JTAG tools from Wind River, developers can debug hardware, bootloader, Linux kernel, and user-space enabling them to spot system crash events and other problems that occur between the kernel, user-space, and target.

Pushing the open source ideology
The Linux operating system and related applications have brought cost savings and vendor independence to enterprise computing. The well-established core technology is constantly evolving. Wind River released over 300,000 lines of code to the Eclipse Foundation to help make the restrictions associated with closed, proprietary developer tools a thing of the past.

Linux has proven to be a secure, reliable, and affordable operating system in enterprise applications. Kumaran proudly states that as a trusted technology provider, Wind River has added significant value to open source technologies with disciplined, commercial-grade product offerings. With its commitment to open source software, standards, and ecosystems, Open Handset Alliance and LiMo Foundation both selected Wind River Linux as their Linux Partner.

The Open Handset Alliance (OHA) is the newly-formed mobile alliance committed to delivering comprehensive solutions to enable open software, open devices, and an open ecosystem. OHA device manufacturers and other OEMs can work with Wind River to port the Android platform onto their respective hardware platforms and optimize it based on their specific requirements to deliver the greatest levels of performance.

The LiMo Foundation, founded by industry leaders Motorola, NEC, NTT DoCoMo, Panasonic Mobile Communications, Samsung Electronics, and Vodafone, aims to provide key benefits for the mobile industry including lower development costs, increased flexibility, and a richer mobile ecosystem - all of which contribute to the group’s ultimate objective of creating compelling, differentiated, and enhanced consumer experiences on mobile devices. LiMo has also selected Wind River as their commercial Linux technology as the foundation for its Common Integration Environment (CIE).