62.組み込みシステム

組み込みシステムとは、特定の機能を実現するため、電気製品や機械製品に組み込むコンピュータシステムのことです。
組み込みシステム開発では、設計の初期段階において、ハードウェアとソフトウェアの担当する領域を決める必要があります。このため回路設計担当者もソフトウェア開発に無関心ではいられません。
例えば、マイコンを利用する場合、回路設計者が各ピンの信号に設定した電気的特性と、その信号を内部で受け取り制御するソフトウェアの設計は、完全にリンクします。マイコンなどの多機能デバイスがその集積度の向上に連動し急速に進化する中で、組み込みシステム開発には高度なノウハウが必要になってきています。
従って、ハードウェアとソフトウェアの両方を見渡す能力が、ますます必要になってきています。

ハードウェアとソフトウェア

一般に、ハードウェアとはLSIや受動部品、プリント基板などの物理的に存在する要素です。一方、ソフトウェアは、コンピュータを動作させる手順や命令などを記述したテキスト文書のことです。組み込みシステムではマイコンやDSPなどに実装して使用し、物理的な存在は伴いません。

OS(オペレーティングシステム)とアプリケーションソフト

ソフトウェアは、OSとアプリケーションソフトに大別できます。

  特徴

OS(オペレーティングシステム)

OSは「基本ソフト」とも呼ばれ、ハードウェアとアプリケーションを仲立ちし、
主に以下の役割を果たします。
①ハードウェア仕様の違いを吸収
②演算機能やメモリといったリソース(資源)の管理
③システムの利用効率の最適化
④入出力機能やネットワーク機能の管理

App(アプリケーションソフト)

アプリケーションソフトは、「応用ソフト」とも呼ばれ、ある特定の機能を実現するソフトウェアです。
その多くが、OS上で動作します。代表例として、OA(エンタープライズ)分野では文書作成、表計算ソフトが挙げられます。
組み込み分野では、携帯電話のメールソフトウェア、カーナビの地図表示ソフトウェア、薄型テレビの番組表表示ソフトウェアなどがあります。

※ミドルウェアとは、アプリケーション・ソフトウェアとOSの間で仲立ちするもので、多くのアプリケーション・ソフトウェアに共通する機能を切り出し、ソフトウェア・モジュールとしてまとめたものです。

※ファームウェアとは、ハードウェアの制御に向けたソフトウェアのことです。通常はROMなどに書き込んだ状態で電子機器に組み込まれます。

組み込みソフトウェアとOA(エンタプライズ)用ソフトウェア

ソフトウェアは主に用途によって、組み込みソフトウェアと、OA用ソフトウェアに大別できます。

  特徴 主なOSや開発環境 主な言語

OA用
ソフトウェア

パソコンやその周辺機器などパソコンを中心としたOA機器のシステムに用いられるソフトウェアです。エンドユーザが、自分でインストールしたり作成することができます。

Windowsシリーズ、
Mac OS、JAVA、UNIX等

C、JAVA、Visual Basic

組み込み
ソフトウェア

家電、自動車などで特定の機能を実現するソフトウェアです。OA用に比べて、リアルタイム制御が重要になるため、リアルタイムシステムが活用されます。
最近ではハードウエアの高機能化に伴い、従来OA用であったソフトウェアが、携帯電話やタブレットPCなどに、組み込みソフトウェアとして応用されています。

ITRON, VxWorks, LynxOS, QNX,Enea OSE
Android、Windows Mobile、Symbian OS、iOS等

C、アセンブリ言語、JAVA

関連用語解説

– リアルタイムシステム(Real-time System)とは
「リアルタイム処理」とも呼ばれ、使えるリソースが限られた状況で命令が下された時、
決められた時刻(デッドライン)までに処理が完了することに着目したシステムです。

– Gccとは
GNUプロジェクトによって作られたコンパイラのことで、ほとんどのUNIX系OSに移植され、さまざまなCPUに対応しています。
以前はC言語のみのサポートであったためにGNU C Compilerと呼ばれていましたが、
C++やFORTRANなどの様々な言語をサポートするようになったので、GNU Compiler Collectionに名称が変更されました。