116881promo.jpg

Managing Heterogeneous Multicore Software Development

July 18, 2014
Asymmetric multicore platforms are becoming more common. Mentor Graphics is changing the tools to streamline software development on these heterogeneous platforms.

Mentor Graphics designs its software development tools to handle a range of platforms from small, single-core microcontrollers to multicore system-on-chip (SoC) platforms. Symmetric multiprocessor (SMP) systems have had plenty of support, including hypervisors. They may run virtual machines (VMs) with a variety of operating systems (Oss), but the overall management comprises VMs. This is much different from a heterogeneous multicore system like Texas Instruments’ latest OMAP5, which includes a mix of dual ARM Cortex-A15 and dual Cortex-M4 cores (Fig. 1).

Figure 1. Mentor Graphics brings together its individual components such as the Nucleus RTOS, Embedded Linux, and Embedded Hypervisor onto a single platform with integrated tools that allow cross-core configuration, communication, and management.

Developers have had to deal with the various OSs, middleware, and development tools when addressing heterogeneous multicore systems. Often, though, developers have had to provide the integration between the various components and tools. This is not easy, and using software components from different vendors makes it even harder.

Mentor has not even chosen a name for this overarching embedded development solution, which encompasses the company’s wide range of software and services (Fig. 2). Developers, then, can use high-level OSs like Mentor Embedded Linux and mix them with bare metal applications as well as the Nucleus real-time operating system (RTOS) running on different cores.

Figure 2. The Mentor Graphics solution encompasses a wide range of software and services.

Part of the solution is the support for interprocess communication (IPC) and management such as VirtIO, the Multicore Communications API (MCAPI) from the Multicore Association (see “Multicore Association Readies Communications API Spec” at electronicdesign.com), rpmsg, and remoteproc. This brings hypervisor support to heterogenous multicore, whereas the typical hypervisor is restricted to an SMP platform. Mentor Graphics’ hypervisor shares this restriction, but the entire solution does not allow developers to use similar tools and application programming interfaces (APIs) across all the cores in platforms like TI’s OMAP5.

The new tools start at system configuration and move through booting to IPC. They wind up with system visualization, which is a system-wide trace capability that lets programmers track task states across the mix of cores within the system. The boot support is an example of the integration details involved. Keep in mind that booting can be a complex process with multiple heterogeneous cores as well as VMs. Secure boot support is on the horizon. Hardware like the OMAP can handle it.

Tool vendors are going to need to address heterogeneous multicore environments as more and more appear. Integration and support are major issues and even more so in this environment.

Sponsored Recommendations

The Importance of PCB Design in Consumer Products

April 25, 2024
Explore the importance of PCB design and how Fusion 360 can help your team react to evolving consumer demands.

PCB Design Mastery for Assembly & Fabrication

April 25, 2024
This guide explores PCB circuit board design, focusing on both Design For Assembly (DFA) and Design For Fabrication (DFab) perspectives.

What is Design Rule Checking in PCBs?

April 25, 2024
Explore the importance of Design Rule Checking (DRC) in manufacturing and how Autodesk Fusion 360 enhances the process.

Unlocking the Power of IoT Integration for Elevated PCB Designs

April 25, 2024
What does it take to add IoT into your product? What advantages does IoT have in PCB related projects? Read to find answers to your IoT design questions.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!