クロス開発環境(クロスコンパイラ・ICE)とは?くろすかいはつかんきょう
クロス開発環境(クロスコンパイラ・ICE)とは、プログラムを実行する組込み機器と開発に使うPCでCPUが異なるとき、PC上で目的機器向けの実行コードを生成して開発を進める形態。翻訳はクロスコンパイラが担い、画面もキーボードも持たない実機の内部状態はICE(インサーキットエミュレータ)やJTAG経由のデバッガで観測する。
最終更新:2026-10-06
この語が出る過去問を解く →背景
組込み機器は、コンパイラを動かすだけの記憶容量も入出力装置も持たないことが多く、その機器自身の上で開発環境を動かすという前提が最初から成り立たない。一方で、実機でしか再現しない割込みタイミングや周辺回路の遅延がある。クロス開発は、コード生成は資源の潤沢なPC側、検証はシミュレータと実機で分担するという、この制約から導かれた進め方である。
具体例
PC上でARM向けバイナリを生成し、JTAG経由でボードへ書き込んでブレークポイントを張る。論理の誤りはシミュレータで潰し、タイミング依存の不具合だけICEで実機を止めて追い込む、という切り分けが定石になる。
試験での引っ掛け
クロスコンパイラは別の言語へ変換するものではなく、別アーキテクチャ向けの機械語へ翻訳するものである。シミュレータでは割込みタイミングや周辺回路の遅延を再現しきれないため、実機での確認を省略できない点も併せて問われる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成30年度 春期 応用情報技術者試験 午前 問47(IPA)解説で登場
組込みシステムの“クロス開発”の説明として、適切なものはどれか。
正解:ソフトウェアを実行する機器とはCPUのアーキテクチャが異なる機器で開発を行うこと
要点:クロス開発は実行環境と異なるCPUの機器で開発する
クロス開発とは、開発に使う機器と、そのソフトウェアを実際に動かす機器のCPUアーキテクチャが異なる開発形態である。組込みシステムでは対象機器の資源が乏しく開発環境を載せられないため、PC上のクロスコンパイラで実行コードを生成し、対象機器へ転送して動かす。
出典:令和5年度 秋期 応用情報技術者試験 午前 問18(IPA)
あるコンピュータ上で、当該コンピュータとは異なる命令形式のコンピュータで実行できる目的プログラムを生成する言語処理プログラムはどれか。
正解:クロスコンパイラ
要点:クロスコンパイラは別アーキテクチャ向けコードを生成
クロスコンパイラは、コンパイラが動作するコンピュータとは異なる命令形式(アーキテクチャ)向けの目的プログラムを生成する言語処理プログラムである。開発資源の乏しい組込み機器向けのプログラムを、PCなど能力の高い環境で開発する場合に用いられる。
出典・参考
公式シラバスの2 コンピュータシステム > 4. 開発ツール > (2) 言語処理ツールの種類と特徴に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。