
一个基于QtEmbedded应用程序集成桌面的设计与实现.pdf
4页微 电 子 学 与 计 算 机!""!年 第 !" 卷 第 # 期收 稿 日 期 # !""$$%"$"&基 金 项 目 % 江 苏 高 校 高 新 技 术 产 业 发 展 项 目 !’(&)*&+""江 苏 省 计 算 机 信 息 处 理 技 术 重 点 实 验 室 开 放 课题 资 助 !,’-&.&/)"! 引 言随 着 面 向 信 息 处 理 的 嵌 入 式 设 备 不 断 发 展 #嵌入 式 产 品 中 的 应 用 程 序 逐 渐 增 多 #随 之 功 能 也 不 断强 大 $ 在 嵌 入 式 操 作 系 统 方 面 出 现 了 0123 4- 和56789:; 67?@ 以 其 开 放 源 码 %容 易 定 制和 扩 展 %多 硬 件 平 台 支 持 和 内 置 网 络 功 能 等 优 良 秉性 #逐 渐 成 为 嵌 入 式 系 统 的 研 究 热 点 和 广 泛 使 用 的系 统 平 台 $ 嵌 入 式 设 备 系 统 中 有 许 多 针 对 设 备 特 定功 能 的 应 用 程 序 #为 了 在 一 个 设 备 中 让 用 户 协 调 地操 作 各 个 应 用 程 序 #很 好 地 处 理 这 些 应 用 程 序 与 底层 驱 动 以 及 应 用 程 序 之 间 的 通 信 #就 需 要 一 个 机 制来 整 体 地 管 理 这 些 应 用 程 序 # 比 如 AB922CDEF 的GC9H61 集 成 环 境I%J#在 高 端 的 信 息 处 理 型 嵌 入 式 设备 中 就 有 很 好 的 应 用 $我 们 的 开 发 设 计 平 台 是 基 于 -.67?@ 操 作 系 统 # 应 用 程 序 是 基 于GCR=3LD88D8 的 窗 口 程 序 # 在 设 备 上 实 现 了 如 地 址簿 #网 页 浏 览 器 #拨 号 程 序 #电 子 邮 件 等 应 用 程 序 $由 于 应 用 程 序 很 多 #就 必 须 提 供 一 个 统 一 的 界 面 让用 户 操 作 #本 文 要 实 现 的 就 是 这 样 一 个 应 用 程 序 的集 成 桌 面 # 它 必 须 包 括 对 应 用 程 序 的 窗 口 管 理 #应用 程 序 与 驱 动 程 序 以 及 应 用 程 序 之 间 的 通 信 和 数据 传 输 $" 桌 面 的 设 计在 >67?@ 中 的 窗 口 系 统 是 基 于 客 户 机 R服 务 器模 式 的 S 56789: 系 统 # 该 模 式 满 足 了 S 环 境 设 计者 的 一 个 目 标 #即 完 全 可 扩 展 性ITJ$ 服 务 器 也 称 作 S-DBPDB#管 理 所 有 可 用 于 显 示 器 的 资 源 #所 有 的 窗 口绘 制 #窗 口 裁 剪 都 是 通 过 S -DBPDB 来 完 成 的 $ 客 户机 也 称 作 S W G617OU SXN ’?7&2?17U GXNY 0D6&8DU ZNY[ ’6&:D7!-EF992 9\ 1L 9\ &20;2’A@&336;2+ ;%+4+&B ,, 488C;@4+;A2 3+4+13*D;3+E*F%F;20AGH 4CCF;23B ,, 4CC G;20AG3 /&CA2 ?@.56= )3%%&’(&’>>8&9.:;’/5"B?8&9.:;’/>367/:1,(&7* 中 的 某 个 状态 $! 一 旦 有 窗 口 发 生 状 态 的 变 化 就 会 进 入 处 理 函数 !该 处 理 发 生 在 图 O 的 "和 #的 连 接 处 !在 处 理函 数 中 我 们 关 注 的 是 当 )3%%&’(&’>>367/:1,(&7*参 数 为 )3%%&’(&’>>P&2*’:9 时 ! 即 当 有 某 个 窗 口 被销 毁 关 闭 时 !判 别 该 窗 口 是 否 是 对 应 的 应 用 程 序 的最 后 一 个 窗 口 !如 果 是 则 意 味 着 整 个 应 用 程 序 的 关闭 !那 么 就 要 相 应 地 设 置 该 程 序 的 参 数 !比 如 将 该程 序 的 运 行 状 态 改 为 未 运 行 等 !这 样 就 对 窗 口 的 关闭 处 理 完 毕 &!"$ 窗 口 调 度 的 时 机经 过 上 面 截 键 !窗 口 显 示 和 窗 口 关 闭 的 三 步 处理 !窗 口 管 理 的 主 体 部 分 就 完 成 了 !在 整 个 系 统 中有 三 种 情 况 需 要 涉 及 到 窗 口 管 理 调 度 !第 一 种 情 况下 是 用 户 显 式 地 按 键 盘 ! 想 调 度 出 某 个 应 用 程 序 !这 时 会 涉 及 到 窗 口 调 度 !显 示 出 窗 口 )第 二 种 情 况是 当 底 层 的 硬 件 设 备 的 状 态 改 变 时 !需 要 显 示 出 与其 状 态 变 化 相 对 的 某 个 应 用 程 序 的 窗 口 ! 比 如 !当用 户 拿 起 话 筒 时 !底 层 的 Q;/ 设 备 的 状 态 产 生 了 变化 !用 户 这 时 极 有 可 能 要 打 电 话 !所 以 在 显 示 界 面上 要 变 成 P6;5&’(拨 号 程 序 $的 界 面 !这 时 在 Q;/ 驱动 中 用 L;7/5&2=;7=:/&R K内 核 函 数 模 拟 用 户 按 键 !发送 该 应 用 程 序 (P6;5&’$的 快 捷 键 !此 时 在 键 盘 钩 子函 数 中 也 会 捕 获 到 该 模 拟 按 键 !从 而 调 度 出 需 要 的应 用 程 序 ) 第 三 种 情 况 是 在 用 户 操 作 应 用 程 序 时 !可 能 会 需 要 调 出 另 外 的 应 用 程 序 !这 时 也 涉 及 窗 口调 度 !但 是 在 这 种 情 况 下 是 通 过 应 用 程 序 与 $ %&’(#&’ 的 管 道 通 信 来 告 诉 $ %&’(&’ 需 要 调 度 出 什 么 应#S微 电 子 学 与 计 算 机 !""!年 第 !" 卷 第 # 期微 电 子 学 与 计 算 机用 程 序 !相 互 之 间 有 通 信 协 议 "#这 时 $ %&’(&’ 端 的窗 口 管 理 部 分 就 直 接 调 用 键 盘 钩 子 处 理 函 数 #参 数就 是 要 调 度 出 的 某 个 应 用 程 序 的 快 捷 键 键 值 #比 如当 用 户 在 用 图 象 浏 览 器 看 一 幅 图 象 时 #要 将 这 幅 图象 用 )*+,- 发 出 去 # 这 时 就 需 要 调 度 出 )*+,- 程 序窗 口 # 那 么 浏 览 器 程 序 先 和 $ %&’(&’ 程 序 通 信 #然后 $ %&’(&’ 再 调 度 出 )*+,- 程 序 # 所 以 三 种 情 况 最终 都 归 结 到 键 盘 钩 子 中 的 窗 口 管 理 程 序 $! 应 用 程 序 与 底 层 驱 动 程 序 的 通 信在 嵌 入 式 开 发 中 #系 统 中 有 很 多 适 用 于 具 体 功能 的 设 备 #比 如 本 系 统 中 的 .+/ 设 备 #上 层 应 用 程序 与 它 必 然 有 很 多 数 据 要 交 换 #这 时 就 涉 及 到 两 者之 间 的 通 信 问 题 $ 在 一 般 情 况 下 驱 动 程 序 处 于 内 核层 #而 应 用 程 序 处 于 用 户 层 #所 以 比 较 传 统 的 做 法是 信 号 通 信 #共 享 内 存 等 $ 由 于 在 本 系 统 中 通 信 量较 大 #相 互 之 间 的 关 系 错 综 复 杂 #所 以 决 定 采 用 分层 通 信 的 方 法 #即 在 图 0 中 所 分 的 四 层 中 #每 一 层就 只 与 其 相 邻 层 发 生 通 信 #这 样 做 系 统 结 构 就 比 较清 晰 #而 且 比 较 容 易 维 护 和 修 改 #具 体 的 通 信 示 意图 如 图 1$程 序 本 身 的 ,234’- 函 数 来 传 递516#而 如 果 是驱 动 程 序 要 将 数 据 传 送 给 上 层 应 用 程 序 #那 么 传 统的 方 法 是 经 过 !"## 即 先 将 数 据 填 入 共 享 内 存 #然 后 发 送 %,7 信 号 给 特 定 的 应 用 程 序 # 当 应 用 程 序接 受 到 信 号 后 #就 到 与 驱 动 程 序 约 定 好 的 地 址 空 间取 得 数 据 $ 在 本 系 统 中 并 不 采 用 直 接 通 信 的 方 法 #而 是 所 有 通 信 都 要 经 过 $8%&’(&’ 层 中 转 #即 为 !$%##在 驱 动 程 序 与 $ %&’(&’ 之 间 约 定 了 一 系 列 的协 议 #驱 动 程 序 利 用 9+:/-&;3+:32/&32?@9+::&- 类 !是 对A,:BC 中 管 道 的 封 装5!6"#首 先 在 应 用 程 序 端 建 立 管道 服 务 器 等 待 接 受 信 号 # 使 用 >32?@9+::&- 类 中 的成 员 函 数 (2,/ ’&3&,(&!32:;4 >@%4’,:7 D *;7E 32:;4>FG4&H’’+G D /+4+"#其 中 *;7 是 与 应 用 程 序 的 通 信协 议 #/+4+ 是 可 以 附 带 传 送 的 数 据 #当 应 用 程 序 接 受到 管 道 信 号 时 # 再 从 共 享 内 存 中 取 出 所 需 要 的 数据 #完 成 整 个 通 信 过 程 #这 种 通 信 模 式 有 以 下 几 点好 处 %& 避 免 了 由 于 驱 动 程 序 向 上 层 应 用 程 序 传 送数 据 频 繁 #信 号 资 源 不 足 #而 且 在 内 核 空 间 要 查 找出 一 个 应 用 程 序 的 I,/ 号 效 率 不 高 的 问 题 $’ 因 为 每 一 层 程 序 只 与 其 相 邻 层 程 序 通 信 #维护 与 修 改 相 对 简 单 $( 减 少 了 由 于 系 统 空 间 与 应 用 空 间 过 多 的 交互 而 出 现 系 统 崩 溃 的 可 能 性 $" 结 束 语当 前 嵌 入 式 产 品 正 向 着 功 能 强 大 # 操 作 简 单 #体 积 小 等 方 向 发 展 #随 着 功 能 的 不 断 强 大 #提 供 给用 户 一 个 方 便 易 用 的 应 用 程 序 集 成 环 境 将 是 至 关重 要 的 $ 本 文 介 绍 了 一 个 在 A,:BC 下 基 于 >4J)*#K&//&/ 的 集 成 桌 面 在 嵌 入 式 设 备 中 的 实 现 #阐 述 了基 于 图 形 界 面 的 嵌 入 式 设 备 的 系 统 层 次 结 构 #突 出了 $ %&’(&’ 层 的 重 要 作 用 #以 及 怎 样 将 应 用 程 序 窗口 管 理 和 $ %&’(&’ 程 序 有 机 结 合 起 来 #协 调 处 理 上下 层 程 序 间 的 通 信 和 数 据 传 输 $ 虽 然 本 文 所 介 绍 的窗 口 管 理 只 在 特 定 设 备 上 实 现 #但 其 通 用 的 设 计 理念 对 信 息 处 理 型 的 嵌 入 设 备 将 很 有 示 范 意 义 $参 考 文 献506 944?LJJMMMN4’2--4&39N32*J?’2/B34;JO42?,+J,:/&CN94*-5"6 %P@"10Q$ R%)S&% THURHAN 944?L JJ MMMN;+*;B:7;&*,N32*E "PN "N5P6 V S2K&’4 F’2M:5美 6著 N 戴 英 E 王 辉 E 崔 宝 琛 等 译 N 深 入 学习 L $ W,:/2M 编 程 技 术 5T6N 北 京 L 电 子 工 业 出 版 社 E"0N PN516 H-&;;+:/’2 SBK,:,E V2:+49+:。












