multi-os system development, multicore os, android os and

4
T e c h n o l o g y B r i e f www.mentor.com/embedded MULTICORE, MULTI-OS METHODOLOGIES USING NUCLEUS, ANDROID, AND LINUX Combining the success of the Nucleus Real Time OS (RTOS) with the potential of the Linux General Purpose Operating System (GPOS), Mentor brings new opportunities to multicore/multi-OS system development. The embedded software industry has undergone significant transformation in recent years. Nowhere is the change more apparent than in operating system (OS) software. While Linux is well-established in the desktop/server space, recently, through the creation of the Open Handset Alliance (OHA) and its subsequent release of the Android OS, the industry has seen the successful emergence of open source software. Android has quickly become a viable open source OS for both mobile and non-mobile devices, with great potential to meet the demands of OEMs and ODMs from a variety of industries and markets. At the same time, embedded software developers are faced with designing new OS architectures for the latest next-generation mobile devices, which are becoming more convergent with each passing generation. These devices require media-rich graphics, multi-band connectivity, extensive processing requirements, a more compelling user experience, and ‘always-on’ functionality. When not tackling the technological challenges of the next, “next-gen device,” developers must also continue to fine-tune the more popular OS architectures of today. OEMs are always demanding greater system functionality and efficiencies with lower price per-unit costs. With the increase in complexity of newer SoCs and the ever increasing number of features embedded devices support, software developers must have new options and solutions in order to move innovation forward. THE RISE OF MULTICORE, MULTI-OS DEVELOPMENT Multicore systems have had their place in the embedded industry for some time. But the development of multicore systems is also evolving. Processors are not only faster, more efficient, and much smaller, but they are built exclusively to execute certain tasks within a subsystem. In order to facilitate the many requirements of a system there is a need today for an environment where heterogeneous operating systems can coexist within the multicore system. For instance, an RTOS, such as the Mentor Graphics ® Nucleus ® RTOS, is responsible for delivering real-time behavior such as low-latency performance and high determinism; whereas a GPOS, such as Embedded Linux or Android, operating on a totally different set of parameters, manages the many user applications.

Upload: peterbuck

Post on 21-Jun-2015

785 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Multi-OS system development, multicore OS, Android OS and

T e c h n o l o g y B r i e f

www.mentor.com/embedded

MULTICORE, MULTI-OS METHODOLOGIES USING NUCLEUS, ANDROID, AND LINUX

Combining the success of the Nucleus Real Time OS (RTOS) with the potential of the Linux General Purpose Operating System (GPOS), Mentor brings new opportunities to multicore/multi-OS system development.

The embedded software industry has undergone significant transformation in recent years. Nowhere is the change more apparent than in operating system (OS) software. While Linux is well-established in the desktop/server space, recently, through the creation of the Open Handset Alliance (OHA) and its subsequent release of the Android OS, the industry has seen the successful emergence of open source software. Android has quickly become a viable open source OS for both mobile and non-mobile devices, with great potential to meet the demands of OEMs and ODMs from a variety of industries and markets.

At the same time, embedded software developers are faced with designing new OS architectures for the latest next-generation mobile devices, which are becoming more convergent with each passing generation. These devices require media-rich graphics, multi-band connectivity, extensive processing requirements, a more compelling user experience, and ‘always-on’ functionality. When not tackling the technological challenges of the next, “next-gen device,” developers must also continue to fine-tune the more popular OS architectures of today. OEMs are always demanding greater system functionality and efficiencies with lower price per-unit costs.

With the increase in complexity of newer SoCs and the ever increasing number of features embedded devices support, software developers must have new options and solutions in order to move innovation forward.

THE RISE OF MULTICORE, MULTI-OS DEVELOPMENTMulticore systems have had their place in the embedded industry for some time. But the development of multicore systems is also evolving. Processors are not only faster, more efficient, and much smaller, but they are built exclusively to execute certain tasks within a subsystem. In order to facilitate the many requirements of a system there is a need today for an environment where heterogeneous operating systems can coexist within the multicore system.

For instance, an RTOS, such as the Mentor Graphics® Nucleus® RTOS, is responsible for delivering real-time behavior such as low-latency performance and high determinism; whereas a GPOS, such as Embedded Linux or Android, operating on a totally different set of parameters, manages the many user applications.

Page 2: Multi-OS system development, multicore OS, Android OS and

2www.mentor.com/embedded 2

ASYMMETRIC MULTI-PROCESSING (AMP)An AMP multicore system allows load partitioning with multiple instantiations of the same or different operating systems running on the same cores. Figure 1 shows a basic, high-level software architecture of an AMP system. The design includes both Linux and Nucleus running together – each OS serving distinctively different purposes. The system is partitioned so that Linux handles the control plane activities such as drivers, middleware, and human interaction tasks and Nucleus handles the data plane activities which are time sensitive, deterministic, and computationally more intensive tasks.

As seen in Figure 1, the two operating systems communicate through some method of Inter-Process Com-munication (IPC) which, in the past, often varied from design to design. There are a few different open standards for IPC today, with the more prevalent standards being Transparent Inter-Process Communication (TIPC) and Multicore Communication API (MCAPI). Adherence to open standards is critical to scaling AMP

systems and allowing easy porting of legacy software. Of note, having optimized IPC mechanism between the GPOS and the RTOS is a critical factor to the overall viability of a multicore system. Mentor is currently working with semiconductor company, Marvell, to further develop the IPC standard.

The AMP software design described above has been around for quite a while

and will continue to be used in AMP designs in the foreseeable future. The main areas of change in these designs is in complexity of operations on both the GPOS and RTOS – both sides of the system have more advanced applications, middleware, etc., running on them.

STATE-OF-THE-ART DEVELOPMENT TOOLSA complex software design using dual operating systems running on either a single core or multiple cores can fail to due to the lack of comprehensive development tools and support. An early challenge with AMP multicore design is that standardized tooling is often different for the GPOS and RTOS portions of the system. Mentor Graphics has already begun building a unified tool solution for Nucleus, Linux, and Android coexisting in an AMP design so that engineering teams and software developers can effectively use these tools as device sophistication continues to grow.

Figure 1: The separation between the control plane and data plane in a multi-OS system.

Page 3: Multi-OS system development, multicore OS, Android OS and

3www.mentor.com/embedded 3

MULTI-OS SYSTEM INTEGRATIONFigure 2 shows how Linux and Nucleus might work together in an AMP multicore system. High-level partitioning of the resources between Linux and Nucleus are depicted for demonstrative purposes. With this type of integration there are many factors that must be considered. For instance, what is the booting strategy? Will a boot loader be used? How will memory be partitioned and protected between the different operating systems? How does one optimize or fine-tune such a complex system?

As Mentor Graphics moves forward with its multi-OS offering, and works closely with its partners on multi-OS integration issues, many of the tough questions will soon have straight-forward and well-defined answers. Having the ability to purchase a tightly integrated GPOS and RTOS solution and the development support that

Figure 2: Multi-OS system partitioning.

Page 4: Multi-OS system development, multicore OS, Android OS and

For more information, call us or visit: www.mentor.com/fpgaCopyright 2008 Mentor Graphics Corporation. This document contains information that is proprietary to Mentor Graphics Corporation and may be duplicated in whole or in part by the original recipient for internal business purposes only, provided that this entire notice appears in all copies. In accepting this document, the recipient agrees to make every reasonable effort to prevent unauthorized use of this information.

4 Mentor/0-In Formal Verification Technology BackgrounderMGC 8-09 TECH8530-w

Visit www.mentor.com/embedded for the latest product information.©2009 Mentor Graphics Corporation. All rights reserved.

This document contains information that is proprietary to Mentor Graphics Corporation and may be duplicated in whole or in part by the original recipient for internal business purposes only, provided that this entire notice appears in all copies. In accepting this document, the recipient agrees to make every reasonable effort to prevent unauthorized use of this information.

follows is critical to customer success. As many of the tools and techniques become available, Mentor support will allow customer development teams to create new embedded devices for multicore/multi-OS in a manner that enables them to focus solely on the specific space being addressed by their device.

CONCLUSIONIt’s important for developers to realize that multicore systems are inherently different from the single core environments. It is critical that developers make use of commercially available solutions and services. With assistance from Mentor Graphics, developers can be assured their application, whether a single OS utilizing embedded Linux, Android OS, or the Nucleus RTOS – or a multi-OS system in which Android and Nucleus work side-by-side – will include some of the best selling and proven products in embedded software today supported by a global team of dedicated professionals.