Get Started with Intel® System Studio for Wind River* Linux*

Introduction

Intel® System Studio (ISS) provides a suite of development tools for embedded and mobile developers. It contain Intel® C++ Compiler for Embedded OS Linux* (ICC), Intel® Integrated Performance Primitives for Linux* (IPP), Intel® Math Kernel Library for Linux* (MKL) etc.

Wind River* Linux* is popular industry Linux software for embedded devices. It provides a cross development environment that enables developer to create optimized Linux platforms for embedded devices.

The latest Intel® C++ compiler release supports cross development targeting Wind River* Linux* 5.0 (Linux* and Windows*) and 6.0 (Linux* only). This document will help developers get started building and running applications with Intel® C++ Compiler for an target embedded system running Wind River* Linux* 5.0.

Prerequisites

1. Prior to getting started, obtain access to the following hardware:

  • Host machine on which we develop  
    • article is using Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz, Red Hat Enterprise Linux Server release 6.3
  • Target machine running Wind River * Linux * 5.0

This article is using QEMU X86 64bit emulator to run the testing application

2. Obtain the following software and install them on host machine.

  • Intel® System Studio * : l_cembd_p_2014.x.xx.tgz

Unpack the tool suite package in a directory to which you have write access.

> tar -zxvf l_cembd_p_2014.0.xxx.tgz

>cd l_cembd_p_2014.0.xxx

>install.sh

After install, all ISS products should be in /opt/intel/system_studio_2014.x.y by default.

  • Wind River* Linux* Product:

Get Wind River* Linux* 5 and the required Wind River* Linux* Tool Chain from: http://www.windriver.com/products/linux/

Throughout the material, the Wind River software is installed in the directory /home/wruser/WRLinux_5.0 ($WIND_HOME). The Wind River Linux product is installed in the directory /home/wruser/WRLinux_5.0/wrlinux-5.

Wind River software is capable of developing Linux platforms and applications that target an assortment of Intel based boards. In order to simplify the start, we use qemux86-x64 emulator.

  • Build QEMU Platform project by command line

   cd $WIND_HOME

   mkdir ccache

   mkdir sstate

   ./wrenv.sh -p wrlinux-5

   export BSP=qemux86-64

   export ROOTFS=glibc_std_sato

   export PROJECT=$WIND_HOME/workspace/wrl_`echo $BSP`_`echo $ROOTFS`_prj

   mkdir -p $PROJECT

   cd $PROJECT

   $WIND_LINUX_CONFIGURE --enable-rootfs=$ROOTFS \

                 --enable-kernel=standard --enable-board=$BSP \

                 --enable-parallel-pkgbuilds=8 --enable-jobs=8\

                 --enable-ccache=yes --with-ccache-dir=$WIND_HOME/ccache \

                 --with-ccache-size=5G \

                 --with-sstate-dir=$WIND_HOME/sstate

  $ make

         After build, you will see below message and the QEMU file system is written into export/dist

Extracting file system into export/dist

Creating directory $WIND_HOME/workspace/wrl_qemux86-64_glibc_std_sato_prj/export/dist

NOTE: Populating toolchain links in

$WIND_HOME/workspace/wrl_qemux86-64_glibc_std_sato_prj/bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/toolchain.

NOTE: Toolchain binaries pattern:

$WIND_HOME/workspace/wrl_qemux86-64_glibc_std_sato_prj/layers/wr-toolchain/4.6-60/bin/i686-wrs-linux-gnu*

SDK image successfully extracted to 

$WIND_HOME /workspace/wrl_qemux86-64_glibc_std_sato_prj/export/dist

  • Execute the command make start-target to start the simulator

Login: root, password:root

Using Intel C++ Compiler from Command line

You can follow the steps to build the applications for Wind River* Linux* target

1. Set two environment variables WRL_TOOLCHAIN and WRL_SYSROOT on Linux* host:

export WIND_HOME=/home/wruser /WRLinux_5.0

export WRL_TOOLCHAIN=$WIND_HOME /wrlinux-5/layers/wr-toolchain/4.6-60

export WRL_SYSROOT=$WIND_HOME/workspace/wrl_qemux86-64_glibc_std_sato_prj/bitbake_build/tmp/sysroots/qemux86-64

2. Cross compile

source /opt/intel/system_studio_2014.x.xxx/bin/iccvars.sh ia32_intel64

icc -platform=wrl50 matrix_multiplication_y.c

     ls 

     ./a.out

 

Note: sysroot support and gnu tool chain name prefix feature have been implemented in ISS. See the Compiler documentation and [Ref 1] for details.

3. Launch the application and run it in qemux86-x64 emulator

As the qemux86-x 64 file systems are on host machine, it is easy to copy executable file to it.

cp a.out  $WIND_HOME/workspace/wrl_qemux86-64_glibc_std_sato_prj/export/dist/home/.

If you get any issues when using ICC compiler for Wind River* Linux*, please contact Intel System Studio Support.

For more information of Intel system studio, please visit http://software.intel.com/en-us/intel-system-studio

Useful link

1. http://software.intel.com/en-us/articles/improved-sysroot-support-in-intel-c-compiler-for-cross-compile

2. http://software.intel.com/en-us/articles/building-yocto-applications-using-intel-c-compiler

For more complete information about compiler optimizations, see our Optimization Notice.