空心雨毕业论文网提供毕业论文、职称论文、硕士论文、计算机论文等的代写服务,同时还提供各种期刊论文的发表。如果你有需要,请联系我们QQ:5599630;电话:13350726595;E-mail:singlehearted@vip.qq.com
RSS
 
当前位置 :空心雨毕业论文网 >> 工学论文 >> 电子机械 >> 正文

PPSM嵌入式RTOS中的窗口系统开发

来源:网络转载 作者:okxy168.com 时间:2008-01-10 浏览:1 字体:【

摘要:PPSM是Motorola为M68K系列提供的实时嵌入式操作系统。本文介绍在PPSM嵌入式RTOS上开发窗口及控件系统的体系和方法。 关键词:PPSM EZ328 VZ328 M68K RTOS 实时嵌入式操作系统 窗口系统 控件在目前的中低档PDA中,很多厂商都采用Motorola M68K系列芯片。Motorola为其M68K CPU提供了一套免费的实时操作系统PPSM(Personal Portable System Manager)。但该系统中没有提供窗口系统。我们在实践中开发了一套窗口系统,如图1和图2所示。该系统为事件驱动方式,并有一系列控件支持。软件开发人员采用添加控件的方式构建所需的窗口,编写对控件和窗口事件的响应方式。下面介绍这套窗口系统的设计方案。1 PPSM系统简介(1)虚拟多任务方式PPSM系统中可以创建多个主任务,但只有一个主任务处于活动状态。每个主任务可以创建多个子任务。主任务和子任务均有唯一的TaskId。任务之间可以发送消息。接收消息的任务及其主任务可以取得CPU的控制权。

(2)触摸屏输入

PPSM系统采用了“活动区”的概念。“活动区”是用户设定的屏幕上的一个矩形区域,只有笔在这样的区域中的动作才能引起PPSM向活动任务发送消息。每个活动区均属于其创建的任务。换一种方式表达为:每个任务保存和管理一系列活动区,活动主任务的所有子任务的活动区均处于活动状态,后创建的活动区覆盖之前创建的活动区。

(3)图形界面支持

PPSM系统以一部分系统内存作为屏幕缓存。每个任务可以拥有自己独立的屏幕缓存,也可以共享一个屏幕缓存。屏幕缓存的尺寸可以与实际的屏幕大小不同。系统显示活动任务的屏幕缓存中的图像。每个主任务拥有自己独立的屏幕缓存,可以使主任务切换时迅速切换屏幕;而各主任务共享一个屏幕缓存可以节约内存空间,同时,应用程序还可以创建独立于任务的屏幕缓存。它具有与屏幕缓存同样的结构,但不能直接输出到屏幕上。用户可设置当前的屏幕缓存。PPSM提供了一组GUI函数,用于在当前的屏幕缓存中作图。

(4)事件驱动

PPSM采用中断方式处理各类事件,如时钟、UART输入/输出、笔输入等。各种事件均向活动任务发送消息。各任务(主任务或子任务)均有各自的消息队列。各任务从其消息队列中取得并处理消息。2 窗口的基本任务及界面系统的总体考虑

由于PPSM提供了灵活的屏幕缓存操作方式,开发的系统可能会因各应用程序采用了不同的屏幕缓存方式而冲突,并且难以协调。我们开发PPSM系统上的窗口系统,就是为了使其应用程序界面开发变得容易而快速,使编程人员的精力集中在应用程序本身的功能上,提高开发的效率和可靠性。

(1)关于界面绘制、切换、恢复的考虑

由于本窗口系统的目标是基于Motorola EZ/VZ328的便携设备,其特点是内存较小、LCD屏幕较小、CPU速度和屏幕刷新速度均较慢;而窗口系统则要求刷新速度快,占有内存小。通过分析系统特点,较小的LCD屏幕上,一般很少要求子窗口之间的切换,因而本窗口系统中,子窗口不能切换。换言之,子窗口均为有模式的,只有关闭上层子窗口,才能显示下一层的窗口。下一层的窗口被上层子窗口覆盖的部分可以由上层子窗口保存并恢复,或由下一层的窗口自己重画。前一种恢复方式虽然节约内存,但速度较慢,而且如果被最顶层窗口覆盖的窗口只有一个,则每个窗口均需按顺序重画。这在速度较慢的CPU上是不能容忍的,因而我们采用了后一种保存并恢复窗口覆盖区域的方式。一个应用程序(主任务)拥有一个主窗口。主窗口之间的切换等同于应用程序的切换。如果以重画的方式恢复一个主窗口,意味着该主窗口连同其所有子窗口必须依次重画,这样的刷新速度是不能满足要求的。PPSM提供了这样一种能力:如果主任务具有自己的屏幕缓存,在任务切换时,屏幕自动切换。因而我们采用这种方式。应用程序具有自己的屏幕缓存,而各窗口均在该缓存上绘出。每个应用程序均保存了一屏自己的窗口图形,当切换时,自动恢复。由于消息只由最顶层窗口处理,见(3)消息的处理部分,因而,在我们的窗口系统中不存在下层窗口界面绘制问题;同时,在小的屏幕上,实现窗口的移动和缩放并无太大的实用性,因而我们也不实现窗口的这些功能。另外有一类比较特殊的窗口,即POPUP属性的窗口。这类窗口主要应用于菜单和提示窗口,特点是:单击窗口之外的区域将自动关闭该窗口。我们的处理方法是在这类窗口显示时,设定一个全屏的活动区,以取得窗口外区域的笔输入;再设定一个窗口区域的活动区覆盖在全屏的活动区之上,以将窗口区域排除在点击自动关闭的区域之外。

阅读更多内容1 · 2 · 3 · 下一页>>
最新评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
      本站是由一个众多学科的博士群体组建而成,主要创办者为成都各重点高校博士。本论文网内理工科写手均为博士,文科类写手大部分为博士,且领域涵盖广泛,写作势力强大,若有部分专业,没有相关的写手,我们给你寻找合适的写手! 依托强大的人力资源,我们本着诚心交流的宗旨,专门为您排解写作上的难题。从在科研及实践工作中稳扎稳打的经历,我们具备了研究问题,解决问题的能力。论文写作和论文发表,作为教育体系的一个重要环节,我们确实有能力给您解决好问题,正所谓,真金不怕火来炼,请相信我们的势力,没有把握的事,我们不会做!
      本站受多家期刊委托,其中包括国家级中文核心期刊目录正刊,CSSCI目录正刊,增刊,省级以上公开出版的优秀期刊正刊,本站负责论文推荐发表,加急1个月即可发表。本站负责论文发表,不发表承诺退款!!目前主要负责法律,管理,经济,理工,农学,行政,医学,艺术,英语等类论文发表论文代写。详细期刊目录见本站相关内容。
赞助商链接