ポストPC時代のキーワード「エンベデッド」のすべて ――転換点はカー・ナビゲーション・システム
9.ますますたいせつになる開発環境,見落とせないデバッグ環境
OSやCPUの選択肢が増え,メモリのサイズが大きくなり,またアプリケーションの肥大化が進むにつれて,開発環境やデバッグ環境がたいせつになってくる.
●リアルタイムOSのタスク管理構造を理解しないとデバッグ作業や検証作業が困難
組み込みソフトウェアの開発工程は,ほかのほとんどのソフトウェア開発工程と同様に,「仕様策定→詳細設計→コーディング→デバッグ→製品化」と進んでいく.しかし,リアルタイムOSを採用してアプリケーションを開発する場合には,マルチタスク化するメリットが大きいのと同時に,デバッグ作業や検証作業が複雑になるという欠点もある.タスク間の同期などが適切に行われ,思惑どおりに動くかどうかといった検証は,机上デバッグだけではまず検証不可能と言っていいほど複雑な検証となる.
リアルタイムOSの管理下では,ハードウェアなどのシステム資源は,アプリケーション・タスクから間接的にしか見えない.タスクはそれぞれにOSの管理下でレジスタ値を保有しているし,一つのソース・コードから複数のタスクを生成して別々のタスクとして動作させる,といった処理も頻繁に行われている.こうした構造のアプリケーションをデバッグするためには,デバッガはOSのタスク管理構造を理解して,適切な情報を取り出さなければならない.シーケンシャル・プログラムのためのソース・デバッガでは,こうした情報を理解してデバッグすることができず,各タスクの状態がいまどうなっているかといった情報も見ることができない.
リアルタイムOSのタスク管理構造を認識したデバッガは,OSベンダが市販のデバッガを拡張して,OSとともに提供する場合が多い.デバッガ・ベンダはOSベンダがマルチタスク対応にデバッガを拡張できるようにプラグインによる拡張性をもたせている.ITRON専門委員会においてもITRON仕様カーネルとデバッガのインターフェースを標準化するため,デバッギング・インタフェース仕様ワーキンググループを発足した.