インテル® System Studio Wind River* Linux* 向け入門ガイド
インテル® System Studio を利用した第 4 世代インテル® Core™ プロセッサーのデジタル・セキュリティーと監視機能の活用
この記事は、インテル® デベロッパー・ゾーンに掲載されている「Get Started with Intel® System Studio for Wind River* Linux*」の日本語参考訳です。
はじめに
インテル® System Studio は、組込みおよびモバイル開発者向けの開発ツールスイートです。インテル® C++ コンパイラー組込み Linux* 向け、インテル® インテグレーテッド・パフォーマンス・プリミティブ Linux* 版、インテル® マス・カーネル・ライブラリー Linux* 版など、さまざまなコンポーネントが含まれています。
Wind River* Linux* は、業界で広く使用されている組込みデバイス向けの Linux* オペレーティング・システムです。組込みデバイス向けに最適化された Linux* プラットフォームを構築するクロス開発環境を提供します。
最新のインテル® C++ コンパイラーは、Wind River* Linux* 5.0 (Linux* および Windows*)、6.0 (Linux* のみ) ターゲット向けのクロス開発をサポートしています。この記事では、インテル® C++ コンパイラーを使用して、Wind River* Linux* 5.0 ベースのターゲット組込みシステム向けにアプリケーションをビルドし、実行する方法を説明します。
必要条件
- 作業を開始する前に、次のハードウェアを用意します。
- 開発用のホストマシン
- この例では、Red Hat* Enterprise Linux* Server 6.3 を搭載したインテル® Xeon® プロセッサー E5-2680 (2.70GHz) ベースのマシンを使用します。
- Wind River * Linux * 5.0 を搭載したターゲットマシン
- この例では、QEMU X86 64 ビット・エミュレーターでテスト・アプリケーションを実行します。
- 開発用のホストマシン
- 次のソフトウェアをホストマシンにインストールします。
- インテル® System Studio: l_cembd_p_2014.x.yyy.tgz (x はリビジョン番号、yyy はりリース番号)
ツールスイートのパッケージを書き込みアクセス権のあるディレクトリーに展開します。
> tar -zxvf l_cembd_p_2014.0.yyy.tgz >cd l_cembd_p_2014.0.yyy >install.sh
デフォルトでは、インテル® System Studio のすべてのコンポーネントは /opt/intel/system_studio_2014.x.yyy にインストールされます。
- Wind River* Linux* 製品:
http://www.windriver.com/products/linux/ (英語) から Wind River* Linux* 5 と必要な Wind River* Linux* ツールをダウンロードします。この例では、Wind River* ソフトウェアは /home/wruser/WRLinux_5.0 ($WIND_HOME) ディレクトリーに、Wind River* Linux* 製品は /home/wruser/WRLinux_5.0/wrlinux-5 ディレクトリーにインストールされています。
Wind River* は、インテル・ベースの各種ボードをターゲットとする Linux* プラットフォームとアプリケーションを開発できます。ここでは、事前準備が簡単な qemux86-x64 emulator を使用します。
- コマンドラインで QEMU プラットフォーム・プロジェクトをビルドします。
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
ビルド後、次のメッセージが表示され、QEMU ファイルシステムが 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
- make start-target コマンドを実行してシミュレーターを起動します。
ログイン ID は root、パスワードも root です。
- インテル® System Studio: l_cembd_p_2014.x.yyy.tgz (x はリビジョン番号、yyy はりリース番号)
コマンドラインからインテル® C++ コンパイラーを使用する
次の手順に従って、Wind River* Linux* ターゲット向けアプリケーションをビルドします。
- Linux*ホスト上で 2 つの環境変数 WRL_TOOLCHAIN と WRL_SYSROOT を設定します。
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
- クロスコンパイルを実行します。
source /opt/intel/system_studio_2014.x.xxx/bin/iccvars.sh ia32_intel64 icc -platform=wrl50 matrix_multiplication_y.c ls ./a.out
注: インテル® System Studio には、sysroot サポートと GNU* ツール名プリフィックス機能が実装されています。詳細は、コンパイラー・ドキュメントと「関連情報」の 1 を参照してください。
- qemux86-x64エミュレーターでアプリケーションを起動して実行します。
qemux86-x 64 ファイルシステムはホストマシン上にあるため、実行ファイルを簡単にコピーできます。
cp a.out $WIND_HOME/workspace/wrl_qemux86-64_glibc_std_sato_prj/export/dist/home/
インテル® C++ コンパイラー Wind River* Linux* 向けのサポートについては、インテル® System Studio のサポートページを参照してください。
インテル® System Studio の詳細は、https://www.isus.jp/article/intel-software-dev-products/intel-system-studio/ を参照してください。
関連情報 (英語)
- http://software.intel.com/en-us/articles/improved-sysroot-support-in-intel-c-compiler-for-cross-compile
- http://software.intel.com/en-us/articles/building-yocto-applications-using-intel-c-compiler
コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。
関連記事
インテル® System Studio を使用する理由 この記事は、インテル® デベロッパー・ゾーンに掲載されている「Should I use Intel® System Studio?」の日本語参考訳です。 はじめに インテル® System Studio は、インテル® […]
インテリジェント・システムと組込みデバイス向けソフトウェア開発ツールの使用法 この記事は、インテル® デベロッパー・ゾーンに掲載されている「How to use Software Development Tools Targeting Intelligent Systems and Embedded Devices」 […]
SVEN (System Visible Event Nexus) の概要 この記事は、インテル® デベロッパー・ゾーンに掲載されている「SVEN Overview」の日本語参考訳です。 SVEN とは? SVEN は、カーネル、ユーザーそしてファームウェアで実行中のユニットからのイベントをトレースして記録するための基盤と API です。SVEN は航空機のフライトを記録する “ブラックボックス” […]
インテル® System Studio 2014 – JTAG デバッガーがさらに多くのプロセッサー・ファミリーをサポート この記事は、インテル® デベロッパー・ゾーンに掲載されている「Intel® System Studio 2014 – JTAG Debugger Supports More Processor Families」の日本語参考訳です。 はじめに これまで、インテル® System Studio の JTAG […]
組込み開発ツール 電力、信頼性、パフォーマンスに関する詳細が得られる「モノのインターネット(IoT)」のためのソフトウェア・ツール このページでは組込み開発ツールに関する記事や参考資料へのリンクをまとめています。http://software.intel.com/en-us/embedded-development-tools […]
-
-
C++ 開発者が陥りやすい OpenMP* の 32 の罠 2011年12月22日
-
マルチコア向け並列プログラミングの 8 つのルール 2020年4月28日
-
セグメンテーション・フォルト SIGSEGV や SIGBUS エラーの原因を特定する 2012年2月24日
-
StdAfx.h に関する考察 2015年7月29日
-
プログラミング、リファクタリング、そしてすべてにおける究極の疑問 2018年5月15日
-
インテル® SSE およびインテル® AVX 世代 (SSE2、SSE3、SSSE3、ATOM_SSSE3、SSE4.1、SSE4.2、ATOM_SSE4.2、AVX、AVX2、AVX-512) 向けのインテル® コンパイラー・オプションとプロセッサー固有の最適化 2017年12月26日
-
インテル® ソフトウェア開発製品 技術ウェビナーシリーズ 2018年8月28日
-
コンパイラー最適化入門: 第1回 SIMD 命令とプロセッサーの関係 2011年5月5日
-
ゲーム AI の設計 (その 1) – 設計と実装 2011年7月22日
-
x64 アセンブリーの概要 2012年3月23日
-