読み方 : クロスかいはつ

クロス開発【cross development】

クロス開発とは?

ソフトウェアを実際に動かす機器とは別の機器上で開発作業を行うこと。開発に使う側を「ホスト環境」、プログラムを実行する側を「ターゲット環境」と呼ぶ。家電製品や組み込み機器、スマートフォン向けアプリなどの開発で広く用いられている。
クロス開発のイメージ画像

ターゲット環境となる機器の多くは、処理能力やメモリ、記憶容量が限られており、キーボードディスプレイを備えていない場合もある。炊飯器や洗濯機の制御装置、自動車のシステム、IoT機器などがその典型で、その機器を使ってプログラムを記述・修正することは現実的でない。そのため、高性能なパソコンなどに開発環境を構築し、作業を進める。

クロス開発では、ソースコードの編集からコンパイルプログラムを機器が実行できる形式に変換する作業)までをホスト環境で行う。このとき使うのが「クロスコンパイラ」で、ホストとは異なるCPU向けの実行ファイルを生成することができる。パソコンに多いx86系CPUと、組み込み機器やスマートフォンに多いARMCPUでは機械語の命令体系が根本的に異なるため、通常のコンパイラでは対応できない。必要に応じてクロスアセンブラなど関連ツールが併用されることがある。

完成したプログラムは、通信ケーブルやネットワークメモリカードなどを経由してターゲット機器へ転送され、実機上で動作確認デバッグが行われる。画面や入力装置を持たない機器では、JTAGなどの専用デバッグインターフェースやシリアル通信を利用して内部の状態を確認する。エミュレータシミュレータを使えば、実機なしでもある程度の動作検証が可能である。

ホスト環境で開発を進めることで、豊富な開発支援ツールを活用でき、コンパイルや編集の速度も確保しやすい。一方で、ホストとターゲットではCPUの命令体系やメモリ構成、オペレーティングシステム(OS)の仕様が異なるため、ホスト上では正しいように見えても実機では不具合が生じることがある。実機での検証を繰り返しながら調整する作業が欠かせない。

(2026.5.11更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。