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位操作系统。可以利用其一系列组件构造各种平台,能灵活应用于各种硬件配置。
- 操作系统是:
- 很多组件和技术的集合
- 硬件抽象层上的软件
- 而平台是:
- 为一个特定的系统定义的一系列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 服务器
- 改进现成的 (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 的运行时间库 (可安装)
不如本地代码速度快
- Windows CE 组件和开发工具
- Windows CE 开发工具简介
- Windows CE模块和组件概述
- Windows CE 必备开发工具总结
- Windows CE 模拟器和远程调试工具
- Windows CE 模拟器和远程调试工具
- Windows CE 模拟器和远程调试工具
- Windows CE 模拟器和远程调试工具
- Windows CE 模拟器和远程调试工具
- Windows CE 模拟器和远程调试工具
- Windows CE 模拟器和远程调试工具
- Windows CE 系统进程外组件应用开发
- Windows Embedded CE 4.2/5.0/6.0开发工具下载大全
- Windows Embedded CE 4.2/5.0/6.0开发工具下载大全
- Windows CE 开发初步
- Windows CE 开发初步
- Windows CE开发初步
- windows CE开发常识
- org.apache.jasper.JasperException: Unable to compile class for JSP:
- c++ 格式转换 不断更新
- 如何获取目录的创建时间 - Delphi /
- TKPROF使用学习
- android search对话框的使用
- Windows CE 组件和开发工具
- andorid gridview
- 解决Visual C++ 编译器中混合 .c 文件时收到 C1853 预编译头错误的方法
- Windows Mobile 调用 摄像头 接口 asp.net
- Jquery数组函数
- w3c规范页面(转)
- 转发部分 囧人语录
- 提高SQL查询效率[转http://yuunagi.blogbus.com/logs/72011034.html]
- access函数