460 likes | 486 Views
Learn about Windows CE history, its comparison with other embedded OS, development process, and future trends. Discover key features, players, and capabilities of Windows CE in various industry applications.
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探讨,不耻下问,不羞上问。