株式会社サムシングプレシャス
代表取締役社長
古賀信哉
組み込みWindowsのラインナップ

Windows Embedded Compact/CEでの開発

Windows Embeddedの今後
ベースのカーネルで、大きく二種類ある

Windows NT 系統のカーネル

Windows CE 系統のカーネル
Windows Embedded の最新ラインナップ
 Standard 7
                 Windows 7 based
 POSReady 7
                 x86 32/64bit
 Enterprise
 Server     そして、次期バージョン(v.Next)も
                見えてきた!

 Compact 7           独自カーネル
 Automotive 7        x86 32bit, ARM, MIPS
 Windows Phone 7     (SH)
 Handheld 6.5
WinCE 6.0 と WE 7
 Windows Embedded CE 6.0
  2006年リリース
  x86, ARM, MIPS, SH   カーネルのソースコードが
                       (殆ど)開示される。

 Windows Embedded Compact 7
  2011年リリース
  X86, ARM, MIPS SH 対応は Automotive のみ
  SMP 対応
  ARM 対応の強化(v5/6/7)
ライセンス体系
国内販売代理店(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    5.0 までの純粋マイクロカーネルの
                    設計に基づく、明確なモジュール化
 カーネル
  組み込み機器向けの独自カーネル vs Linux 2.6.x/3.x
 ユーザランド/アプリケーション実行環境
  .NET CF & ネイティブコード vs Java
  ※プロセッサ非依存なアプリしか作れないかどうか
 リアルタイム性能
  ?どちらもハードリアルタイムではない。
  Linux <= WEC 7/WinCE << RTOS (iTRON, etc)
 サポートの有無(ランタイムライセンス)
WEC 7 vs Android
 イメージ(ユーザランド含む)のサイズ
                      小さめの NOR Flush
  Android: > 70MB      に収まるサイズ
  WEC 7: < 32MB も可能

    Android 3.0 以降は、巨大過ぎ(タブレット用)
    ←Windows 8 が競合

    Android は、「小さな」組み込み機器向けでは
    ない。
必要なもの
Platform Builder (Visual Studio’s Plugin)
 WinCE 6.0/WEC 7
Visual Studio 2005/2008        Platform Builder の
 無償の評価版(180/90日限定)を             パッケージに収録
 ダウンロード可能!


ターゲットボード
ターゲットボードの BSP
開発環境:二種類
OS の開発用
ユーザランドの開発用



 OS の開発(ビルド)と、ユーザランドの開発の
 作業を、明確に分離できる。
開発環境(OS の開発用)
 Platform Builder
                      Linux の xconfig に相当。
                    ユーザランドのコンポーネントも
                     コンフィグレーションできる。
                        (+ ツールチェイン)


 OS イメージの生成
  ROM イメージ(nk.bin)
                           Linux の romfs
                           イメージに相当
 BSP のカスタマイズ
  ドライバ追加、OAL(カーネル移植層) 機能追加など
開発環境(ユーザランドの開発用)
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.

Android が巨大すぎてお困りのあなたへ~組み込み Windows の今と、これから~