マイコン&FPGA開発の流れと開発ツール ―― 組み込みシステム開発の基礎知識(前編)
tag: 組み込み 半導体 ディジタル・デザイン
技術解説 2010年4月19日
3.システム設計と マイコン開発ツール
マイコン開発では,対象システム(製品)の機能や性能,消費電力,コストなどの制約を考慮して,以下の確認や検討をする必要があります.
● マイコンの機能や性能を確認する
マイコンの機能,性能や制約などを把握していなければ開発できませんので,メーカから提供される資料などを確認します.
実際に動作させて確認したいことが出てくる場合は,評価ボードを使用して確認します(写真3).ターゲット・ボードの開発とソフトウェアの開発は同時進行になる場合がほとんどです.このため,開発初期段階ではターゲット・ボードがありません.ターゲット・ボードが完成するまでの間は,設計以降の工程でも頻繁に評価ボードを活用します.
写真3 評価ボードの例
左下の白い部分が,ターゲット・マイコンを装着するソケット.右上の黒い部分は評価用に追加した回路.右側のコネクタを介してオンチップ・デバック・エミュレータと接続する.
評価ボードの回路を元に,ターゲット・ボードに近い機能を持った開発用のボードを製作するケースもあります.
● OSの検討
OSは,タスクやメモリ,割り込みなどを管理する基本ソフトウェアです.OSを使うことで,これらの管理をあまり意識しなくてよくなるため,開発効率や品質の向上を期待できます.また,ハードウェア制御の共通化を図れるため,ほかのマイコンを使う場合でも,ソース・コードを再利用しやすくなる利点があります.
しかし,OSは汎用性のある管理機能を持つため,OSを使わない専用の処理と比較すると,システム全体の処理性能が下がる可能性があります.またROMやRAMなどのメモリ資源が有効に使用できない点で不利になることがあります.
従って,対象のマイコンやシステムの機能や性能を考慮して,OSを使うかどうかを含めて,最適なOSを選択する必要があります.
組み込みシステム向けに,簡易的なOSからWindowsのような機能を持つOSまで,対象システムの機能,性能に合わせたさまざまなOSがあります.例えば,マイコンの性能を生かした,高速でコンパクトなOSとしては,オープン・スタンダードな「ITRON」や「Linux」があり,各マイコン・メーカなどから提供されています.また,GUIを持つ機器では,Microsoft社の「Windows CE」のようなパソコン用OSに近いものが使われることがあります.高い信頼性や安全性が要求される航空宇宙・軍事用途では,Wind River社の「VxWorks」などがあります.
●ライブラリ,ミドルウェア,ドライバの検討
開発効率や品質の向上を図るために,組み込みシステム向けに提供されているソフトウェア群を利用することがあります.
- 汎用性の高い機能を集めた「ライブラリ」
- ファイル・システムや通信などの普遍的で複雑な処理をパッケージ化した「ミドルウェア」
- マイコン周辺機能(タイマ,インターフェースなど)のようなハードウェアを制御する「デバイス・ドライバ」
これらもOSと同様に,対象のマイコンやシステムの機能,性能を考慮して,最適な選択を行う必要があります.
これらのソフトウェア群も汎用性が高いため,必要最小限の機能を独自に設計した場合と比べて,メモリなどの資源や消費電力,処理速度などが課題になることがあります.ターゲットのマイコンに最適化されたコードが提供されている場合は,これらを利用することで改善される場合もあります.