統合開発環境(IDE: Integrated Development Environment)とは、簡単に説明すると「ソフトウェア開発用の様々な機能が一体となったPC用のアプリケーションパッケージ」です。通常、統合開発環境には、エディタ、コンパイラ、アセンブラ、リンカ、プログラマ、デバッガといった機能が備わっています。一般的なソフトウェア開発のフローに沿って各機能を紹介します。図3に一般的なソフトウェア開発のフローを示します。
エディタは、実際にプログラム(コード)を編集する際に使う機能です。最近では、C言語などの高級言語でマイコン用のプログラミングを行うのが一般的ですが、プログラムのサイズや処理時間などの制約がある場合に、アセンブリ言語でプログラミングを行うことがあります。ここで、高級言語とは、より人間が理解しやすい形で記述されるプログラミング言語です。これらのプログラムはエディタ上に記述していきます。
ひとたび、コードができ上がると、コンパイラを使用して作成したコードをコンパイルします。コンパイルとは、高級言語をマイコンが解釈できるオブジェクトコード(機械語)に変換する処理を指します。アセンブリ言語で作成したコードの場合、アセンブラを使用してオブジェクトコードに変換されます。こうして生成された複数のオブジェクトコードはリンカにより結合(リンク)され、ターゲットのマイコンに適合した1つの実行ファイルが生成されます。実行ファイルは、インテル形式(.hex)やモトローラ形式(.s19)などいくつかの形式があります。実行ファイルには、どのアドレス番地に何のデータを書き込むかといった情報が書かれています。補足ですが、コンパイル、アセンブル、リンクといった一連の処理を「ビルド」または「メイク」と呼ぶことがあります。
実行ファイルの準備ができたら、次に、そのファイルをプログラマを使用してマイコンに書き込みます。マイコンに書き込みを行う際、統合開発環境がインストールされているPC(開発環境)とターゲット(実行環境)を接続するデバッグケーブルが必要になります(図2参照)。マイコンへの書き込みが完了したら、デバッガを使用して、マイコンが搭載されているターゲット上でプログラムを実行し、意図した動作をしているかどうかを確認します。デバッガは、通常の実行以外に、コードを1行ずつ実行(ステップ実行)、関数を1回実行して停止(ステップオーバ)、関数に入ったところで停止(ステップイン)、関数を出たところで停止(ステップアウト)、ブレークポイントを張ったところまで実行など、さまざまな実行方法に対応しています。また、メモリ監視、レジスタ監視、変数監視などの機能も搭載していますので、所定のコードを実行した際に、変数やレジスタがどう変化するかといったことが確認できます。中には、プログラム実行中に、変数がどう変化するかをモニタすることが可能な統合開発環境もあります。なお、詳細に関しては、統合開発環境を提供しているツールベンダのホームページをご覧になるといいかと思います。
以上のプロセス(プログラム編集→ビルド→書き込み→実行)を繰り返し行うことで、目的に応じたプログラムを作り上げていきます。
Copyright © ITmedia, Inc. All Rights Reserved.