Traditionally, providing equipment for car manufacturers has been a long process handled by vertical companies or collections of companies. A new entertainment system can cost from $80 million to as much as $300 million and take years to develop. With a team of up to 200 people working on a new platform that ships perhaps 1 million to 2 million units, there is a tremendous amount of cost just from the research and development, even before a single unit ships.
Spelling out GNU and Linux stories
Originally companies used proprietary hardware but have begun using more standard devices to cut down on development time and cost. And software development is going in the same direction. Instead of using proprietary code running on a real-time operating system, the automotive industry needs to find ways to reduce costs and reuse code from other parts of its industry, and even from the consumer industry.
There is an increasing need for more innovation and capability in the automotive platforms, particularly in entertainment and multimedia. New technologies, from Adobe’s Flash video software to the latest high-definition video disks, need to be supported, and the cost of porting software drivers to some operating system platforms is prohibitive.
New consumer devices come along regularly, such as the tremendously successful Apple iPod and iPhone, for example, and car manufacturers want to quickly equip their vehicles with interfaces to these latest devices without having to wait many months or even years.
The cost of porting the drivers and interfaces for these systems has to be carried somewhere, either by the operating system vendor or by the development team. Some vendors are trying to bring this under a proprietary operating system, but this is a fantastically expensive approach for the embedded market.
Even with an established desktop operating system, a divergence opens up between the less rugged desktop version with the full range of drivers and interfaces but with a large memory footprint, and the embedded version , which in the past has had limited interface and driver support because of cost.
There are vendors developing embedded operating systems for the automotive infotainment market but they do not have the scale to bring all the new and exciting capabilities to the equipment quickly. Well established real-time operating systems such as Wind River’s VxWorks can have around 50,000 developers and still can’t provide all the required drivers and interfaces in the time needed.Because of this, a number of large car and equipment manufacturers have been working on ways to provide innovative new equipment designs.
Open Source Linux
There is only one way that can provide the scale and support needed for fast innovation. The open source model of Linux makes use of the desktop model by providing drivers and interfaces to all the developers working on a project, allowing them to innovate faster and provide new applications.
This huge, constantly evolving ecosystem of software provides a tremendous base for applications development and avoids the need for software developers to produce different versions for different operating systems, dramatically speeding up the development time and allowing engineers to concentrate on innovation rather than reinvent the software infrastructure for each new project.
But Linux and the open source approach has been fraught with problems in the past for embedded systems. There can be many different flavors, and putting together a complete Linux environment can be time-consuming and prone to errors. This is what car manufacturers, which demand high levels of quality throughout the development process, want to avoid.
So an open source Linux for the automotive infotainment industry has to provide a rugged, proven core that is stable for embedded applications with a common set of well-established, proven capabilities that form the bedrock for fast, innovative application development. At the same time, it has to have a completely open applications programming interface (API) to enable other applications to be easily bolted into the kernel and have a strong test environment.
This has to be done under the open source license without any proprietary technology that could be used to lock a developer or equipment maker into a particular software provider.
The move to a standard platform also opens up potential new business models for the car manufacturers, the Tier 1 equipment suppliers, third-party aftermarket equipment suppliers, and even third-party software providers which can offer software upgrades to add new features. At the moment there is limited opportunity for car and equipment manufacturers, including third-party equipment, to generate additional revenue once they have sold a vehicle, other than by maintenance, and that has been a difficult model to pursue.
With a consistent Linux-based software infrastructure, new applications can be easily added to existing hardware, providing new revenue streams; this can be provided in a number of innovative ways, from downloads to plug-in devices. This has been clearly demonstrated in the satellite navigation business with the additional market in maps and other add-on software applications. Using an open source software model allows even more applications to be generated even faster for a whole range of consumer equipment that can be used in vehicles.
Once these drivers and interfaces are developed, they are available to the whole market under an open source license, allowing many people to reuse the technology, but there are also more commercial licenses that allow smaller third-party vendors to use this technology to develop applications and generate revenue. This opens up another of the additional business models within the ecosystem.
The key to unlocking the innovation, the reduced development time, and new business models is a stable, proven, contained implementation of Linux that is suitable for the automotive market and yet makes use of the huge open source ecosystem of software.
This has been implemented with the support of three large Tier 1 equipment makers to provide a common set of capabilities based around a Linux core. The point is not to reinvent the kernel or the environment but to pick and fully support a core capability.
The core capability has to include applications such as speech recognition and speech-to-text that are already well-established, as well as Bluetooth and advanced echo cancellation and noise reduction software to improve the performance of mobile phone systems. Consumers are also looking for music management and automatic playlist technologies, as well as multimedia and DVD playback.
All this software is already available in the open source community, having been ported for the PC market; but the automotive market needs a full test bench to ensure that applications can be integrated quickly and accurately and identify any interoperability issues that might cause problems.
Connectivity with popular devices such as the iPod and multimedia support for a wide range of consumer electronics, video, and audio standards can also be provided through the open source ecosystem. New widgets and applications such as Google Earth can be used with satellite navigation systems, either embedded in the vehicle or as third-party equipment. This also allows the developer to make use of the latest rich 3D graphics that are now common in navigation systems to provide more innovative user interfaces without having to port new technologies to a platform or wait for them to be available.
Automotive developers have also had to address embedded issues, such as power state management that provides the framework for how the system performs during changes to vehicle and device power state, particularly when the vehicle or equipment starts up and shuts down.
This is not an issue in the desktop and portable market but is vital within cars. Another issue is fast boot and initialisation, working with the power state management, to make sure the infotainment device is running within the prescribed time frame of the car manufacturer.
Automotive Linux also has to include connectivity to and interoperability with automotive networking standards such as the Controller Area Network (CAN), a popular bus for in-vehicle communications and industrial automation applications, and Media-Oriented Systems Transport (MOST), the leading standard for automotive multimedia networks.
All of these capabilities can be implemented within a well-established development environment such as the Eclipse open source development framework. This allows developers to use the environment that they are already familiar with and start generating new and innovative applications faster and with significantly lower cost. Adding a test bench is also vital within this environment to ensure the high-quality implementation that is demanded in the automotive industry.
Standardising the environment
Linux is increasingly being used in standards organizations for the same reasons it is a good choice for automotive. For example, the OpenSAR consortium is using a commercial-grade Linux as the basis of telecoms software architectures and has become well-established. This is moving a previously vertically integrated software model to a more horizontal model with new suppliers offering a wider range of innovative applications but also meeting the tight performance and quality requirements of the telecoms industry.
The same is possible within the automotive industry through bodies such as the software standards body AUTOSAR. This group of car and equipment manufacturers is developing a standard selection of applications to form the heart of a standard version.
The Vehicle Infrastructure Integration Consortium (VIIC) recently chose Linux as a run-time and development tool to develop an onboard equipment (OBE) prototype. VIIC, backed by the US Department of Transportation, aims to improve vehicle safety and enable standard-based vehicle-to-vehicle communication; all the major car manufacturers such as BMW, DaimlerChrysler, Ford, and General Motors are a part of the consortium. This is a major breakthrough for Linux in the automotive industry, and for the first time this project will expose the automotive industry to the open source community and working with Linux.
Open source advantages
Moving software development for automotive infotainment systems to an open source platform provides a number of key advantages. By using the extensive third-party software environment, developers can move faster and concentrate on providing innovative new applications rather than reinventing the software environment with each new project. But it also opens up new business models for the car and equipment manufacturers with software upgrades, and this opens up new models for third-party software developers.
However, this move has to be handled carefully. To provide the high-quality, reliable software that is demanded by the car manufacturers, a well-defined, open API is required, alongside a rugged development and test environment. A key selection of applications integrated with the kernel provides a huge boost to developers, who can also access the ecosystem of open source software to provide flexible, innovative equipment designs in a fraction of the time and at a fraction of the cost of traditional automotive system development. This is vital in bringing the latest consumer technology to cars in the time frames demanded by today’s customers.
Wind River Linux Platform for Infotainment features
- Wind River’s own Linux kernel (version 2.6)
- Optimization for Intel’s Atom low-power multicore processor
- Speech recognition and speech-to-text technologies by Nuance Communications
- Bluetooth and advanced echo cancellation and noise reduction solutions by Parrot
- Music management and automatic playlist technologies by Gracenote
- Multimedia networking solutions by SMSC
- DVD playback by Corel’s LinDVD
- 24/7 support from application and sector specialists
- Eclipse development environment
- VxWorks development environment
By Alexander Kocher, Wind River general manager for automotive. You can meet Alexander at WindRiver’s FISITA booth, Foyer F2 in Munich – 14-19 September.