まず、Windows Embedded Compactベースシステムの構成(概略)を示します。
![](https://blogimg.goo.ne.jp/user_image/3e/b2/28fea9b184c3d787e70ad0fc6cf863ff.png)
概略で示すと、WEC2013も他の組込OSと似通った構成になっていることが
わかると思います。
ブートローダは、ストレージ(NANDやNORフラッシュ、SD、CFなど)に格納されたOSイメージを
RAMへ展開するプログラムです。
ストレージ以外だけでなく、ネットワーク経由でOSイメージを取得して
RAMに展開するようにすることも可能です。
※デバッグ時はそちらの方が便利なので、ネットワークブートを利用することが多いです。
OSはコアとなるカーネルと、各種機能コンポーネント、
そしてターゲット・ハードウェアのための依存処理で構成されます。
ハードウェア依存部は、初期化やデバッグシリアル処理などを実装した、
OAL(OEM Adapted Layer)と呼ばれる部分と、
ハードウェアに搭載されたペリフェラル用のデバイスドライバがあります。
各種機能コンポーネントとしては、
FATやFAT32といったファイルシステム、TCP/IPプロトコルスタック、
USBスタックといった様々な機能が提供されています。
ミドルウェア、ライブラリ、フレームワークも様々提供されます。
たとえば、PC用のWindowsで使用されているMFCやATL、.NET Frameworkの
サブセットが提供されます。
※.NET Frameworkのサブセットは、.NET Compact Frameworkという名前になっています。
最近だと、PC用のWindowsで動作するアプリでは、
GUIをXAMLベースで開発することがありますが、
WEC2013でもXAMLベースでアプリのGUIを開発できるよう
フレームワークが提供されています。
サービスとしては、FTPやHTTPといったネットワークサービスが
サンプルとして提供されます。
この各種機能コンポーネントやサービス、フレームワークは、
要件に応じて取捨選択することができます。
![](https://blogimg.goo.ne.jp/user_image/3e/b2/28fea9b184c3d787e70ad0fc6cf863ff.png)
概略で示すと、WEC2013も他の組込OSと似通った構成になっていることが
わかると思います。
ブートローダは、ストレージ(NANDやNORフラッシュ、SD、CFなど)に格納されたOSイメージを
RAMへ展開するプログラムです。
ストレージ以外だけでなく、ネットワーク経由でOSイメージを取得して
RAMに展開するようにすることも可能です。
※デバッグ時はそちらの方が便利なので、ネットワークブートを利用することが多いです。
OSはコアとなるカーネルと、各種機能コンポーネント、
そしてターゲット・ハードウェアのための依存処理で構成されます。
ハードウェア依存部は、初期化やデバッグシリアル処理などを実装した、
OAL(OEM Adapted Layer)と呼ばれる部分と、
ハードウェアに搭載されたペリフェラル用のデバイスドライバがあります。
各種機能コンポーネントとしては、
FATやFAT32といったファイルシステム、TCP/IPプロトコルスタック、
USBスタックといった様々な機能が提供されています。
ミドルウェア、ライブラリ、フレームワークも様々提供されます。
たとえば、PC用のWindowsで使用されているMFCやATL、.NET Frameworkの
サブセットが提供されます。
※.NET Frameworkのサブセットは、.NET Compact Frameworkという名前になっています。
最近だと、PC用のWindowsで動作するアプリでは、
GUIをXAMLベースで開発することがありますが、
WEC2013でもXAMLベースでアプリのGUIを開発できるよう
フレームワークが提供されています。
サービスとしては、FTPやHTTPといったネットワークサービスが
サンプルとして提供されます。
この各種機能コンポーネントやサービス、フレームワークは、
要件に応じて取捨選択することができます。
※コメント投稿者のブログIDはブログ作成者のみに通知されます