II-25-1. 組み込みアプリケーション開発事例

組み込みアプリケーション開発の事例として、キャッシュとROM化の取り扱い、マイコン周辺機能、周辺I/O制御プログラミング、DRAM制御プログラミングといった具体的な事例を示し、またそれぞれについての仕様や開発環境、開発の実際について解説する。

【学習の要点】

* 組み込みシステムのソフトウェアは、組み込みアプリケーション、組み込みミドルウェア、OS、デバイスドライバの各階層から構成される。

* 組み込みアプリケーションは最上位のソフトウェアで、タスクスケジューリング機能で実行されるか、割り込み機能として実行される。

* 組み込みミドルウェアとは、組み込みアプリケーションの機能に共通するものを集めたソフトウェアで、組み込みハードウェアベンダから提供されることが多い。

* 最近の傾向では、デバイスドライバは組み込みハードウェアベンダから提供されることが多いが、自社開発のハードウェアの場合は独自開発を行う必要がある。

 

図II-25-1. 携帯電話でのソフトウェア構成例

 

【解説】

1) 組み込みアプリケーションとは
組み込みアプリケーションとは、組み込みシステムの最上位に位置するソフトウェアで、ユーザや外部とインタラクションを行い、主要な機能を実現するための主要なプログラムである。

* 組み込みアプリケーションはタスク単位で、OSやミドルウェアのタスクスケジューリング機能で実行されるか、割り込み機能として実行される。

* 最近の携帯電話を例にとると、組み込みアプリケーションの種類は以下のようなものがある。

- Webブラウザアプリケーション

- ワンセグTVアプリケーション

- カメラ

- 音楽再生プレイヤー

- PIM(Personal Information Management)アプリケーション(電話帳、スケジュール)

- 画像ブラウザアプリケーション

- ファイルブラウザ

- バーコードリーダー

* 複雑な組み込みアプリケーションの開発は、ミドルウェアやOSのAPI経由で行われる場合が多い。

2) 組み込みミドルウェアとは
組み込みミドルウェアとは、組み込みアプリケーションの機能に共通するものを集めたソフトウェアである。組み込みアプリケーションはミドルウェアをベースに作り上げられている。

- 通信プロトコル: Webブラウザやメイルアプリケーションで利用される。

- ファイルシステム: ファイルブラウザで利用される。

- 画像認識/音声認識:バーコードリーダーで利用される。

- 数学ライブラリ:浮動小数点計算を始めとして、数学計算で利用される。

- 周辺I/O制御:メモリカードの読み込みや、赤外線通信等で利用される。

- DRAM制御:ゲーム等のメモリが大きく必要なアプリケーションで利用される。

* 組み込みミドルウェアは、組み込みハードウェアベンダや組み込み開発環境、またはOSの機能として提供されることが多い。

3) OS/デバイスドライバ

* 最近は組み込みシステムにおいてLinux, Windows CE等のOSを利用することが多い。詳細については、(II-25-8 組み込みLinuxシステムの開発環境)を参照のこと。

* デバイスドライバはハードウェアに直接アクセスし、制御するソフトウェアである。一昔前の組み込みアプリケーション開発の大部分は、デバイスドライバ開発であった。

* 最近の傾向では、デバイスドライバは組み込みハードウェアベンダから提供されることが多いが、自社開発のハードウェアの場合は独自開発を行う必要がある。

- デバイスドライバ開発にはハードウェアとの通信の仕組みを把握すると共に、ターゲットプロセッサについてのタイマ機能、ポーリングや割り込み、I/O制御などの正確な知識が必要である。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。

フォーラム会員企業専用

記事配信

コンテンツ配信

ユーザログイン