460 likes | 484 Views
Windows CE 嵌入式系统. 漫谈 Windows CE. 何宗键. 同济大学软件学院 2006. Agenda. Windows CE 的昨天、今天和明天 嵌入式操作系统和 Windows CE 概述 旁观者: Windows CE 的优劣比较 与桌面 Windows 比较 与其它嵌入式 OS 比较 基于 Windows CE 的开发过程和分类. The beginning is always a very good place to start. Demo: 使用 Platform Builder 构建 Windows CE OS.
E N D
Windows CE嵌入式系统 漫谈Windows CE 何宗键 同济大学软件学院 2006
Agenda • Windows CE的昨天、今天和明天 • 嵌入式操作系统和Windows CE概述 • 旁观者:Windows CE的优劣比较 • 与桌面Windows比较 • 与其它嵌入式OS比较 • 基于Windows CE的开发过程和分类
Windows CE 1 & 2 & 3 • 1.0版本发售于1996年 • 单纯OS是不能吸引市场的。 • 最早的品牌:Handheld PC • 3.0开始,走向大众
Windows CE 4 & 5 • 2003年—今天 • 形成了两大品牌 • Pocket PC – 针对PDA市场 • Smartphone – 针对手机市场 • 其他品牌 • Windows Automotive – 针对车载电脑
未来 • Windows CE 6.0 – 2007年 • 更多进程 • 更多地址空间 • 安全性提高 • 与Visual Studio 2005集成
Operating System Flavors • Desktop • Windows (9X, XP Home, XP/2000 Pro) • Mac • Server • Windows (XP/2000 Server &Advanced Server) • Unix Varieties • Embedded • Many
What is an Embedded OS? • Embedded systems may use a ROM-based operating system or they may use a disk-based system, like a PC. But an embedded system is not usable as a commercially viable substitute for general purpose computers or devices. • 补充:计算机体系结构
What makes a good Embedded OS? • Modular • Scalable • Configurable • Small footprint • CPU support • Device drivers • etc, etc, etc...
Who are the Embedded OS players? • Microsoft • Embedded NT/XP • “Real-time” control • Windows CE • Internet devices • Wind River Systems • VxWorks • pSOS
Who are the Embedded OS players? • Commercial Embedded Linux • AMIRIX Embedded Linux • Coollogic Coollinux • Coventive Xlinux • Esfia RedBlue Linux • KYZO Pizza Box Linux • Lineo Embedix • LynuxWorks BlueCat • MontaVista Linux • ……
Who are the Embedded OS players? • Open Source Embedded Linux • Embedded Debian Project • ETLinux • uCLinux • uLinux (muLinux) • ……
Who are the Embedded OS players? • QNX Software Systems • QNX • Palm PDA • Palm OS • Symbian • Symbian OS • Green Hills Software • Integrity • ……
Windows CE • Windows CE是为适应嵌入式而推出的新型操作系统 • 它允许您交换信息、与基于Windows的电脑数据同步和连接Internet • 被广泛的应用于掌上电脑,智能手机,汽车电子,信息终端等领域 • 把Windows CE当成一个全新的OS!
CE代表什么? • Compact Edition • Compared with Windows 2000 / XP • Consumer Edition • Consumer Electronic • 消费类电子产品 • "Compact, Connectable, Compatible, and Companion”
What can CE do: Entertainment devices Windows Linux
What can CE do: Car automotive BMW Citroën Clarion Co. Ltd. DaimlerChrysler Fiat Subaru Honda Hyundai Mitsubishi Toyota…
What can CE do : Other • Gateways • Industrial Automation • Set-Top Boxes • Medical Devices and Systems • ATMs • Projectors and Large Screen Displays • VoIP Devices • …
Desktop Windows Only runson x86 architecture Windows CE ARM / Xscale MIPS SH x86 Compare with Desktop Version:Hardware platform
Compare with Desktop Version:Image Size Desktop Windows • Windows 3.x : 2-5MB • Windows 98 : 400MB • Windows XP : 1.5GB • Lager and lager… • Can NOT be customized Windows CE • Minimal : 200KB • Networking about 800KB • GWES, Shell and Apps about 4MB • Internet Explorer about 3MB
Windows CE feature list • Componentization • More than 200 optional components • Quick and easy to customize OS for a particular system
Compare with Desktop Version:Real Time Windows CE • 256 levels of thread priority • Nested interrupts • Per-thread quantums • Priority inversion Desktop Windows • No inherent real time support
Windows CE feature list: • Windows CE provide Real-time support • Real-time support is essential when dealing with time-critical applications.
Compare with Desktop Version:Power management Windows CE • Battery power / AC power • Devices can have their own power state • Turn off unnecessary device Desktop Windows • No power management
Windows CE feature list: • Windows CE provides a Power Manager to manage device power and improve overall OS power efficiency • Windows CE can reduce the power consumption of a target device and to maintain and preserve the file system in RAM during the reset, on, idle, and suspend power states.
Compare with Desktop Version:Programming Interface Windows CE • UNICODE only • Compact Version of Win32 API, MFC.. • Processor, RAM, File System limitation Desktop Windows • ASCII / UNICODE • Rich API set • Powerful hardware platform
Windows CE feature list: • Windows CE only support UNICODE • CHAR -> TCHAR / WCHAR • strlen -> wcslen • Some APIs provide limited function • Windows CE only have limited resource
Compare with Desktop Version:Micro Kernel Windows CE • Complete micro kernel • File system and device drivers run on user mode • Kernel is responsible for passing message Desktop Windows • NT series is claimed to be micro kernel. • 9x series is not micro kernel.
Windows CE feature list: • Complete micro kernel • Enhanced reliability • Enhanced scalability
Compare with Desktop Version:Share source code Windows CE • 70% of Windows CE 5.0 source code is shared. • User can modify it. Desktop Windows • Commercial software, source code is MS 1st level secret.
Windows CE feature list: • Source code is shared • User can find shared source code under “%_WINCEROOT%\private” folder
Compare with other Embedded OS: Multimedia support Other EOS: • Little build-in support for audio & video • No commercial web browser. Windows CE • Rich UI element • Windows Media Player 9, support mp3, wav, avi, wmv… • Internet Explorer 6 & Pocket IE
Windows CE feature list: • Rich User Interface Element • Strong Multimedia support • Interact with desktop windows • Pocket Word, Excel, PowerPoint, adobe reader • Pocket MSN messenger • Pocket IE, Windows Media Player • SQL Server CE edition • ACD See • … …
Compare with other Embedded OS: Programming Interface Other EOS: • Different programming interface • Typically use C/C++ & j2me Windows CE • Win32 API • MFC, ATL, STL… • COM, ActiveX • .NET Compact Framework • Java VM • EVB, EVC…
Windows CE feature list: • Easy to get start for Windows programmer • Support multiple programming languages
Compare with other Embedded OS: image size and real time Other EOS: • RTLinux, µC/OS-II support hard real time • Vxworks min size : 8k • µC/OS-II min size : 2k Windows CE • No hard real time support • Image size is too large for specific usage
Windows CE advantages: • Rich optional components and functions. • Can be strongly customized. • Easy to use. • Same programming interface with desktop windows. • Rich MS and third party applications.
Windows CE disadvantages: • Image size is still too large for specific use. • Real time? • Not free : • 3$ per runtime license • 995$ for Platform Builder • Performance & Security ??
应用程序开发者 操作系统平台的提供者 OS移植者 Windows CE下的开发者
Need Hardware Design? Design & develop your hardware Get hardware & BSP from OEMs Develop BSP for your hardware Need platform customization? Customize your Win CE platform Get platform & SDK from OEMs Export your SDK Coding & Testing Release to Manufacture
悠长假期的作业 • 安装Platform Builder,使用Platform Builder构建,并运行自己的操作系统 • 大家来找茬:找出Windows 2000与Windows CE的十处不同。 • 使用Platform Builder和C++编写一个游戏,目的是熟悉PB开发环境,熟悉CE与Windows的不同: • 基本要求:有图形界面,使用GDI,代码量 > 1000行,并且调用Win CE API 100种 • 进阶要求:人工智能,使用DirectX,使用数据库,自己创意。 • 遇到问题怎么办:BBS探讨,不耻下问,不羞上问。