応用情報技術者 2018年 春期 午前2 問47
問題文
組込みシステムの“クロス開発”の説明として、適切なものはどれか。
選択肢
ア:実装担当及びチェック担当の二人一組で役割を交代しながら開発を行うこと
イ:設計とプロトタイピングとを繰り返しながら開発を行うこと
ウ:ソフトウェアを実行する機器とは CPUのアーキテクチャが異なる機器で開発を行うこと(正解)
エ:派生開発を、変更プロセスと追加プロセスとに分けて開発を行うこと
組込みシステムの“クロス開発”の説明【午前2 解説】
要点まとめ
- 結論:クロス開発とは、実行環境とは異なるCPUアーキテクチャの機器上でソフトウェア開発を行うことです。
- 根拠:組込みシステムは専用ハードウェア上で動作するため、開発用PCなど別環境でビルドやデバッグを行います。
- 差がつくポイント:実行環境と開発環境の違いを理解し、クロスコンパイラやエミュレータの役割を押さえることが重要です。
正解の理由
選択肢ウは「ソフトウェアを実行する機器とはCPUのアーキテクチャが異なる機器で開発を行うこと」とあり、これはクロス開発の定義に合致します。組込みシステムの開発では、ターゲット機器のCPUが特殊であるため、通常のPCとは異なる環境で開発し、クロスコンパイラを使って実行ファイルを生成します。これにより効率的な開発とデバッグが可能となります。
よくある誤解
クロス開発は単に役割分担や開発手法の話ではなく、CPUアーキテクチャの違いを前提とした開発環境のことです。実行環境と同じ機器で開発する「ネイティブ開発」とは異なります。
解法ステップ
- 問題文の「クロス開発」の意味を確認する。
- 選択肢の内容を「開発環境」と「実行環境」の違いに照らし合わせる。
- CPUアーキテクチャの違いに言及している選択肢を探す。
- それが選択肢ウであることを確認し、正解とする。
選択肢別の誤答解説
- ア:役割交代の話であり、クロス開発の定義とは無関係です。
- イ:設計とプロトタイピングの繰り返しは反復開発の説明で、クロス開発ではありません。
- ウ:正解。CPUアーキテクチャが異なる環境で開発することを示しています。
- エ:派生開発のプロセス分割の話で、クロス開発とは異なります。
補足コラム
クロス開発ではクロスコンパイラやクロスデバッガが必須です。クロスコンパイラは開発環境のCPUで動作しながら、ターゲットCPU用の実行ファイルを生成します。これにより、ターゲット機器がリソース制約や操作性の問題で直接開発できない場合でも効率的に開発が進められます。
FAQ
Q: クロス開発とネイティブ開発の違いは何ですか?
A: ネイティブ開発は実行環境と同じCPUアーキテクチャ上で開発する方法で、クロス開発は異なるCPUアーキテクチャ上で開発します。
A: ネイティブ開発は実行環境と同じCPUアーキテクチャ上で開発する方法で、クロス開発は異なるCPUアーキテクチャ上で開発します。
Q: クロスコンパイラとは何ですか?
A: クロスコンパイラは、開発環境のCPUで動作しながら、ターゲットCPU用のバイナリを生成するコンパイラです。
A: クロスコンパイラは、開発環境のCPUで動作しながら、ターゲットCPU用のバイナリを生成するコンパイラです。
関連キーワード: クロス開発、クロスコンパイラ、組込みシステム、CPUアーキテクチャ、開発環境

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

