Explore the Build Components

Note: You might not have all of the tools and libraries mentioned in this guide. To download additional Intel System Studio tools and libraries, visit the product page on the Intel Developer Zone.

Launch Intel® System Studio

To launch Intel System Studio for a Linux target, double-click the shortcut on your desktop or run one of the following launcher scripts:

Create a C++ Project for a Remote Linux Target

Follow the steps in this section to create an On-Board LED Blink or UP Squared Built-in LEDs application to run on a remote Linux target.

Step 1: Install Docker

Before creating a new project, make sure Docker is installed and configured on your development system.

For instructions to install Docker for Intel System Studio, see:

Step 2: Create a new project

  1. Choose File > New > Project from the menu to start the new project wizard.

  2. Expand Intel Application Development and select C++ Project. Click Next.

  3. Type a name for the project in the New Project Name field. In the Samples list, expand the Basic folder and select On-Board LED Blink or UP Squared Built-in LEDs.

  4. For Builder, select Managed Build.

  5. For Build Options, select Docker.

  6. Click Next.

  7. In the Select a Docker Container list, select the most recent version of Ubuntu Linux 16.04 64-Bit (GCC). Click Finish.

    Your project is created and built. The project files are shown in the Project Explorer. The build status is shown in the console.

Step 3: Create a new connection

CAUTION: When you connect to your target using the Eclipse Target Communication Framework (TCF), Intel System Studio copies a TCF agent to your target, which is listening for connections from any computer on your local network. Even though the IDE asks for authentication credentials, the agent does NOT have any authentication. Therefore, any user can connect to it and can use the agent to run arbitrary code on your target device.

  1. Make sure your target device is physically connected to your host system and functioning properly.
    Note: If your target is QEMU, start the QEMU simulator in your project directory by entering the command $ runqemu qemux86-64 nographic. When prompted, run ipconfig to get the IP address.
  2. Click the arrow next to the connection box on the toolbar and select New Connection.
  3. Select Connection for container based C/C++ applications or Java applications. Click Next.
  4. Type a name in the Connection Name field.
  5. Enter the board name or IP address in the Address field. Click Finish.
  6. When prompted, provide the appropriate credentials to access your device and click OK.

Step 4: Set up credentials

Set up credentials to access the target device. Follow the steps in the following table for the authentication method you plan to use: Public key login or Login with password.

Authentication method Follow these steps
Public key login

If the application accesses hardware sensors, LEDs, or requires elevated privileges, you need to use public key based authentication.

  1. Generate the public keys. For instructions, see Setting Up TCF Connections
  2. When prompted to log in, select the Public key login tab.

  3. For Username type root.

  4. For the Private Key, click the Browse button to select the private key you generated in step 1. A private key name is typically similar to this example: id_rsa.

Login with password

If the application does not require elevated privileges, you can log in as any user.

  1. Select the Login with password option.
  2. Provide your login Username and Password.

Step 5: Run or debug the application

  1. To run an application, click the arrow next to the green circle Run button and select the project in the drop-down list.

  2. If you are prompted, select Run as > Remote C/C++ Application.
  3. Your project runs and results appear in the console. To stop the process, click the red Terminate icon on the console.

  4. To debug an application, click the arrow next to the green debug symbol on the toolbar and select the project in the drop-down list.

CONTENTS: Press Ctrl + Home

Create a New Java Project

Follow these steps to create an On-Board LED Blink or UP Squared Built-in LEDs project to update and program on a compatible target platform.

Note: If your project includes sample code and your board is an Intel IoT Gateway, you may need to modify the pin numbers in the example code to accommodate the pin numbering for your board. For example, when you are programming an Intel IoT Gateway and want to access pins on the Arduino 101* (branded Genuino 101* outside the U.S.) board, you must add a pin offset of 512 to the pin number. This is because the gateway uses the Arduino 101 board as a subplatform, for which 512 is the designated pin offset. To initialize pin 13 on the Arduino 101 board (the onboard LED), you would actually initialize pin 525. The same offset applies to the Up Squared* board with Grove* Pi+ shield.

Step 1: Ensure that required Java programs are installed

Make sure that Oracle Java Development Kit* (JDK) is installed on the host system and the Oracle Java Runtime Environment* (JRE) or better is installed on the target system. For example, if your host system has Ubuntu, you can use the following steps to install the Oracle JDK:

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
javac –version

For more information, see: Installing Oracle Java 8 in Ubuntu.

Alternatively, you can choose to install the default JRE and JDK using the following steps:

sudo apt-get update
sudo apt-get install default-jre
sudo apt-get install default-jdk

Step 2: Set Maven proxy settings

If your network includes a corporate proxy, set your Maven proxy settings before creating a new Java project. For instructions, see Configuring a proxy.

Sample settings.xml file

<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">
  <proxies>
    <proxy>
      <id>central-http</id>
      <active>true</active>
      <protocol>http</protocol>
      <host>proxy.example.com</host>
      <port>911</port>
      <nonProxyHosts>127.0.0.1|localhost</nonProxyHosts>
    </proxy>
    <proxy>
      <id>central-https</id>
      <active>true</active>
      <protocol>https</protocol>
      <host>proxy.example.com</host>
      <port>912</port>
      <nonProxyHosts>127.0.0.1|localhost</nonProxyHosts>
    </proxy>
  </proxies>
  <localRepository/>
  <interactiveMode/>
  <usePluginRegistry/>
  <offline/>
  <pluginGroups/>
  <servers/>
  <mirrors/>
  <profiles/>
  <activeProfiles/>
</settings>

Step 3: Create and build a new project

  1. Choose File > New > Project to start the new project wizard.

  2. Expand Intel Application Development and select Java Project.

  3. Click Next.
  4. Type a name for the project in the New Project Name field.

  5. In the Samples list, expand Basic and select On-Board LED Blink or UP Squared Built-in LEDs.

  6. For Builder, leave Maven selected.
  7. Click Finish.

    Your project is created and displayed in the Project Explorer.

  8. In the Project Explorer, right-click the name of the project and select Build Project from the drop-down list.

    Your project should build without errors. There might be a few warnings, but they can be ignored.

Step 4: Create a new connection

CAUTION: When you connect to your target using the Eclipse Target Communication Framework (TCF), Intel System Studio copies a TCF agent to your target, which is listening for connections from any computer on your local network. Even though the IDE asks for authentication credentials, the agent does NOT have any authentication. Therefore, any user can connect to it and can use the agent to run arbitrary code on your target device.

  1. Make sure your target device is physically connected to your host system and functioning properly.
    Note: If your target is QEMU, start the QEMU simulator in your project directory by entering the command $ runqemu qemux86-64 nographic. When prompted, run ipconfig to get the IP address.
  2. Click the arrow next to the connection box on the toolbar and select New Connection.
  3. Select Connection for container based C/C++ applications or Java applications. Click Next.
  4. Type a name in the Connection Name field.
  5. Enter the board name or IP address in the Address field. Click Finish.
  6. When prompted, provide the appropriate credentials to access your device and click OK.

Step 5: Set up credentials

Set up credentials to access the target device. Follow the steps in the following table for the authentication method you plan to use: Public key login or Login with password.

Authentication method Follow these steps
Public key login

If the application accesses hardware sensors, LEDs, or requires elevated privileges, you need to use public key based authentication.

  1. Generate the public keys. For instructions, see Setting Up TCF Connections
  2. When prompted to log in, select the Public key login tab.

  3. For Username type root.

  4. For the Private Key, click the Browse button to select the private key you generated in step 1. A private key name is typically similar to this example: id_rsa.

Login with password

If the application does not require elevated privileges, you can log in as any user.

  1. Select the Login with password option.
  2. Provide your login Username and Password.

Step 6: Run the application

  1. Ensure that your target connection is selected in the drop-down list.
  2. In the Project Explorer, right-click your project name, then select Run As > Remote IoT Java Maven Project.

    The Java application runs on your target. You should see the onboard LED on your target platform begin to blink.

  3. To stop the process, click the red Terminate in the console.

No mraajava in java.library.path - workaround

Follow these steps to workaround the No mraajava in java.library path error:

  1. Click the green Run button on the toolbar and select Run Configurations.
  2. In Remote IoT Java Application Configurations click your project.
  3. Select the Remote Environment tab.
  4. Click New to open the New Environment Variable.
  5. Add a variable named LD_LIBRARY_PATH with a value of /usr/lib/x86_64-linux-gnu/.

CONTENTS: Press Ctrl + Home

Find More

Resource Description

Intel System Studio Code Samples and Tutorials

Intel provides downloadable sample code and tutorials, which guide a new user through the basic product features: The sample code illustrates common scenarios, and the corresponding tutorials show how the build tools can be used to create and optimize code.

Intel System Studio 2019 Home Page

Information about and links to information about tools, libraries, toolkits, and SDKs.

Latest Technical Documentation

Links to the latest technical documentation, including getting started guides, installation guides, user guides, and developer and reference guides.

Develop C/C++ Projects with Intel System Studio

Additional information about developing C/C++ projects; for example, managing projects and connections or troubleshooting tips.

Develop Java Projects with Intel System Studio

Additional information about developing Java projects; for example, taking advantage of example projects and sample code, managing connections to target platforms, updating the middleware libraries on your target platform, and more.

Develop Yocto Project Compatible Linux Platform Projects

How to develop Yocto Project Compatible Linux platform projects.

Develop Yocto Project Compatible Linux Applications

How to develop Yocto Project Compatible Linux applications.

Intel System Studio Log Files

The product writes pairs of log files to a subdirectory in /tmp. The subdirectory name has the format iss_env_$USER_$TIMESTAMP. The iss_env.log file contains environment settings. The eclipse.log file contains a session log. For example: /tmp/iss_env_auser_20171025141933/eclipse.log and /tmp/iss_env_auser_20171025141933/iss_env.log

The installer writes log files to the system temp directory ( echo $TMPDIR), one for the user and one for root (when the installer is run with sudo). These log file names start with intel.pset, end with a timestamp, and have the extension *.log. To locate these files, type cd $TMPDIR, then look for files matching the pattern. For example: $TMPDIR/intel.pset.auser.samukawi_mobl1.my.corp.domain_10.25.22.00.13.2017.log

Install Docker for Intel System Studio

Install Docker for Intel System Studio - macOS Host

Install Docker for Intel System Studio - Linux Host

Install Docker for Intel System Studio - Windows Host

CONTENTS: Press Ctrl + Home

Legal Information

Intel, the Intel logo, Intel Atom, Intel Core, Intel Xeon Phi, VTune and Xeon are trademarks of Intel Corporation in the U.S. and/or other countries.

*Other names and brands may be claimed as the property of others.

Microsoft, Windows, and the Windows logo are trademarks, or registered trademarks of Microsoft Corporation in the United States and/or other countries.

OpenCL and the OpenCL logo are trademarks of Apple Inc. used by permission by Khronos.

Copyright 2014-2018 Intel Corporation.

This software and the related documents are Intel copyrighted materials, and your use of them is governed by the express license under which they were provided to you (License). Unless the License provides otherwise, you may not use, modify, copy, publish, distribute, disclose or transmit this software or the related documents without Intel's prior written permission.

This software and the related documents are provided as is, with no express or implied warranties, other than those that are expressly stated in the License.