1 概 述
概 述 基 本 概 念 回 顾 微 软 的 嵌 入 式 平 台 WinCE 系 统 定 制 简 介 WinCE 应 用 开 发 简 介 2
嵌 入 式 系 统 - 基 本 概 念 回 顾 嵌 入 式 系 统 什 么 是 嵌 入 式 系 统 嵌 入 式 系 统 特 点 嵌 入 式 系 统 的 二 种 应 用 模 式 嵌 入 式 系 统 结 构 嵌 入 式 操 作 系 统 什 么 是 嵌 入 式 操 作 系 统? 新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 嵌 入 式 操 作 系 统 选 型 3
什 么 是 嵌 入 式 系 统 IEEE An Embedded system is the Devices used to control,monitor or assist the operation of equipment,machinery or plants. 一 般 嵌 入 式 系 统 是 一 种 植 入 了 软 件 的 计 算 机 硬 件 为 重 要 组 成 部 分 的 系 统 嵌 入 到 对 象 体 系 中 的 专 用 计 算 机 系 统 4
嵌 入 式 系 统 特 点 从 嵌 入 式 的 角 度 物 理 外 观 环 境 实 时 性 从 应 用 的 专 用 性 专 用 定 制 从 系 统 论 的 角 度 一 个 整 体 : 内 部 软 硬 件 有 机 结 合 ; 外 部 与 其 他 设 备 交 互 ( 接 口 协 议 ) 5
嵌 入 式 系 统 的 二 种 应 用 模 式 嵌 入 式 系 统 硬 件 设 计 电 子 工 程 师 : 熟 悉 硬 件 技 术, 对 软 件 技 术 与 工 程 不 太 了 解 嵌 入 式 系 统 软 件 设 计 软 件 工 程 师 : 熟 悉 软 件 工 程 思 想 与 应 用 程 序 开 发, 对 硬 件 原 理 设 计 不 熟 悉 6
嵌 入 式 系 统 结 构 嵌 入 式 系 统 作 为 一 类 特 殊 的 计 算 机 系 统, 自 底 向 上 包 含 有 3 个 部 分, 如 图 所 示 用 户 程 序 内 嵌 式 操 作 系 统 硬 件 系 统 组 件 7
嵌 入 式 系 统 结 构 硬 件 层 处 理 器 结 构 各 异 种 类 繁 多 目 前 世 界 上 具 有 嵌 入 式 功 能 特 点 的 处 理 器 已 经 超 过 1000 种, 流 行 体 系 结 构 包 括 MCU,MPU,DSP, SoC 等 30 多 个 系 列 位 长 :4 ~ 128 主 频 : 几 K ~ 几 十 M 寻 址 空 间 :64kB ~ 16MB 封 装 引 脚 :8 个 ~ 144 个 指 令 集 有 RISC,CISC 存 储 器 容 量 较 小, 性 能 较 差, 支 持 当 前 常 用 的 各 类 小 型 存 储 器 : RAM,ROM,EPROM,Flash,SD 卡,CF 卡 等 I/O 设 备 种 类 繁 多 如 : 键 盘, 触 摸 屏, 传 感 器,LCD,LED 等 8
嵌 入 式 系 统 结 构 中 间 层 是 与 硬 件 相 关 的 代 码, 主 要 作 用 是 对 硬 件 进 行 抽 象, 为 OS 提 供 统 一 接 口, 实 现 OS 与 硬 件 的 隔 离 软 件 层 OS WinCE,VxWorks,Symbian,Brew,Plam OS 等 各 类 应 用 软 件 9
什 么 是 嵌 入 式 操 作 系 统? 定 义 嵌 入 式 操 作 系 统 是 一 种 支 持 嵌 入 式 系 统 应 用 的 操 作 系 统 软 件, 它 是 嵌 入 式 系 统 ( 包 括 硬 软 件 系 统 ) 极 为 重 要 的 组 成 部 分, 通 常 包 括 与 硬 件 相 关 的 底 层 驱 动 软 件 系 统 内 核 设 备 驱 动 接 口 通 信 协 议 图 形 界 面 标 准 化 浏 览 器 等 特 点 : 嵌 入 式 操 作 系 统 具 有 通 用 操 作 系 统 的 基 本 特 点, 如 能 够 有 效 管 理 越 来 越 复 杂 的 系 统 资 源 ; 能 够 把 硬 件 虚 拟 化 ; 能 够 提 供 库 函 数 驱 动 程 序 工 具 集 以 及 应 用 程 序 与 通 用 操 作 系 统 相 比 较, 嵌 入 式 操 作 系 统 在 系 统 实 时 高 效 性 硬 件 的 相 关 依 赖 性 软 件 固 态 化 以 及 应 用 的 专 用 性 等 方 面 具 有 较 为 突 出 的 特 点 ( 模 块 化 可 升 级 可 配 置 小 内 存 损 耗 CPU 支 持 设 备 驱 动 等 ) 一 般 情 况 下, 嵌 入 式 操 作 系 统 可 以 分 为 两 类, 一 类 是 面 向 控 制 通 信 等 领 域 的 实 时 操 作 系 统, 如 vxworks 等 ; 另 一 类 是 面 向 消 费 电 子 产 品 的 非 实 时 操 作 系 统, 这 类 产 品 包 括 个 人 数 字 助 理 (pda) 移 动 电 话 机 顶 盒 电 子 书 等 10
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 下 面 是 一 些 流 行 商 业 出 版 物 EETimes 和 Embedded Systems Design Magazine (www.embedded.com) 的 2006 年 度 嵌 入 式 市 场 调 查 通 过 这 些 调 查, 能 揭 示 出 大 致 的 趋 势, 当 前 正 在 开 发 哪 些 类 型 的 新 嵌 入 式 系 统 等 11
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 新 嵌 入 式 设 计 当 前 所 采 用 处 理 器 的 位 长 可 以 看 出, 大 多 数 主 流 设 计 活 动 都 不 约 而 同 地 采 用 32 位 处 理 器 64-bit 32-bit 16-bit 8-bit 4-bit 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 12
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 2002 年 度 32 位 和 64 位 微 处 理 器 的 销 售 数 据 ARM 和 基 于 X86 的 处 理 器 占 据 最 大 的 市 场 份 额, 然 后 是 MIPS SuperH PowerPC 等 几 个 其 他 RISC 处 理 器 最 新 数 据 应 该 与 之 类 似, 但 没 有 公 布 ARM X86 MIPS SuperH PowerPC 0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00% 35.00% 40.00% 13
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 每 个 新 型 嵌 入 式 设 计 中 的 处 理 器 数 新 型 嵌 入 式 产 品 设 计 中 通 常 采 用 1-2 个 处 理 器 当 前 许 多 手 机 同 时 采 用 通 用 处 理 器 和 DSP 处 理 器, 以 满 足 通 信 任 务 及 通 信 协 议 对 数 据 吞 吐 率 的 高 要 求 1 Processor 2 Processors 3-5 Processors More Than 5 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 14
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 新 嵌 入 式 设 计 中 实 时 操 作 系 统 内 核 的 使 用 情 况 最 广 泛 的 选 择 是 采 用 现 成 的 商 用 操 作 系 统 几 项 研 究 及 调 查 显 示, 采 用 开 源 操 作 系 统 的 比 例 停 滞 不 前, 甚 或 有 可 能 失 去 市 场 份 额 如 果 计 入 开 发 时 间 工 资 及 其 他 许 可 费 用, 采 用 开 源 操 作 系 统 的 产 品 总 开 发 成 本 实 际 上 会 更 高 导 致 这 种 情 况 的 一 个 原 因 是, 商 用 操 作 系 统 目 前 为 嵌 入 式 设 备 提 供 的 产 品 具 有 更 高 的 成 熟 度, 且 开 发 更 为 轻 松 开 源 许 可 证 可 能 还 要 求 制 造 商 公 布 设 备 源 代 码, 出 于 对 竞 争 对 手 可 能 会 利 用 这 些 源 代 码 开 发 类 似 产 品 的 担 心, 很 多 制 造 商 并 不 愿 意 这 么 做 15
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 开 源 操 作 系 统 的 问 题 没 有 完 整 的 商 业 模 式 没 有 统 一 的 编 程 界 面 和 统 一 的 运 行 系 统 的 核 心 (API + kernel fragmentation) 没 有 对 开 发 商 知 识 产 权 的 保 护 : GPL( 通 用 公 共 许 可 ) 要 求 开 发 者 公 开 一 切 设 计 的 原 码 没 有 对 多 种 语 言 的 完 整 的 支 持 没 有 完 整 的 统 一 测 试 和 质 量 管 理 16 微 软 中 国 事 务 办 公 室 首 席 项 目 经 理 栾 跃
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 新 嵌 入 式 设 计 中 所 采 用 的 商 用 操 作 系 统 Microsoft Embedded 在 2006 年 的 调 查 中 占 据 最 大 的 市 场 份 额, Microsoft Embedded 包 括 Windows Embedded XP 和 Windows Embedded CE 接 下 来 是 Wind River Systems 的 VxWorks 操 作 系 统 Symbian 操 作 系 统 在 手 机 中 得 到 广 泛 采 用 Symbian 现 在 归 Nokia 所 有 17
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 嵌 入 式 设 备 中 使 用 的 编 程 语 言 大 多 数 嵌 入 式 系 统 的 开 发 使 用 了 C 系 列 语 言 请 注 意 调 查 中 提 出 这 个 问 题 的 方 式, 回 答 并 不 表 明 有 三 分 之 一 的 代 码 是 用 汇 编 语 言 编 写 的 而 是 表 明 三 分 之 一 的 设 计 人 员 在 设 计 的 某 些 部 分 仍 需 要 使 用 汇 编 语 言 其 他 调 查 显 示, 在 为 新 嵌 入 式 设 备 开 发 的 代 码 中, 汇 编 语 言 代 码 所 占 的 比 例 不 足 10% 即 使 是 作 为 汇 编 语 言 最 后 阵 地 之 一 的 PC 的 ROM BIOS 代 码, 大 多 数 PC 制 造 商 也 开 始 转 为 使 用 C 语 言 18
新 型 嵌 入 式 系 统 设 计 中 使 用 的 处 理 器 和 软 件 结 论 大 多 数 新 嵌 入 式 设 备 使 用 功 能 相 当 强 大 的 32 位 处 理 器 大 多 数 设 备 的 复 杂 程 度 使 得 操 作 系 统 不 可 或 缺 在 那 些 具 有 操 作 系 统 的 设 备 中, 往 往 会 采 用 商 用 操 作 系 统 当 前, 嵌 入 式 设 备 的 大 多 数 开 发 工 作 使 用 C 系 列 语 言 完 成 汇 编 语 言 在 某 些 设 备 的 一 些 低 级 例 程 中 可 能 仍 在 使 用, 但 这 种 情 况 逐 渐 减 少 19
嵌 入 式 操 作 系 统 选 型 当 我 们 在 设 计 嵌 入 式 产 品 时, 嵌 入 式 操 作 系 统 的 选 择 至 关 重 要 一 般 而 言, 在 选 择 嵌 入 式 操 作 系 统 时, 可 以 遵 循 以 下 原 则 总 的 来 说, 就 是 做 加 法 还 是 做 减 法 的 问 题 1) 市 场 进 入 时 间 2) 可 移 植 性 3) 可 利 用 资 源 4) 系 统 定 制 能 力 5) 成 本 6) 中 文 内 核 支 持 20
当 前 位 置 基 本 概 念 回 顾 微 软 的 嵌 入 式 平 台 WinCE 系 统 定 制 WinCE 应 用 开 发 21
微 软 的 嵌 入 式 平 台 微 软 的 移 动 平 台 Windows Embedded 家 族 微 软 嵌 入 式 操 作 系 统 的 区 别 Windows XP Embedded 产 品 介 绍 Windows CE 22
微 软 的 移 动 平 台 主 要 产 品 : Windows CE Windows Embedded Windows NT4 Embedded Windows XP Embedded Windows Vista Embedded Windows CE 主 要 市 场 范 围 : 手 掌 型 小 型 设 备, 移 动 电 话, 小 型 终 端 设 备, 汽 车, 私 用 电 器 Windows Embedded 主 要 市 场 范 围 : 工 业 自 控 设 备, 销 售 部 门 结 账 器, 信 息 厅, 多 功 能 音 像 转 换 器, 网 络 系 统 终 端 机, 信 息 电 器 23
微 软 的 移 动 平 台 小 型 产 品 Smartphone 信 息 消 费 基 本 数 据 浏 览 把 PDA 融 入 电 话 可 以 与 Exchange 交 互.NET Compact Framework ASP.NET 移 动 控 件 Pocket PC 信 息 消 费 浏 览 和 输 入 数 据 把 电 话 融 入 PDA 可 以 与 Office, Exchange 和 SQL Server 交 互.NET Compact Framework ASP.NET 移 动 控 件 笔 记 本 PC 复 杂 的 文 档 编 辑 和 读 写 桌 面 键 盘 输 入 键 盘 和 鼠 标 输 入 法 完 整 的.NET framework 支 持 平 板 电 脑 复 杂 的 文 档 编 辑 和 读 写 桌 面 键 盘 输 入 支 持 数 字 墨 水 可 以 支 持 键 盘, 也 可 以 把 键 盘 拿 走 键 盘 鼠 标 数 字 墨 水 和 语 音 输 入 完 整 的.NET framework 支 持 提 供 笔, 数 字 墨 水, 手 写 和 语 音 识 别 API.NET MF 24 Windows Embedded CE 更 强 的 功 能 Windows XP/XPE
Windows Embedded 家 族 25
什 么 是 Windows XP Embedded Windows XP Professional 的 组 件 化 版 本 使 用 和 Windows XP Professional 完 全 相 同 的 二 进 制 文 件 完 全 支 持 W32 的 API 1000 多 个 操 作 系 统 组 件 和 9000 多 个 设 备 驱 动 组 件 供 用 户 按 需 选 择 26
微 软 嵌 入 式 操 作 系 统 的 区 别 Windows CE: 支 持 多 种 微 处 理 器 (MIPS, X86, StrongArm, etc.) 具 电 池 省 电 管 理 的 功 能 具 即 时 控 制 的 功 能 Win32 API 的 子 集 - 不 和 Win32 百 分 之 百 的 兼 容 主 要 使 用 于 用 直 流 电 的 小 型 设 备 27
微 软 嵌 入 式 操 作 系 统 的 区 别 Windows XP Embedded: 支 持 X86 微 处 理 器 没 有 电 池 省 电 管 理 的 功 能 即 时 控 制 的 功 能 由 3rd Party 提 供 使 用 Win32 API - 和 Win32 百 分 之 百 的 兼 容 主 要 使 用 于 用 交 流 电 的 大 中 型 设 备 28
29
Windows XP Embedded 产 品 介 绍 30
Windows XP Embedded 产 品 介 绍 Windows XP Embedded (XPE) 和 Windows XP 100% 的 兼 容 - 使 用 Windows XP 的 原 码 使 用 模 块 化 了 的 所 有 Windows XP 的 功 能 (Componentized) 1,000+ 功 能 模 块, 9,000+ Driver 模 块 一 整 套 为 建 立 嵌 入 式 操 作 系 统 的 工 具 31
Windows XP Embedded 产 品 介 绍 XPE 可 为 你 提 供 什 么? 完 全 使 用 XP 的 原 码, 因 此 基 于 视 窗 2000/XP 的 核 心, 具 有 较 高 的 可 靠 性 安 全 性 和 使 用 的 性 能. 让 你 能 用 最 快 的 速 度 开 发 新 产 品 并 推 向 市 场 提 供 专 为 嵌 入 式 计 算 机 所 加 的 功 能 : 多 种 起 动 器 的 选 择 (HD, CD, Flash ROM) 加 强 性 的 写 入 过 滤 器 (EWF) 虚 拟 硬 碟 (SDI) 及 运 行 软 件 部 署 的 工 具 (SDI2HD) 实 时 控 制 ( 使 用 其 它 产 品 ) EWF:http://www.microsoft.com/china/MSDN/library/Mobility/embedded/U Sdnxpesp1ewfwinxp.mspx?mfr=true 32
Windows XP Embedded 产 品 介 绍 XPE 可 为 你 提 供 什 么? 让 你 在 你 的 嵌 入 式 计 算 机 上 充 分 发 挥 视 窗 XP 操 作 系 统 的 最 新 功 能 : 如 文 件 系 统 的 最 新 安 全 性 能 (File protection) 硬 件 驱 动 器 的 自 动 回 滚 (Driver rollback) 最 新 的 文 件 加 密 (EFS) 多 人 共 同 使 用 的 功 能 最 新 的 USB 功 能 支 持. 最 新 的 浏 览 器 (IE6) 及 最 新 的 多 媒 体 功 能 (Media Player and DirectX). 支 持 所 有 Unicode 的 世 界 所 有 语 言. 33
Windows XP Embedded 产 品 介 绍 使 用 XPE 的 好 处 充 分 利 用 微 软 在 操 作 系 统 上 的 开 发 不 断 更 新 的 大 量 新 技 术 和 新 功 能 久 经 市 场 考 验 的 代 码 高 度 的 应 用 产 品 的 开 发 效 率 和 速 度 相 同 的 开 发 和 运 行 平 台 通 俗 易 用 的 开 发 工 具 广 泛 使 用 的 平 台 Win32,VS,MFC, COM,.Net 框 架 等 熟 悉 的 开 发 技 术, 广 泛 的 开 发 社 区 和 资 源 34
Windows XP Embedded 产 品 介 绍 XPE Studio 产 品 全 新 的 一 套 为 设 计 和 部 署 嵌 入 式 计 算 机 应 用 软 件 和 系 统 的 工 具 : Component Designer ( 组 件 设 计 师 ) 用 于 将 客 户 的 应 用 程 序 和 设 备 驱 动 制 作 成 组 件 能 对 组 件 中 的 文 件 和 注 册 表 等 资 源 进 行 编 辑 可 自 动 将.inf 和.pmq 文 件 转 换 成 组 件 文 件 ( pmq: 关 于 系 统 安 装 信 息 的 文 件 ) Target Designer ( 运 行 系 统 设 计 师 ) 方 便 用 户 从 超 过 10000 多 个 组 件 中 选 择 你 需 要 的 自 动 解 决 组 件 之 间 的 依 赖 性 问 题 运 行 在 开 发 机 上 的 高 性 能 的 操 作 系 统 编 译 环 境 35
Windows XP Embedded 产 品 介 绍 XPE Studio 产 品 全 新 的 一 套 为 设 计 和 部 署 嵌 入 式 计 算 机 应 用 软 件 和 系 统 的 工 具 :( 续 ) Database Manager ( 数 据 库 管 理 ) 将 你 自 己 制 作 的 组 件 加 入 到 组 件 数 据 库 中 高 性 能 的 数 据 库 管 理 工 具 Remote Boot Manager ( 遥 控 起 动 管 理 ) SDI Manager and SDI2HD ( 部 署 工 具 ) Target Analyzer ( 运 行 硬 件 分 析 器 ) 动 态 分 析 目 标 硬 件 平 台, 生 成.pmq 文 件 36
微 软 新 一 代 Windows XP Embedded 产 品 介 绍 视 窗 XP 嵌 入 式 操 作 系 统 的 构 架 Define run-time configuration Target Designer Build Embedded Run-time Image Load Embedded Device Configuration Management Interface (CMI) Authoring components Import Component Designer 37 Component Component Definition Definition (.SLD Files) (.SLD Files) Database Manager Component Database Components definitions Windows Windows XP Windows XP XP Binary Binary Binary Repository Repository Repository OS components, drivers, applications
38
39
Windows XP Embedded 产 品 介 绍 设 计 嵌 入 式 应 用 软 件 和 系 统 的 步 骤 : 确 定 运 行 系 统 的 硬 件 设 计 你 的 专 门 应 用 程 序 的 组 件 选 择 操 作 系 统 的 功 能 组 件 选 择 专 门 的 嵌 入 式 的 使 用 和 部 署 功 能 制 定 你 专 用 的 嵌 入 式 运 行 系 统 部 署 你 的 嵌 入 式 运 行 系 统 及 应 用 软 件 40
Windows XP Embedded 产 品 介 绍 使 用 XPE 的 进 一 步 参 照 XPE 的 总 网 站 http://www.microsoft.com/windows/embedded/ 大 学 教 学 辅 助 http://msdn.microsoft.com/embedded/community/academic/ 下 载 XPE 的 试 用 版 本 http://msdn.microsoft.com/embedded/getstart/evaluate/default.aspx 使 用 XPE 的 MSDN 参 考 资 料 http://msdn.microsoft.com/embedded/ 41
Windows CE Windows CE 是 微 软 开 发 的 一 个 开 放 的 可 升 级 的 32 位 嵌 入 式 操 作 系 统, 用 于 掌 上 型 电 脑 类 的 电 子 设 备 操 作 Windows CE 的 设 计 目 标 是 : 模 块 化 及 可 伸 缩 性 实 时 性 能 好, 通 信 能 力 强 大, 多 任 务, 支 持 多 种 CPU 从 以 下 几 方 面 描 述 特 点 与 桌 面 Windows 比 较 与 其 它 嵌 入 式 OS 比 较 WinCE 优 缺 点 WinCE 产 品 版 本 序 列 与 Windows XPE 比 较 42
Windows CE Windows CE 的 特 点 有 : 具 有 灵 活 的 电 源 管 理 功 能, 包 括 瞬 眠 / 唤 醒 模 式 使 用 了 对 象 存 储 (object store) 技 术, 包 括 文 件 系 统 注 册 表 及 数 据 库 它 还 具 有 很 多 高 性 能 高 效 率 的 操 作 系 统 特 性, 包 括 按 需 换 页 共 享 存 储 交 叉 处 理 同 步 支 持 大 容 量 堆 (heap) 等 拥 有 良 好 的 通 信 能 力 广 泛 支 持 各 种 通 信 硬 件, 亦 支 持 直 接 的 局 域 连 接 以 及 拨 号 连 接, 并 提 供 与 PC 内 部 网 以 及 Internet 的 连 接, 还 提 供 与 Windows 的 最 佳 集 成 和 通 信 支 持 嵌 套 中 断 允 许 更 高 优 先 级 别 的 中 断 首 先 得 到 响 应, 而 不 是 等 待 低 级 别 的 ISR 完 成 这 使 得 该 操 作 系 统 具 有 嵌 入 式 操 作 系 统 所 要 求 的 实 时 性 (Windows Embedded CE 是 硬 实 时 的 操 作 系 统, 微 软 承 诺 在 200M 的 x86 CPU 上 可 获 得 40~60us 的 响 应 速 度, 可 满 足 95% 的 实 时 系 统 的 需 要 ) 43
Windows CE Windows CE 的 特 点 有 ( 续 ): 更 好 的 线 程 响 应 能 力 对 高 级 别 IST( 中 断 服 务 线 程 ) 的 响 应 时 间 上 限 的 要 求 更 加 严 格, 在 线 程 响 应 能 力 方 面 的 改 进, 帮 助 开 发 人 员 掌 握 线 程 转 换 的 具 体 时 间, 并 通 过 增 强 的 监 控 能 力 和 对 硬 件 的 控 制 能 力 帮 助 他 们 创 建 新 的 嵌 入 式 应 用 程 序 256 个 优 先 级 别 可 以 使 开 发 人 员 在 控 制 嵌 入 式 系 统 的 时 序 安 排 方 面 有 更 大 的 灵 活 性 Windows CE 的 API 是 Win32 API 的 一 个 子 集, 支 持 近 1500 个 Win32 API 有 了 这 些 API, 足 可 以 编 写 任 何 复 杂 的 应 用 程 序 当 然, 在 Windows CE 系 统 中, 所 提 供 的 API 也 可 以 随 具 体 应 用 的 需 求 而 定 完 全 组 件 化 的 可 裁 减 的 嵌 入 式 操 作 系 统 全 部 功 能 设 计 成 700 多 个 小 颗 粒 的 组 件, 在 图 形 界 面 上 供 用 户 方 便 地 增 删 功 能 44
Windows CE 丰 富 的 应 用 组 件 在 掌 上 型 电 脑 中,Windows CE 包 含 如 下 一 些 重 要 组 件 : Pocket Outlook 及 其 组 件 语 音 录 音 机 移 动 频 道 远 程 拨 号 访 问 世 界 时 钟 计 算 器 多 种 输 入 法 GBK 字 符 集 中 文 TTF 字 库 英 汉 双 向 词 典 袖 珍 浏 览 器 电 子 邮 件 Pocket Office 系 统 设 置 Windows CE Services 软 件 45
与 桌 面 版 本 比 较 : 硬 件 平 台 桌 面 版 Windows Only runs on x86 architecture Windows CE ARM / Xscale MIPS PowerPC SH x86 46
与 桌 面 版 本 比 较 : 镜 像 大 小 桌 面 Windows Windows 3.x : 2-5MB Windows 98 : 400MB Windows XP : 1.5GB 越 来 越 大 不 能 定 制 Windows CE 最 小 : 200KB 网 络 部 分 大 约 800KB GWES, Shell and Apps 大 约 4MB Internet Explorer 大 约 3MB 47
与 桌 面 版 比 较 : 实 时 性 桌 面 Windows 不 具 有 实 时 性 Windows CE 线 程 优 先 级 256 级 中 断 嵌 套 每 个 线 程 都 有 独 立 的 时 钟 嘀 嗒 处 理 优 先 级 反 转 48
与 桌 面 版 比 较 : 电 源 管 理 桌 面 Windows 电 源 管 理 实 现 差 Windows CE 电 池 供 电 / AC 供 电 各 设 备 的 电 源 使 用 状 况 关 闭 不 必 要 的 设 备 49
与 桌 面 版 比 较 : 编 程 接 口 桌 面 Windows ASCII / UNICODE 丰 富 的 API 强 有 力 的 硬 件 平 台 Windows CE 只 支 持 UNICODE 部 分 Win32 API, MFC 等 有 限 的 硬 件 资 源 50
与 桌 面 版 比 较 : 微 内 核 桌 面 Windows NT 系 列 力 求 微 内 核 9x series 不 是 微 内 核 微 内 核 Windows CE 文 件 系 统 和 设 备 驱 动 运 行 在 用 户 模 式 内 核 负 责 传 递 消 息 51
与 桌 面 版 比 较 : 共 享 源 代 码 桌 面 Windows 商 业 软 件, 源 代 码 是 微 软 的 一 级 机 密 Windows CE Windows CE 公 开 了 源 代 码 用 户 可 以 对 它 进 行 修 改 可 以 在 %_WINCEROOT%\priva te 文 件 夹 中 找 到 公 开 的 源 代 码 52
与 其 它 嵌 入 式 OS 比 较 : 多 媒 体 支 持 其 它 嵌 入 式 OS: 对 音 视 频 支 持 有 限 没 有 商 业 的 网 站 浏 览 器 Windows CE 友 好 的 用 户 界 面 Windows Media Player 9, 支 持 mp3, wav, avi, wmv Internet Explorer 6 & Pocket IE 53
与 其 它 的 嵌 入 式 OS 比 较 : 编 程 接 口 Other EOS: 不 同 的 编 程 接 口 常 用 的 C/C++ & j2me Win32 API Windows CE MFC, ATL, STL COM, ActiveX.NET Compact Framework Java VM EVB, EVC 对 于 Windows 程 序 员 来 说 容 易 上 手 支 持 多 种 编 程 语 言 54
与 其 它 的 嵌 入 式 OS 比 较 : 镜 像 大 小 其 它 嵌 入 式 OS: Vxworks 最 小 : 8k µc/os-ii 最 小 : 2k Windows CE 对 于 一 些 特 殊 的 应 用 镜 像 可 能 过 大 55
Windows CE 优 缺 点 : 优 点 缺 点 丰 富 的 可 选 组 件 和 功 能 定 制 方 便 易 使 用 与 桌 面 版 windows 编 程 接 口 类 似 具 有 丰 富 的 微 软 及 第 三 方 应 用 支 持 对 于 一 些 特 殊 的 应 用, 镜 像 可 能 过 大 性 能? 非 免 费 : 3$ per runtime license 995$ for Platform Builder 56
Windows CE Windows Embedded CE 从 6.0 版 本 开 始,Windows CE 的 名 字 改 为 Windows Embedded CE 在 进 程 数 量 方 面, 从 过 去 最 多 运 行 32 个 进 程, 改 变 为 最 多 运 行 3 万 2 千 个 进 程 内 存 方 面 从 每 个 进 程 最 多 拥 有 32M 虚 拟 内 存 空 间 改 为 最 多 拥 有 2G 虚 拟 内 存 空 间 在 OS 布 局 方 面, 将 关 键 的 驱 动 程 序 文 件 系 统 和 图 形 界 面 管 理 器 (GWES) 移 到 了 内 核 中 CE 针 对 开 发 者 的 转 变 开 始 自 CE 6.0, 将 开 发 环 境 Platform Builder 整 合 到 Visual Studio 中 57
Windows CE 产 品 版 本 序 列 Windows CE 的 版 本 发 布 时 间 操 作 系 统 开 发 工 具 应 用 程 序 开 发 工 具 Windows CE 1.0 1996 年 Windows CE Embedded Toolkit 1.0 Windows CE 2.0 1997 年 秋 Windows CE Embedded Toolkit 2.0 Windows CE Toolkit for Visual C++ 6.0 Windows CE Toolkit for Visual Basic 6.0 Windows CE Toolkit for Visual J++ 6.0 Windows CE 2.1/2.11 1998 年 8 月 Windows CE Platform Builder2.11 Windows CE 2.12 1999 年 初 Windows CE Platform Builder2.12 Windows CE 3.0 2000 年 7 月 Windows CE Platform Builder 3.0 Embedded Visual C++ 3.0 Embedded Visual Basic 3.0 Windows CE.NET 4.0 2001 年 4 月 Platform Builder 4.0 Embedded Visual C++ 4.0+sp1,sp2,sp3 Visual Studio.NET 2003 Windows CE.NET 4.1 2001 年 底 Platform Builder 4.1 Windows CE.NET 4.2 2003 年 2 季 Platform Builder 4.2 Windows CE.NET 5.0 2004 年 6 月 Platform Builder 5.0 Embedded Visual C++ 4.0+sp4 Visual Studio.NET 2003 Visual Studio.NET 2005 Windows Embedded CE 6.0 2006 年 11 月 Platform Builder 6.0 as a plugin in Visual Studio.NET 2005 Visual Studio.NET 2005 58
比 较 Windows CE 和 Windows XP Embedded Feature Windows XP Embedded Windows CE.NET 6.0 Disk Space 5MB - 400 KB API Support Full Win32 不 完 全 支 持 Win32 API CPU Support X86 x86, MIPS, SHx, ARM Device Drivers 完 全 兼 容 Windows XP Professional 自 己 的 一 套 设 备 驱 动 体 系 Real--TimeTime 需 要 第 三 方 插 件 本 身 是 硬 实 时 的 Development Tools 59 Target Designer Component Designer Visual Studio Platform Builder Visual Studio.NET
60
当 前 位 置 嵌 入 式 系 统 概 念 复 习 微 软 的 嵌 入 式 平 台 WinCE 系 统 定 制 WinCE 应 用 开 发 61
WinCE 系 统 定 制 Windows 嵌 入 式 系 统 选 择 原 则 选 择 一 个 Windows 嵌 入 式 系 统 WindowsCE 版 本 与 SDK 之 间 的 关 系 Platform Builder 介 绍 概 述 主 要 特 性 62
选 择 一 个 Windows 嵌 入 式 系 统 Yes 电 池 驱 动? No X86 PC CPU 架 构? OS RAM 的 占 用 情 况? >~16 MB+ 使 用 现 有 的 应 用 程 序? Any CE Supported <16~MB No Yes 63
WindowsCE 的 版 本 与 SDK 之 间 的 关 系 目 前 比 较 常 用 的 Windows CE 四 代 产 品, 其 内 核 分 别 是 Windows CE 3.0 Windows CE.Net 4.2 Windows CE 5.0 Windows Embedded CE 6.0 64 开 发 平 台 内 核 版 本 开 发 工 具 Pocket PC 2002 3.0 EVC 3.0 EVB 3.0 Windows Mobile 2003 Windows Mobile 5 Windows Mobile 6 Pocket PC 2003 4.2 EVC 4.0 SmartPhone 2003 4.2 Pocket PC 2005 5.0 SmartPhone 2005 5.0 Standard 6.0 Professional Visual Studio.Net 2003 Visual Studio.Net 2005 Visual Studio.Net 2008
WinCE 系 统 定 制 Platform Builder 介 绍 Platform Builder 是 微 软 提 供 给 Windows CE 开 发 人 员 进 行 基 于 Windows CE 平 台 下 嵌 入 式 操 作 系 统 定 制 的 集 成 开 发 环 境 它 提 供 了 所 有 进 行 设 计 创 建 编 译 测 试 和 调 试 Windows CE 操 作 系 统 平 台 的 工 具 开 发 人 员 还 可 以 利 用 Platform Builder 来 进 行 驱 动 程 序 开 发 和 应 用 程 序 项 目 的 开 发 等 等 它 运 行 在 桌 面 Windows 下, 开 发 人 员 可 以 通 过 交 互 式 的 环 境 来 设 计 和 定 制 内 核 选 择 系 统 特 性, 然 后 进 行 编 译 和 调 试 65
Connectivity Status Solution Platforms Connectivity Device Name Project Tree Code Editor Debug tool status indicators 66 Output Selection Tabbed Output Windows
Platform Builder 的 主 要 特 性 平 台 开 发 向 导 (Platform Wizard) 开 发 向 导 用 来 引 导 开 发 人 员 去 创 建 一 个 简 单 的 系 统 平 台, 然 后 再 根 据 要 求 作 进 一 步 的 修 改 提 高 了 平 台 创 建 的 效 率 基 础 配 置 为 各 种 流 行 的 设 备 类 别 预 置 的 可 操 作 系 统 基 础 平 台, 为 自 定 义 操 作 系 统 的 创 建 提 供 了 一 个 起 点 开 发 人 员 可 以 很 容 易 地 定 制 并 编 译 出 一 个 具 备 最 基 本 功 能 的 操 作 系 统 然 后 再 在 其 上 做 后 续 的 修 改 特 性 目 录 (Catalog) 操 作 系 统 可 选 特 性 均 在 特 性 目 录 (Catalog) 中 列 出, 开 发 人 员 可 以 选 择 相 应 的 特 性 来 定 制 操 作 系 统 67
Platform Builder 的 主 要 特 性 ( 续 ) 自 动 化 的 依 赖 性 检 查 特 性 (Feature) 之 间 的 依 赖 关 系 是 系 统 自 动 维 护 的 开 发 人 员 在 选 择 一 个 特 性 时, 系 统 会 自 动 将 这 一 特 性 所 依 赖 的 特 性 加 上 ; 反 之, 当 删 除 一 个 特 性 时, 系 统 会 自 动 检 测 是 否 已 经 选 择 了 依 赖 于 它 之 上 的 其 它 特 性, 如 果 有, 系 统 会 给 出 提 示, 通 知 开 发 人 员 这 一 特 性 现 在 不 能 删 除 系 统 为 驱 动 程 序 开 发 提 供 了 基 本 的 测 试 工 具 集 Windows CE Test Kit( 测 试 工 具 包 ). 内 核 调 试 器 可 以 对 自 定 义 的 操 作 系 统 映 像 进 行 调 试, 并 且 向 用 户 提 供 有 关 映 像 性 能 的 信 息 68
Platform Builder 的 主 要 特 性 ( 续 ) 导 出 SDK 向 导 (Export SDK Wizard) 使 用 户 可 以 导 出 一 个 自 定 义 的 软 件 开 发 工 具 包 (SDK) 即 可 以 将 客 户 定 制 的 SDK 导 出 到 特 定 的 开 发 环 境 中 ( 如 EVC) 去 这 样 开 发 人 员 就 可 以 使 用 特 定 的 SDK 写 出 符 合 特 定 的 操 作 系 统 平 台 要 求 的 应 用 程 序 远 程 工 具 可 以 执 行 同 基 于 Windows CE 的 目 标 设 备 有 关 的 各 种 调 试 任 务 和 信 息 收 集 任 务 69
Platform Builder 的 主 要 特 性 ( 续 ) 仿 真 器 (Emulator) 通 过 硬 件 仿 真 加 速 和 简 化 了 系 统 的 开 发, 使 用 户 可 以 在 开 发 工 作 站 上 对 平 台 和 应 用 程 序 进 行 测 试, 大 大 简 化 了 系 统 开 发 流 程, 缩 短 了 开 发 时 间 应 用 程 序 调 试 器 可 以 在 自 定 义 的 操 作 系 统 映 像 上 对 应 用 程 序 进 行 调 试 提 供 了 对.NET 平 台 精 简 框 架 的 支 持 70
Platform Builder 概 况 Windows CE 一 般 应 用 于 特 定 的 嵌 入 式 系 统 中, 在 许 多 情 况 下, 不 但 需 要 向 目 标 平 台 添 加 基 本 的 操 作 系 统 特 性, 以 使 它 能 够 完 成 基 本 的 控 制 任 务, 另 外, 还 要 向 目 标 平 台 中 加 入 外 部 设 备 的 驱 动 程 序 和 一 些 附 加 的 设 置 对 于 一 些 通 用 性 较 强 的 嵌 入 式 系 统, 如 PDA 机 顶 盒 智 能 电 话 等, 微 软 为 其 特 别 定 制 了 专 用 的 操 作 系 统, 如 SmartPhone PocketPC 等 开 发 者 可 以 利 用 这 些 特 定 的 操 作 系 统, 并 在 此 基 础 上 进 行 调 整, 从 而 更 快 地 定 制 出 适 合 需 要 的 目 标 操 作 系 统 平 台 深 刻 理 解 Windows CE 的 重 要 组 件 及 系 统 提 供 的 可 选 特 性, 并 灵 活 运 用 Platform Builder 的 配 置 文 件.REG.BIB.DAT.DB 是 定 制 适 合 目 标 平 台 的 WindowsCE 操 作 系 统 的 关 键 71
当 前 位 置 基 本 概 念 回 顾 微 软 的 嵌 入 式 平 台 WinCE 系 统 定 制 WinCE 应 用 开 发 72
WinCE 应 用 开 发 WinCE 开 发 工 具 Embedded Visual C++ Embedded Visual Basic Visual Studio.NET 一 般 应 用 开 发 步 骤 73
Embedded Visual C++ 支 持 Win CE App / DLL / COM / Lib using Win32 API, MFC, ATL and STL 与 Visual C++ 6.0 具 有 相 似 的 工 程 管 理 模 式 和 用 户 界 面 易 于 调 试 和 测 试 必 须 安 装 相 应 的 为 特 定 平 台 开 发 的 SDK, 从 而 开 发 相 应 的 应 用 程 序 74
Visual Studio.NET 开 发 Windows CE App / Assembly using.net compact framework 可 使 用 C#, VB.NET, J#... VS.NET 具 有 完 整 的 开 发 环 境 目 标 平 台 上 需 要 安 装.NET compact framework 易 于 调 试 和 测 试 75
应 用 程 序 开 发 选 择 Platform Builder Visual Studio 2005 C or C++ C or C++ C# or VB.NET Win32 Applications Win32 Applications.NET Compact Framework 2.x Windows CE Operating System 76
相 关 技 术 ---- 有 哪 些 选 择? Win32 Microsoft Foundation Class (MFC).NET Compact Framework.NET Micro Framework (2007 年 2 月 12 日 发 布, 简 介 见 下 ) 77
.NET Micro Framework.NET MF 是 专 门 用 于 处 理 能 力 和 存 储 能 力 都 更 加 有 限 的 设 备 两 者 重 要 的 一 个 区 别 在 于,.NET CF 需 要 有 Windows CE 系 列 OS 的 支 持 才 能 得 以 运 作, 而.NET MF 则 提 供 了 一 个 可 引 导 的 运 行 时 环 境.NET MF 的 定 位 是 面 向 民 用 低 成 本 嵌 入 式 市 场 参 考 :http://msdn2.microsoft.com/en-us/embedded/bb278106.aspx 78
.NET Micro Framework 此 图 是 03 年 的 新 闻 图 片, 传 闻 Gates 腕 上 的 SmartWatch 中 安 装 的, 就 是.NET MF 的 原 型 79
.NET Micro Framework 开 发 平 台 :VS2005 及 更 新 其 SDK 集 成 到 Visual Studio 环 境, 支 持 C# 开 发 ; SDK 自 带 可 扩 展 的 模 拟 器 支 持 的 CPU:ARM; 最 小 256K RAM 和 512K Flash/ROM 80
.NET Micro Framework NET MF 技 术 架 构 相 对 于.NET Framework,.NET MF 多 出 了 CLR 之 下 的 PAL( 平 台 适 配 层, Platform Adaptation Layer) 和 HAL( 硬 件 适 配 层,Hardware Adaptation Layer, 这 两 层 使 得.NET MF 可 以 直 接 运 行 在 硬 件 上, 并 提 供 基 本 的 Timer IO 和 内 存 管 理 等 功 能 而 HAL 也 可 以 通 过 OS 代 替, 在 硬 件 资 源 相 对 充 裕 的 情 况 下, 这 可 以 降 低.NET MF 的 设 计 复 杂 度, 并 提 供 更 多 功 能 81
几 种 平 台 的 区 别 Example Devices.NET Micro Framework Windows CE Windows XPe Sensor Nodes, Aux displays, Health Monitoring, Remote Controls, Robotics GPS Handhelds, PDAs, Automotive, Set Top Boxes Thin Clients, ATMs, Kiosks Device Features Footprint Connected, Small, Wearable, Graphical UI 250-500KB managed code Full featured Connected, Graphical UI, Server, Browser, RAS, DirectX 300KB+ without managed code 12MB with managed code PCclass performance, PC networking 40MB + Depending on features Power Very low power Low power Mains power CPU ARM7, ARM9, No MMU X86, MIPS, SH4, ARM, with MMU Real-time Not Real-time Hard Real-time Real-time capable through 3rd party extensions Managed vs. Native Code 82 Managed via.net Micro Framework, native code through interop only. Supports both, managed code requires.net Compact Framework X86 Supports both, managed code requires.net Framework
如 何 选 择 如 何 选 择 项 目 Win 32 MFC.NET Compact Framework 运 行 时 体 积 无 400K 1.3MB 开 发 效 率 低 中 高 运 行 效 率 高 中 低 可 执 行 文 件 跨 硬 件 平 台 运 行 不 能 不 能 能 编 写 驱 动 程 序 能 理 论 上 能 不 能 编 程 语 言 C / C++ C++ 83
如 何 选 择 确 定 使 用 何 种 模 式 取 决 于 你 是 否 使 用 了 Win32/MFC/C# /VB 来 开 发 程 序, 以 及 系 统 对 操 作 系 统 镜 像 大 小 的 要 求, 同 时 还 要 考 虑 其 他 因 素, 如 应 用 程 序 开 发 速 度 以 及 系 统 的 可 靠 性 和 兼 容 性 等 你 可 以 根 据 项 目 的 工 作 层 来 整 合 和 匹 配 代 码, 如 工 作 在 : 驱 动 中 的 Win32,Win32,MFC 或 者 终 端 用 户 程 序 的 C#/VB, 开 发 人 员 可 以 充 分 利 用 他 们 在 桌 面 windows 下 的 开 发 经 验 来 快 速 开 发 Windows CE 产 品 84
一 般 的 应 用 开 发 步 骤 : 1. 获 得 特 定 Windows CE 平 台 的 SDK. 2. 在 VS 下 调 试 代 码. 3. 编 译 运 行 程 序, 如 果 需 要 在 设 备 上 调 试 程 序, 可 以 通 过 ActiveSync. 85
第 一 步 : 获 得 SDK SDK 是 用 于 在 Visual Studio 下 开 发 应 用 程 序 的 获 得 SDK 的 两 种 方 法 微 软 或 第 三 方 提 供 为 自 己 的 平 台 导 出 SDK Microsoft 提 供 : Standard SDK (Common SDK dev) Windows Mobile SDK (Pocket PC ) 86
PB 下 的 SDK 向 导 它 是 一 个 工 具, 用 来 产 生 和 导 出 特 定 平 台 的 SDK(software development kit ) 被 导 出 的 SDK 由 头 文 件 库 文 件 运 行 文 件 平 台 的 外 延 和 帮 助 文 件 等 组 成 应 用 程 序 开 发 人 员 可 以 利 用 这 个 SDK 去 关 联 Microsoft Visual Studio.NET, 为 特 定 平 台 开 发 应 用 只 在 Standard SDK 不 能 满 足 需 求 时 才 使 用 自 己 的 导 出 SDK 87
PB SDK 和 开 发 工 具 间 的 关 系 图 88
第 二 步 : 在 VS 下 编 程 和 调 试 取 决 于 你 的 Windows Programming 知 识 89
思 考 题 列 出 您 家 中 可 以 找 到 的 嵌 入 式 设 备 前 不 久 新 发 布 了 一 款 速 度 超 快 的 处 理 器 在 新 的 嵌 入 式 设 计 选 择 使 用 该 处 理 器 之 前, 应 仔 细 考 虑 其 他 哪 些 因 素? 90