ip2000网络终端系统方案概要设计(编辑修改稿)内容摘要:
的兼容接口 设计 ,大大方便了许多基于 X Window 的应用程 序的移植 和代码复用。 采用 GUI 上下文共享的方法 通常在单任务 GUI 基础上开发图形界面应用有如下图左边的系统流程, 应用程序通过调用 GUI的 API实现相应功能,而这些函数有自己的上下文,并且这些上下文主要是通过数据空间的形式( data amp。 BSS)来保持的。 由于消息系统的同步功能,如果在同一进程中创建并使用多个窗口,也不会造成 GUI的冲突。 例如,可以在一个进程中构造记事本和计算器,两个窗口都可以正常地运行,因为任一时刻只有一个窗口接受消息队列的消息分发并处理(使用或改变 GUI 上 下文 ) —— 这种同步是由消息系统来保证的。 假如把 GUI使用的上下文和应用其它部分的上下文分开,一个应用完全是可以正常运行的。 如果把这种方法应用到多任务的系统,如果各个任务独有自己的 GUI上下文,则不能解决一些系统公共的设备例如鼠标、键盘、输入法等事件的检测、转换、分派以及系统庞大等许多问题(在C/S 结构中是由 Sever 来完成这个工作的)。 由此只能在各个任务之间共享 GUI 上下文,同步访问的方法来实现多任务,但在这种方法下,可能出现上图右部的状况,两个应用的 GUI API接口函数会不可预知地改写 GUI的上下文,会 造成严重冲突,为了避免这种情况,通过OS 的锁机制来实现在不同进程间实现同步地访问 GUI 上下文,则可实现不同进程有秩序地协同作,达到多任务的目的,通常通过采用了嵌入式 Linux中常用的一些工具,包括 ld脚本、 ld、 nm、 objcopy、 awk、 objdump等把 ELF文件各部分抽取出来、并重新定位,用共享内存函数把指定的内存映射到固定的地址的方法,把 抽取 的 GUI上下文装载到固定位置 的方法来实现共享。 共享 GUI上下文的各进程运行时结构如下图所示: share data amp。 bssdata amp。 bsscodestatckDATA amp。 BSSCODESHARE DATA amp。 BSSshare data amp。 bssdata amp。 bsscodestatck进程1进程NSTACKSTATCKDATA amp。 BSS进程私有空间 进程虚拟空间 进程共享空间其中 share data amp。 BSS就是 GUI的上下文。 采用这种方法来设计 GUI 多任务支持的有博利思公司为我们公司 IP1000 多任务版网络终端设计 GUI,该 GUI 是在 Microwindows 的基础上改进后的设计,事实上,这种设计方法也是借鉴了 MiniGUILite版本的一些技术,用一个主进程作为虚拟 Sever处理所有的外部事件,完成消息转换后完成消息的分发并完成窗口维护和管理,同时负责用户进程的启动(用 fork的方式复制子进程,因而主进程和所有用户进程之间皆为父子关系,各用户进程之间则互为兄弟进程),各 用户进程则接受并完成消息处理。 主进程和用户进程通过共享内存的方式来实现 GUI上下文共享和通讯,并且采用主进程附加调度的方式:在 LINUX 内核进程调度的基础上再建立应用调度,任意时刻只让其中一个用户进程运行( Running状态),其他用户进程则让其进入 Sleepon状态,主进程并用消息分发的主动权采用消息驱动的机制完成各用户进程间的调度,并实现前后台时间片的主动分配,这种方法不仅可实现共享 GUI的访问冲突,同时也提高系统的效率――决不使空闲的用户进程占用宝贵的 CPU时间片资源,但这种方法的缺点也是显而易见的。 对于我们 GUI 的设计,我们进行了较长时间的预研,并对 Microwindows/Nanox 和MiniGUI 的多任务机制进行了较为详细的剖析,觉得两者实现多任务的 C/S 结构对于我们的arm7500 硬件平台并不适合,由于 C/S 结构系统效率较低,在我们这种硬件平台资源的基础上,性能远远不能达到我们的功能需求,鉴如此,我们决定在 IP1000 多任务版本 GUI 的基础上, 开发 IP2020 的 GUI,主要是完善在 IP1000 开发过程中已发现的缺陷,并增加如下功能的支持: 对 Microwindows 桌面和窗口管理进行完 善,使整个桌面和窗口管理 与windows 风格 更加类似,从而为 IP2020 设计出更好的人机界面 :多窗口操作,图标的拖动,窗口最大、最小化操作等 参照 MiniGUI 改进 Microwindows 图形引擎的一些算法,提高 GUI 的效率 增加业务窗口下拉菜单的支持(参考 MiniGUI 菜单组件设计) 增加 国际标准化汉字系统:支持 16x16(大字符集) 、 24x24 汉字库( GB2312) 多种汉字字体 字符显示驱动增加 16 色支持 寻找替代单消息队列共享的进程间通讯机制,避免某个用户进程崩溃导致整个系统崩溃。 仿真设计 设计目 标 降低模块间的耦合关系 减少中间层 方便各个平台的移植 设计方法 将 IP1000 的仿真程序进行整合,按模块封装成 API。 针对几个关键点进行技术改进,争取最大程度地发挥系统和硬件平台的优点。 在纵向的层次上只有相邻的两层有调用和被调用的关系,相同的层次可以调用和被调用。 仿真结构设计 全局模块、命令分析模块 键盘模块 显示模块 打印模块 外设模块 通讯模块 自检模块 键盘仿真driver 显示仿真driver 打印仿真driver 外设仿真driver 通讯仿真driver 自检仿真driver NVR 操作 键盘 API 显示 API 打印 API 串口 API 网络 API NVR API 中文输入法 模块说明 1)、仿真全局模块,包括: 初始化 Gblint 的数据 仿真层 仿真 driver 层 microwin 改变汉字通讯码的显示拼字入口 设置输入 /输出入口 (将终端仿真软件从功能上分为输入、输出两大部分 ) 复位通用命令分析器 根据参数初始化串口 恢复、保存、缺省 NVR 参数 2)、命令分析 使用有限状态自动机来解析命令序列。 3)、键盘模块 仿真上层: 处理控制码 (ESC、 CAN、 BS、 CR、 XON、 XOFF) 处理 ASCII 码 处理本地功能键 处理用户自定义序列键 处理缺省功能键 汉字译码并发送 仿真 driver 层: 将系统发来的键盘消息 WM_KEYDOWN、。ip2000网络终端系统方案概要设计(编辑修改稿)
相关推荐
理选用功放设备(包括阔音、低音、高音设备),实现宽音域、低失真; ◇ 根据室外屏的实际情况,合理选用分频专业音箱,具有高频补偿功能,能产生丰满、细致的音响效果 ; : 对安全保护功能做如下约定,包括但不限于: 第 页 共 11 页 深圳虹视奇电子有限公司 刘经理 15817443596 6 ◇ 防酸碱腐蚀、防氧化;防水、防潮、防尘;防电磁干扰、 防雷电、防台风、防静电;有良好的接地; ◇
................................................................ 1 一、聚酯链行业产业链分析 ...............................................................................................1 二、聚酯链行业在国民经济地位分析 .....
R)和卤盐( Halons)的产品 1 分;( 5)计量和核准 1分;( 6)绿色电能 1分。 材料和资源( 13 分) 得分点:( 1)旧建筑的更新 1~ 3分:( 2)施工废物管理 1~ 2分;( 3)资源再利用 1~ 2 分;( 4)可循环利用的材料 1~ 2 分;( 5)就地取材 1~ 2分;( 6)可快速再生的材料 1 分;( 7)使用经过认证的木材 1 分。 室内环境质量( 15
............................................................... 9 XXXSPPPQAT05/ 内部资料,注意保密 4 1 引言 编写目的 xxx 系统已经通过客户验收,为使项目利益相关人在项目结项时了解项目过程和产品质量检查的具体情况,特编写此报告。 范围 本文档主要包括项目过程与产品质量 检查情况、项目 NC 报告情况
ISDTSPPPT01/ 内部资料, 注意保密 第 7 页 共 24 页 项目技术文档 技术文档交付清单 序号 文档名称 备注 1 XXX项目计划书 电子 2 XXX软件需求规格说明书 电子 3 XXX概要设计说明书 电子 4 XXX单元测 试计划 电子 5 XXX单元测试用例 电子 6 XXX单元测试报告 电子 7 XXX集成测试计划 电子 8 XXX集成测试用例 电子 9 XXX集成测试报告
...................................................... 26 8 开工、延误和暂停 ................................................................................................... 27 工程的开工 .....................