マイコン&FPGA開発の流れと開発ツール ―― 組み込みシステム開発の基礎知識(後編)
tag: 組み込み 半導体 ディジタル・デザイン
技術解説 2010年4月26日
マイコンで動作させるソフトウェアの開発や,FPGAに実装する回路の設計では,さまざまなツールを利用します.前編に引き続き,組み込みシステムの開発の流れと,各工程で利用する開発ツールについて整理します. (編集部)
5.製造工程とマイコン開発ツール
コーディング,コンパイル/アセンブル,リンクの流れと各ツールが入出力するファイルの関係を図12に示します.
●makeコマンドとMakefileの利用
多くの設計では,ソース・コードは複数のファイルに分けてコーディングし,最終的に一つの実行形式ファイルを得ます.このとき,C言語コンパイラを使ってコンパイルし,リンカを使ってリンクを行いますが,ソース・ファイルごとに適切な順番で実行しなければなりません.また,コンパイラやリンカのオプションも適切に設定する必要があります.これらの作業を毎回手作業で行うと,手間がかかる上にミスも発生しやすくなります.
そこで,コンパイラやリンカを実行する順番やオプションの設定などの指示を記述したMakefileを作成します.Makefileの例をリスト2に示します.
Makefileに記述された指示を動作させる際にはmakeというツールを使用します.
makeはホスト・コンピュータで動作するOSのコマンド・ライン・インターフェースで使用します.例えばGNUツール群にも含まれます.
Makefileには,コンパイラ,リンカなどに対する入出力ファイルの依存関係も記述できます.修正したソース・ファイルだけをコンパイルし,修正していないソース・ファイルのコンパイルはしないということをmakeが自動的に判断して実行してくれます.
●統合開発環境ではGUIを利用
Makefileを利用すれば,makeコマンドを実行するだけでコンパイル,リンクができてしまいます.しかし,C言語のような多くの命令やルールがある訳ではありませんが,Makefileに記述する指示も一種のプログラミング言語です.構文を理解して記述し,意図通りにコンパイル,リンクされることを確認する必要があります.また,コンパイラ,リンカの使い方やオプションの設定方法を理解した上で,入出力するファイルの依存関係にも注意する必要があります.
統合開発環境では,コンパイルやリンクで必要なオプションの意味さえ理解しておけば,GUIを使って対話形式で設定できます(図13).またボタン一つでコンパイルやリンクをしてくれます.
統合開発環境には,コンパイルやリンク時に発生したエラーを発見しやすくする機能や,ソース・ファイルや設定ファイルなどの複数のファイルを一括して管理する機能があります.ソース・ファイルの追加やソース・ファイル名の変更,ファイルを格納するフォルダ(ディレクトリ)の変更などをした場合に,関連する設定ファイルや情報を自動的に更新してくれますので,コンパイル,リンク時の負担や設定ミスの軽減に役立ちます.
そのほかにも,コーディングやコンパイル,リンクに必要なオプションなどの設定時に,対象となるマイコンの仕様に合った設定になっているかどうかをチェックできる統合開発環境もあります.
このような機能を活用することで,コンパイル,リンク時に発生するエラーやデバッグ/テスト時にトラブルとなる原因を事前に発見できます.