Windows CE 组件和开发工具

来源:互联网 发布:carousel.js 3d轮播 编辑:程序博客网 时间:2024/05/01 09:22

在Windows桌面开发中, 开发者有将平台(Platform, 下同)和操作系统(OS, 下同)模糊地混在一起的趋势。这将在嵌入式系统的开发上引起混淆。 为了强调Windows CE和其它的 Windows OS之间的差异,以及更好的理解产品的设计和工具的选择,有必要明白平台和操作系统的不同。

  • 操作系统(OS)
    最简单的定义是当计算机启动后控制计算机运行的主控程序,例如Windows 3.1, Windows XP, Windows CE。

 

 

  
  • 平台(Platform)
    一系列特定的操作系统技术,并和一套指定的硬件相匹配。 在嵌入式的应用开发中,这些通常是由OEM (设备制造厂商,下同)来定义的。用户利用平台专有的 SDK(开发工具包)为特定平台开发应用程序。

    微软定义了很多平台,例如Windows 3.1, Windows 98, Windows XP,Pocket PC, Pocket PC 2002, Palm-size PC, H/PC, SmartPhone。

    Windows CE是一个开放的,可裁减的32位操作系统。可以利用其一系列组件构造各种平台,能灵活应用于各种硬件配置。
 针对Windows CE而言,
  • 操作系统是:
  • 很多组件和技术的集合
  • 硬件抽象层上的软件
  
  • 而平台是:
     
    • 为一个特定的系统定义的一系列OS(操作系统)组件
    • 向应用程序提供的一系列服务和功能
    • 可能有另外的OEM提供的组件
    • 是硬件和软件的结合

利用Windows CE, 可以构造你自己的平台,你可以灵活地选取你需要的组件,但是你需要提供OAL(OEM Abstration Layer, OEM抽象层)和驱动程序。如果在一个现存的平台上开发,应用程序级环境已经确定,你无法改变它。 这时,如果你所需要的组件不存在的话,你的工作将会受阻。
 

 

Windows CE 提供的组件

内核, 电源管理, 文件系统
  • 硬件支持的实时抢占式多任务处理内核
    • 进程间通讯 (IPC), 同步对象
    • 内存映射文件(MMF), 消息队列
    • 带有硬件访问保护的虚拟内存
  • 可安装的 ISRs,(Interrupt Service Routing, 中断处理程序)多媒体定时器, DMA APIs
    • 对驱动程序和应用程序具有更多的灵活性
  • 给统计和调试用的内核级 hooks(钩子程序)
  • 功能强大而灵活的电源管理
  • 多层结构的存储管理架构
  • 文件系统过滤器
    • 例如:添加 FS(File System, 文件系统) 加密
  • 在Platform Builder 中还提供了文件系统驱动程序的源程序(Platform Builder是针对Windows CE平台的开发工具, 介绍见下
    • FATFS, CDFS/UDFS, BinFS (闪存文件系统)
  

网络和通讯

  • 自适应TCP/IP 栈, 包括IPv6 支持
  • NDIS 5.1 驱动程序架构; 支持RNDIS
  • Winsock 2 和WinINet
  • 无线网络
    • 蓝牙
    • 802.11, 自动配置和802.1x 安全协议
  • 支持的服务: LDAP, DCOM, SOAP, MSMQ, UPnP, …
  • 网关功能
    • V4 NAT/ICS 和 v6 路由和 路由广播
    • 防火墙, DNS 代理服务器, DHCP 分配

 

图形和多媒体
  • Windowing
    • 窗体 / 对话框管理器
    • 基本 / 常用控件
  • 图形
    • DirectDraw
    • Direct3D
    • GDI
  • 音频
    • DirectSound, WaveOut
    • DirectMusic
  • 媒体回放( Playback)
    • DirectShow
    • Windows 媒体技术
    • Windows 媒体播放器和 ActiveX 控件
    • 从媒体服务器,网络到本地文件的无缝连接
    • 支持很多的媒体文件类型和格式
      • WMA, WMV, MPEG-1, MPEG-4, Wav, MP3, ADPCM, G.711, GSM 6.10
 服务和应用程序
  • Shell (桌面程序)
  • 两个版本的浏览器
  • Email 客户端
  • Wordpad
  • MSWord, Excel, PowerPoint 和 PDF的阅读器(Viewers)
  • 实时消息客户端
  • 终端服务客户端
  • Windows 媒体播放器
  • 组件对象模型(COM)/ ActiveX 控件基础设施(Control infrastructure)
  • .NET Compact Framework
  • 数据同步基础设施 (infrastructure)
  • 设备管理
  • HTTP 服务器
  • FTP 服务器
  • Telnet 服务器
集成主板支持软件包(BSP),用于
  • 改进现成的 (out-of-the-box)体验
    • 评估和学习
    • 原型和演示
  • 缩短原型开发的时间
    • 基于整合的周边设备( integrated peripherals )的驱动程序样本
    • 很多可得的源代码实例( source examples )
  • 减少上层应用程序开发对硬件和驱动程序开发的依赖性
  • 在PB(Platform Builder)中每个被支持的CPU内核至少有一个 BSP样本, 更多的在网上可得
  • 在网上可获得更多的BSP ,并且包含在参考硬件产品中

4.2 中发售的BSP

Family

CPU

SDB 名

BSP

内核

ARM

Intel SA1110

Ship CSP for SA11x1

N/A

ARMV4

Samsung S3C2410

ARM920

Samsung SMDK-2410 SDB

ARM Integrator AP Dev Kit

Samsung_2410

ARMIntegrator

ARMV4I

Intel XScale

Intel Lubbock Platform (DBPXA250)

XSC1BD

ARMV4

ARMV4I

MIPS

MIPS II flavors

Alchemy DBAu1500 SDB (web release)

NEC DDB-Vr4122 (Eagle) SDB

DBAu1500

Eagle

MIPSII

MIPS IV flavors (NEC Vr5432)

NEC Solution Gear Series

SG2_VR5500

MIPSII

MIPSII_FP
MIPSIV
MIPSIV_FP

SHx

SH4

Hitachi US7750 HARP  SDB (“Aspen”)

Aspen

SH4

SH3

Hitachi US7729 HARP SDB (“Keywest”)

Keywest

SH3

x86

X86 (Intel, AMD,  Via, SiS…)

Generic CE/PC machine

CEPC

x86

Geode GX1 series

National Pompano Platform

Any Geode based platform

Geode

x86

 

开发工具


平台开发工具(Platform Builder)

  • 用Windows CE创建平台,把操作系统组件集成为一个软件包

  • 主要是为OEM服务,但也可以用来开发驱动程序

  • 给嵌入式的可视化工具(Visual Tools)导出平台软件开发工具包( SDK )

    • Windows CE 3.0s PB 导出成 eVT3.0 (Embedded Visual Tools 3.0)

    • Windows CE .NET PB 导出成 eVC4.0 (Embedded Visual C++ 4.0)

PB开发的整个调试周期

  • PB自带的仿真器可以方便独立于硬件的软件开发

  • 低层源代码调试器

    • 包含对 h/w probes 的支持

    • 微软提供的操作系统源代码

  • 事件日志和跟踪工具

  • 代码解析器和报告生成器

平台的配置和建立(使用PB)

  • 平台向导将带你一步步的给通用设备类型选择组件, PB提供如下通用设备类型

    • Web Pad, PDA, 媒体设备, 机顶盒, 工业自动化, Windows 瘦客户端, VoIP 电话

  • 组件可以通过从目录中拖放来添加

    • 组件依赖性检查(Dependency checking )自动的带入了其它需要的组件

  • 新的组件(比如:驱动程序)可以自己从头建立

嵌入式 Visual C++(应用程序开发)

  • 需要平台专门的 SDK

  • 优点

    • 给开发者带来了最大的灵活性

    • 可以使用平台的所有功能

    • 给应用程序带来了最高的性能

  • 缺点

    • 开发者需要考虑各个方面

    • 针对不同平台必须重新编译

    • 最高的维护需求

嵌入式 Visual C++ (4.0)

  • 和 Windows CE .NET一起发售

    • 和 Windows CE .NET 及新设备一起工作

  • 新增的功能

    • 标准SDK(和Windows CE .NET 仿真器一起)

    • 结构化的异常处理(SEH, structured exceptional handling)

    • STL (标准模板库)

  • 对eVC 3.0的小型漏洞修补


嵌入式 Visual Basic 3.0

  • 需要平台 专门的SDK

  • 需要平台的支持

  • 优点

    • 通用的二进制代码 (P-code)

    • 简单易学

    • 快速开发, 进入市场

  • 缺点

    • 在有限的 Windows CE 设备上能运行

    • 需要大量的运行库

    • 性能不高

    • 不被Windows CE .NET 和更新的版本所支持

Visual Studio .NET

  • .NET Compact Frameworks做为平台SDK

  • 优点

    • 代码可以在所有的Windows CE 设备上工作

    • 用JITTED (即时编译)编码,执行速度快

    • 和桌面程序的开发使用相同的开发环境

    • 支持Visual Basic .NET 和 C#.NET

    • 允许智能客户端应用程序和移动网络应用程序

  • 缺点

    • 需要 1.5MB 的运行时间库 (可安装)

    • 不如本地代码速度快

原创粉丝点击