Post on 05-Dec-2014
description
株式会社サムシングプレシャス
代表取締役社長
古賀信哉
組み込みWindowsのラインナップ
Windows Embedded Compact/CEでの開発
Windows Embeddedの今後
ベースのカーネルで、大きく二種類ある
Windows NT 系統のカーネル
Windows CE 系統のカーネル
Windows Embedded の最新ラインナップ
Standard 7
POSReady 7
Enterprise
Server
Compact 7
Automotive 7
Windows Phone 7
Handheld 6.5
Windows 7 based
独自カーネル
x86 32/64bit
x86 32bit, ARM, MIPS
(SH)
そして、次期バージョン(v.Next)も見えてきた!
WinCE 6.0 と WE 7
Windows Embedded CE 6.0
2006年リリース
x86, ARM, MIPS, SH
Windows Embedded Compact 7
2011年リリース
X86, ARM, MIPS
SMP 対応
ARM 対応の強化(v5/6/7)
カーネルのソースコードが
(殆ど)開示される。
SH 対応は Automotive のみ
ライセンス体系
国内販売代理店(4社)を介して契約
搭載製品の出荷台数に応じて支払う
組み込むコンポーネントで価格が変わる
WinCE 6.0 http://www.microsoft.com/windowsembedded/en-us/develop/windows-
embedded-ce-6-os-components.aspx
WE 7 http://www.microsoft.com/windowsembedded/en-us/develop/windows-
embedded-compact-7-os-components.aspx
サポート期間
出荷後7年間の月例修正リリース(無償)
WinCE 6.0 (2006年) ~2013年
WEC 7 (2011年) ~2018年
WinCE 5.0 (2004年) ~2011年
サポート延長契約により、5年間延長可能
WinCE 6.0 ~2018年
WEC 7 ~2023年
OS/プラットフォームとしての特徴
Android との比較
WEC 7 vs Android
カーネル
組み込み機器向けの独自カーネル vs Linux 2.6.x/3.x
ユーザランド/アプリケーション実行環境
.NET CF & ネイティブコード vs Java
※プロセッサ非依存なアプリしか作れないかどうか
リアルタイム性能
?どちらもハードリアルタイムではない。
Linux <= WEC 7/WinCE << RTOS (iTRON, etc)
サポートの有無(ランタイムライセンス)
5.0 までの純粋マイクロカーネルの
設計に基づく、明確なモジュール化
WEC 7 vs Android
イメージ(ユーザランド含む)のサイズ
Android: > 70MB
WEC 7: < 32MB も可能
Android 3.0 以降は、巨大過ぎ(タブレット用)
←Windows 8 が競合
Android は、「小さな」組み込み機器向けではない。
小さめの NOR Flush に収まるサイズ
必要なもの
Platform Builder (Visual Studio’s Plugin)
WinCE 6.0/WEC 7
Visual Studio 2005/2008
ターゲットボード
ターゲットボードの BSP
Platform Builder のパッケージに収録 無償の評価版(180/90日限定)を
ダウンロード可能!
開発環境:二種類
OS の開発用
ユーザランドの開発用
OS の開発(ビルド)と、ユーザランドの開発の
作業を、明確に分離できる。
開発環境(OS の開発用)
Platform Builder
OS イメージの生成
ROM イメージ(nk.bin)
BSP のカスタマイズ
ドライバ追加、OAL(カーネル移植層) 機能追加など
Linux の romfs イメージに相当
Linux の xconfig に相当。
ユーザランドのコンポーネントもコンフィグレーションできる。
(+ ツールチェイン)
開発環境(ユーザランドの開発用)
Visual Studio (Smart Device support)
Visual Studio Professional 以上の版に付属
ターゲットデバイス専用の SDK
Platform Builder で生成
API の組み込み有無の食い違いを防ぐ
開発環境でできること
OS の開発(Platform Builder)
OS のコンフィグレーションとビルド
OS イメージの転送(ダウンロード)
カーネルデバッガを使ったデバッグ
Platform Builder で開発作業を完結することも可能。
Platform Builder のプロジェクトには、アプリケー
ションのサブプロジェクトも登録できる。
カーネルデバッガは、ユーザランドもデバッグできる。
開発環境でできること
ユーザランドの開発(Visual Studio)
OS Design から生成した SDK でビルド
アプリケーションデバッガによるデバッグ
デバイスエミュレータ(ARM/x86)
実機依存しない部分のデバッグが可能
アプリケーション開発チームが分離して作業できる。
実機依存しない部分は、実機なしでデバッグ可能。
充実したデバッグ環境
カーネルデバッガ
アプリケーションとドライバを同時にデバッグ可能
標準のテストツール/フレームワーク
CETK/CTK
自動テスト、遠隔テストも可能
http://msdn.microsoft.com/en-us/library/gg154684.aspx
整理/統一されたドライバモデル
PnP、電源管理
WDM/WDF をシンプルにした感じ
電源管理のサブシステムが明確に定義されている
http://msdn.microsoft.com/en-
US/library/ee481943(v=winembedded.60).aspx
http://www.microsoft.com/windowsembedded/en-us/develop/windows-
embedded-compact-7-online-training.aspx?session=3
http://msdn.microsoft.com/en-us/library/ee481059.aspx
実際に動かしてみます!
Armadillo-440 での6秒起動
Armadillo-420(RAM 64MB, ヘッドレス)でも動く
カーネルデバッガ
Windows 8 の系列
Windows Embedded Standard 8
CTP 版が公開中(Windows 8 の出荷と同時期?) http://www.microsoft.com/windowsembedded/en-
us/evaluate/windows-embedded-standard-8-ctp.aspx
Windows Embedded Server, Enterprise v.Next
WOA (Windows On ARM) Embedded ?
Windows Embedded Compact v.Next
来年以降?
全ての OS シリーズで同じ開発環境!
ツールの操作感
開発言語・API
・・・これらの統一化を一層進める(?)
ARM 対応の強化
x86 と同様にハードの共通化が進む(?)
混沌から凝集へ
Linux の ARM 対応でも「共通化」が鍵(Linaro)
特徴
Standard では対応できない多様なハード向け
カーネルのソースを開示し、移植が容易
Standard よりも省リソース
活用
製品の開発コストを抑えるのに有効
多品種少量(< 3000)の製品に適している?
Armadillo の特徴に合致しているかも :-)
WinCE 6.0 BSP for Armadillo-500
Freescale i.MX31
Ethernet
Display (VGA)
USB, NAND, SD, UART
WinCE 6.0/WEC 7 BSP for Armadillo-4x0
Freescale i.MX25
CAN
GPIO
RTC
LDC, Touch panel,
Ethernet, USB, microSD/SD, UART
MTP ホストドライバ (over USB)
WinCE 5.0/6.0/WEC 7 をサポート
仮想ファイルシステム付き
DRM 対応の場合は、要相談
MTP/DLNA ブリッジ(展示会参考出品)
WinCE/WEC の UPnP AV/DLNA API を利用
MTP デバイスを UPnP AV/DLNA の
CDS/DMS として振る舞わせる
UPnP AV/DLNA のクライアントによる、MTP
デバイスへの書き込みもサポート
MTP/DLNA ブリッジ(展示会参考出品)
© 2006 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.