Linux has become the general purpose operating system of choice for embedded systems and is almost always supported for high-end SoCs developed by the semiconductor vendors. Most vendors use the open source Linux distribution, then build a custom distribution representing the device tree supported for the specific SoC, and include the necessary drivers for the peripherals on the SoC, as well as supporting other customizations and unique features. The operating system is complicated further with multicore processors and symmetric multiprocessor (SMP) Linux. Just because everyone supports Linux, does not make porting and bring up an easy task. To put it another way: Just because you get to the Linux prompt doesn’t mean everything is working.

It gets more complicated with modern SoC architectures incorporating heterogeneous processor structures such as the MIPS I6500. The I6500 supports full heterogeneity at the core and cluster level. This requires that Linux probe each of the cores at boot, to learn about the SoC configuration and install the correct handling routines. It also requires that those handling routines, which may have previously assumed a homogeneous architecture (such as cache initialization and handling), be modified to accommodate and understand the possible heterogeneous architectures.

MIPS I6500 architecture
Figure 1.  MIPS I6500 architecture

Imagination Technologies and Imperas are presenting a tutorial at the Design Automation Conference (DAC) called “Linux Bring Up on Heterogeneous Multiprocessor SoCs”. DAC takes place June 18-22 in Austin, Texas, with the tutorial being given 10:30 – 12:00 on Monday, June 19th.

This tutorial will be presented in two sections. In the first section (by Imagination), the various components of bringing up Linux on a new platform will be covered. These include the BootROM, U-boot bootloader, Linux Kernel and Linux Buildroot. A walk-through of bringing up Linux on new hardware will be presented. The walk-through will also introduce the various tools used to assist in completing board bring-up easily.

Imperas virtual platform environment
Figure 2.  The Imperas virtual platform environment can accelerate bring up of complex software, such as Linux, on complex hardware, such as heterogeneous SoCs.

In the second section, Imperas will discuss the development of a robust test environment using the virtual platform technology. The virtual platform provides a complementary approach to porting and bring up on hardware. The benefits of controllability, observability and repeatability for virtual platform use will be covered. Specific OS-aware tools will also be highlighted, plus other tools such as non-intrusive memory monitors and the use of software assertions and code and functional coverage techniques for the operating system and drivers.

We hope to see you in Austin!

You can follow Imperas on Twitter and LinkedIn and Imagination at @ImaginationTech and on LinkedInFacebook and Google+.

This is a guest post from Larry Lapides, Vice President of Sales at Imperas, founding members of the prpl Foundation, an open-source non-profit foundation focused on enabling next-generation data centre-to-device portable software and virtualized architectures.