Embedded Linux* Targets

Use the Intel® VTune™ Amplifier for performance analysis on Embedded Linux* systems, Wind River*, Yocto Project*, FreeBSD* and others.

Embedded device performance data can be collected remotely on the embedded device and running the analysis from an instance of VTune Amplifier installed on the host system. This is useful when the target system is not capable of local data analysis (low performance, limited disk space, or lack of user interface control).

Note

Root access to the operating system kernel is required to install the collectors and drivers required for performance analysis using VTune Amplifier.

There are multiple ways to enable performance analysis on an embedded device:

Using the Intel System Studio Integration Layer

Note

The Intel System Studio integration layer works for embedded systems with Wind River Linux or Yocto Project installed.

The Intel System Studio integration layer allows the Intel System Studio products to be fully integrated with a target operating system by building the drivers and corresponding target packages into the operating system image automatically. Use this option in the case where a platform build engineer has control over the kernel sources and signature files, but the application engineer does not. The platform build engineer can integrate the product drivers with the target package and include them in the embedded device image that is delivered to the application engineer.

1. Install Intel System Studio.

Install Intel System Studio using the installer GUI.

2. Install the Intel System Studio integration layer.

  1. Copy the integration layer from the Intel System Studio installation folder to the target operating system development folder.
  2. Run the post-installation script: <iss-install-dir>/YoctoProject/meta-intel-iss/yp-setup/postinst_<OS>_iss.sh <ISS_BASE_dir>

    For example, for Wind River Linux: /YoctoProject/meta-intel-iss/yp-setup/postinst_wr_iss.sh

3. Build the recipe that includes the appropriate VTune Amplifier package.

  1. Add the path to the /YoctoProject/meta-intel-iss to the bblayers.conf file:

    BBLAYERS= "\

    ...

    <OS_INSTALL_DIR>/YoctoProject/meta-intel-iss\

    ...

    "

  2. Add the VTune Amplifier recipes to conf/local.conf. Possible recipes include:

    • intel-vtune-drivers: integrates all VTune Amplifier drivers for PMU-based analysis with stacks and context switches. Requires additional kernel options to be enabled.

    • intel-vtune-sep-driver: integrates drivers for PMU-based analysis with minimal requirements for kernel options.

    For more information about these collection methods, see Remote Linux Target Setup.

4. Build the target operating system.

Build the target operating system, which will complete the integration of the VTune Amplifier collectors and drivers.

5. Flash the operating system to the target embedded device.

After flashing the operating system to the target embedded device, ensure that the appropriate VTune Amplifier drivers are present. For more information, see Building the Sampling Drivers for Linux Targets.

6. Run the analysis on the target embedded device.

Run the analysis is from the host system using an SSH connection or using the SEP commands.

Use the following steps to run the analysis from the host system:

  1. Set up a password-less SSH access to the target using RSA keys.

  2. Specify your target application and remote system.

    Note

    After configuring the remote connection, VTune Amplifier will install the appropriate collectors on the target system.

  3. Choose an analysis type.

  4. Run the analysis from the host.

Use the information available in the Sampling Enabling Product User's Guide to run the SEP commands.

7. View results in the VTune Amplifier GUI

View the collected results on the host.

Examples

Configuring Yocto Project* with the Intel System Studio Integration Layer

Using the Intel VTune Amplifier Yocto Project Integration Layer

The Intel VTune Amplifer Yocto Project integration layer builds the drivers into the operating system image automatically. Use this option in the case where a platform build engineer has control over the kernel sources and signature files, but the application engineer does not. The platform build engineer can integrate the product drivers with the target package and include them in the embedded device image that is delivered to the application engineer.

1. Install Intel VTune Amplifier.

Install Intel VTune Amplifier.

2. Configure the integration layer.

  1. Extract the <install-dir>/target/linux/vtune_amplifier_target_x86.tgz or <install-dir>/target/linux/vtune_amplifier_target_x86_64.tgz package.

  2. Modify the sepdk/vtune-layer/conf/user.conf file to specify user settings.

    1. Specify one of the following paths:

      • Path to unzipped target package: VTUNE_TARGET_PACKAGE_DIR = "<PATH>"

      • Path to VTune Amplifier installation directory: VTUNE_AMPLIFIER_DIR = "<PATH>"

    2. (Optional) To integrate the SEP driver during system book, specify ADD_TO_INITD = "y".

  3. Copy the integration layer to the Yocto Project development environment.

  4. Add the path to the layer to the bblayers.conf file:

    BBLAYERS= "\

    ...

    <OS_INSTALL_DIR>/vtune-layer\

    ...

    "

  5. Add the VTune Amplifier recipes to conf/local.conf. Possible recipes include:

    • intel-vtune-drivers: integrates all VTune Amplifier drivers for PMU-based analysis with stacks and context switches. Requires additional kernel options to be enabled.

    • intel-vtune-sep-driver: integrates drivers for PMU-based analysis with minimal requirements for kernel options.

    For more information about these collection methods, see Remote Linux Target Setup.

3. Build the target operating system.

Build the target operating system, which will complete the integration of the VTune Amplifier collectors and drivers.

4. Flash the operating system to the target embedded device.

After flashing the operating system to the target embedded device, ensure that the appropriate VTune Amplifier drivers are present. For more information, see Building the Sampling Drivers for Linux Targets.

5. Run the analysis on the target embedded device.

Run the analysis is from the host system using an SSH connection or using the SEP commands.

Use the following steps to run the analysis from the host system:

  1. Set up a password-less SSH access to the target using RSA keys.

  2. Specify your target application and remote system.

  3. Choose an analysis type.

  4. Run the analysis from the host.

Use the information available in the Sampling Enabling Product User's Guide to run the SEP commands.

6. View results in the VTune Amplifier GUI

View the collected results on the host.

Example

Configuring Yocto Project with the VTune Amplifier Integration Layer

Using the Bundled Intel VTune Amplifier Installation Packages

You can build the appropriate drivers and install the VTune Amplifier collectors on your kernel image manually with a command line. This option requires root access to the configured kernel source.

1. Install Intel VTune Amplifier.

Install using the installer GUI.

2. Run the analysis on the target embedded device.

Use the following steps to run the analysis from the host system:

  1. Set up a password-less SSH access for the root user to the target using RSA keys.

  2. Specify your target application and remote system. The collectors and drivers within the package should be automatically installed.

  3. Choose an analysis type.

  4. Run the analysis from the host.

3. View results in the VTune Amplifier GUI

View the collected results on the host.

Troubleshooting

If the drivers were not built during collector installation, the installation output should inform you that building the sampling driver is required.

The drivers are built either on the target system or on the host system, depending on compiler toolchain availability:

  1. If the compiler toolchain is available on the target system:

    1. On the target embedded device, build the driver from the <install-dir>/sepdk/src directory using the ./build-driver command.
    2. Load the driver into the kernel using the ./insmod-sep command.
  2. If the compiler toolchain is not available on the target system:

    1. On the host system, cross-build the driver using the driver source from the target package sepdk/src directory with the ./build-driver command. Provide the cross-compiler (if necessary) and the target kernel source tree for the build.
    2. Copy the sepdk/src folder to the target system.
    3. Load the driver into the kernel using the ./insmod-sep command.

For more information, see Building the Sampling Drivers for Linux Targets.

Example

Configuring Yocto Project with Intel VTune Amplifier Target Packages

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)