Android が巨大すぎてお困りのあなたへ~組み込み Windows...

Post on 05-Dec-2014

4.370 views 5 download

description

2012-03-22 の EMS-JP 北海道支部営業ミーティングでのプレゼン資料。

Transcript of Android が巨大すぎてお困りのあなたへ~組み込み Windows...

株式会社サムシングプレシャス

代表取締役社長

古賀信哉

組み込み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.