045 基于Palm
OS的通讯系统样本
(样本只提供该系统的基本情况介绍,若需要完整的设计和论文,建议您购买本系统,凡是购买本站系统的,本站均根据您的要求,把系统上的开发信息,题目等修改成符合您的要求)
本系统开发工具:单片机/汇编
本设计包含内容:源代码+毕业论文+开题报告+答辩稿
论文大概:
目 录
1
绪论
1.1引言……………………………………………………………………………………..................
1.2 Palm
OS在嵌入式开发中的地位……………………………………………………………….
1.3 Palm
OS通讯系统的前景………………………………………………………………………
2 研究背景
2.1
Palm的硬件介绍…………………………………………………………………………………
2.2 Palm
OS操作系统特点…………………………………………………………………………..
2.3 Code
Worrior7.0概述……………………………………………………………………………
2.4 Palm
OS编程的基本概念……………………………………………………………………….
3 系统分析
3.1
“我的收支”程序需求分析……………………………………………………………………….
3.2
“我的收支”程序可行性分析…………………………………………………………………….
4 总体设计
4.1
软件流程…………………………………………………………………………………………
4.2
操作流程图……………………………………………………………………………………
4.3
内部模块设计图……………………………………………………………………………….
4.3.1
应用程序窗体事件处理模块…………………………………………………………
4.3.2主窗体事件处理模块…………………………………………………………………
4.3.3
数据库记录管理模块…………………………………………………………………
4.3.4
整体构成………………………………………………………………………………
5
详细设计和实现
5.1界面设计………………………………………………………………………………………
5.2
事件循环………………………………………………………………………………………
5.3模块设计………………………………………………………………………………………..
5.3.1
应用程序窗体事件处理器设计………………………………………………………
5.3.2
主窗体事件处理器设计………………………………………………………………..
5.3.3数据库管理设计………………………………………………………………………...
5.4
调试运行与安装……………………………………………………………………………….
6 实现同步通讯
6.1
同步的概念……………………………………………………………………………………..
6.2
与其他设备通讯的几种方式……………………………………………………………………
6.3
同步通讯操作…………………………………………………………………………………...
7
结束语…………………………………………………………………………………………………..
附录:Palm
OS软件设计术语……………………………………………………………………...
致谢………………………………………………………………………………………………..
参考文献………………………………………………………………………..…………………..
基于Palm
OS的通讯系统
摘要:掌上电脑是个全新的领域。后PC时代是嵌入式和网络化的时代,在PDA市场激烈竞争的今天,有关Palm OS
的研究、开发和应用也将随之推广。本课题是基于Palm
OS的软件开发和应用。即将计算机软件技术应用于小型移
动设备,着力开发一个小型通讯系统。
该文首先介绍了Palm
OS作为智能手机的操作系统的现状以及基于Palm OS通讯软件的前景;随后讲述基于Palm
OS开发的必需背景知识,包括Palm硬件,操作系统特点和开发工具介绍;从第三章起开始介绍“我的收支”应用软件的设计。需求分析章节讲述了用户需求和软件基本功能定义。总体和详细设计是整个论文的主体,阐述了大部分设计过程。最后我们讲述了如何将我们的设计的软件与台式机同步通讯。
本课题实现的PDA通讯软件具有设计相对简单,但却能充分利用掌上电脑的有限资源达到方便实用的目的。
关键词:掌上电脑,Palm OS,Code Warrior,通讯系统,我的收支
1 The Communication System of Palm OS
Abstract:On
the palm the computer is a brand-new field. The latter PC time is
inserts type and the network time, in PDA market steep competition
today, related Palm OS research, development and application work
also along with it promotion. This topic is based on the Palm OS
application and the development, applies the computer software
technology to the small mobile equipment, wears the strength to
develop a small communication system.
The paper first introduced
Palm OS becomes the intelligent handset the operating system and
Palm the OS communication software foreground; Afterwards narrates
based on Palm the OS development essential background knowledge,
including Palm hardware, operating system characteristic and
development kit introduction; Starts my revenue and expenditure
application software design from the third chapter. The demand
analysis chapter narrated the user demand and the software basic
function. The overall and the detailed design are the entire paper
main body, elaborated the majority of designs process. How finally
did we narrate ours design software and the table model computer
synchronized communication.
This topic implementation PDA
communication software has the design to be relatively simple, but
actually can fully use on the palm the computer restricted resource
to achieve the convenience practical target.
Key
Words:Palm Computer ,Palm OS,Code Warrior ,Communication System,My
income
1 绪论
1.1 引言
2004年2月24日,下一代移动设备及智能手机操作系统Palm OS
的供应商PalmSource公司推出了迄今为止世界上功能最强的智能手机-----G88 Palm Powered(tm) GSM 。
该手机是最新一款全功能智能手机,使用嵌入式操作系统---Palm OS,它将传统的Palm OS PIM
功能与电话所需的性能特点集成于小巧而紧凑的外形结构之内。不仅如此,因为Palm OS
平台的设计基于开放式模块化架构之上,所以它允许用户及软件开发商为通讯领域、文化教育、企业应用及娱乐市场开发出不同的产品和解决方案,完全实现移动手机跟个人PC计算机的融合。
Palm OS是全球已售出的3,000多万台Palm
Powered™智能移动设备的基础平台,它以其强大功能、灵活特性、易于使用的用户界面闻名遐尔。强大的Palm OS
开发者社区拥有超过275,000名成员,是Palm Powered经济圈的核心组成部分,并且已经成为Palm
OS平台在全球手持设备及智能手机市场中获得成功的关键。Palm Powered 智能移动设备目前已经拥有超过20,000
种应用软件可供使用,用户可以根据自己的特殊需要进行专项设置并最终成为个人日常工作和生活中不可或缺的亲密伴侣。针对通信、企业、教育以及娱乐市场创新设备的产生而设计的全新增强版本的操作系统——Palm
OS Cobalt将大大加速Palm
Powered™的掌上电脑和智能手机的开发,Palmsource公司同时还发布了目前市场上最流行的PalmOS 5的升级版——Palm
OS Garnet。PalmOS Combalt和Palm OS Garnet这两种版本的操作系统在保持了Palm
Powered平台业界著名的灵活性的同时,又赋予了其新的功能。PalmOS
Cobalt为更多全新种类的智能移动设备以及解决方案的诞生铺平了道路。在Palm OS Cobalt和Palm OS
Garnet中添加的无线功能将赋予更多厂商推出更多种类智能和无线产品的能力。
可以说,基于Palm OS
平台的软件设计特别是通讯软件将是一片全新的领域。
1.2 Palm OS在嵌入式开发中的地位
目前国内嵌入式操作系统主要有两大类:Palm OS和Windows CE,国内以Windows
CE为主,但在国际市场上Palm完全占主导地位,(其原因是由于Palm在中国的投入力度不够,宣传和推广没落实。Palm公司已经意识到这个问题,正加快对国内市场的开发)。
Palm
0S平台是掌上电脑操作系统的开元鼻祖。早在1996年它就造成了全球掌上电脑市场的爆炸式增长,现在全球有57%的个人用户使用该平台,其用户数超过其他操作系统用户数的总和。今天,该平台已经成为全球2500万零上电脑和智能电话的基础平台,全球25万开发商基于PaIm
0S平台开发了1.5万多种应用,消费者自发组织的“Nm用户俱乐部”在全球超过160个。
随着Palm OS
Cobalt的推出,PalmSource公司扩展了在多媒体和通信领域的平台领导地位。加之Palm OS
Cobalt具有强大的安全框架,从而在商业和企业市场获得了更好的发展机会。新一代Palm将使用204MHZ的StrongARM
CPU,同时加入MP3解码专利,增强了多媒体功能。
Palm
OS是一个非常优秀的操作系统,在某种程度上比WinCE的性能更好,随着掌上设备的发展,移动应用软件将带动整个软件产业的发展。
1.3
Palm OS通讯系统的前景
Palm
OS软件库内容丰富,其设计初衷即为向通讯领域、企业应用、文化教育及娱乐市场提供种类多样的垂直解决方案,其中包括网络浏览器、电子邮件及互联网通讯软件、销售员工团队及业务实地自动化软件、个人效率管理、群件、财务管理软件及游戏软件等。
近几年有关PDA的技术飞速发展,这种手持设备集中了计算、电话、传真和网络等多种功能。它不仅可用来管理个人信息(如通讯录,计划等),更重要的是可以上网浏览,收发Email,发传真,甚至还可以当作手机来用。尤为重要的是,这些功能都可以通过无线方式实现。当然,并不是任何PDA都具备以上所有功能。即使具备,也可能由于缺乏相应的服务而不能实现。但可以预见,PDA发展的趋势和潮流就是计算、通信、网络、存储、娱乐、电子商务等多功能的融合。
2004年4月,随着英特尔发布了其XScale处理器家族的升级产品PXA270系列处理器,PDA市场非常火爆。采用Intel
Xscale PXA270处理器的奔迈Palm
Zire72中文版于2004年5月在我国上市,受到热烈欢迎。Zire72作为使用PXA270处理器的市面上第一款掌上电脑,享尽了该款处理器带来的种种好处,高达312MHZ的主频让Zire72反应迅捷流畅;专门为可拍照手持设备开发的Quik
Capture接口技术使得Zire72轻松拥有高达120万像素数码摄像、拍照功能;源于PC处理器的Wireless
MMX技术和其他多媒体图形加速技术使得Zire72具有与PC相似的多媒体能力,支持realone进行MP3播放,更让人津津乐道的是其支持AVI和MPEG的视频播放让您轻松拥有一部掌中影院。此外,起内置的电话拨号软件使你在任何时候只要插入一张手机卡即可轻松实现语音及视频电话(手机卡服务商提供视频服务的话)。其内置的web浏览器也可也使你畅游无线因特网,这一切都可以在手掌上发生。
从以上好消息可以看出,掌上电脑特别是跟智能手机融合的掌上电脑将给人们将来的生活带来翻天覆地的变化。掌上电脑、手机、数码相机、数码摄像机渐渐进入我们的生活,在Palm
OS 及其应用软件的帮助下,它们的界限将更加模糊。移动+宽带+多媒体将是IT最大的未来,不论是Palm,Win
CE还是其他手持移动设备,都让我们享受精彩的信息世界。
2 研究背景
2.1 Palm的硬件介绍
Palm与PC机的比较
项目 PC Palm
CPU Pentium III,IV….
AMD K7
series…. Motorola
68328,68EZ328
(DragonBall)
RAM SDRAM,DDRAM
32MB—1GMB以上 Flash
RAM
2MB---32MB
Hard
Disk 有 无
屏幕分辨率(像素) 640x480,800x600,1024x768… 160x160
处理速度(HZ) 1000M以上 16M或者20M
I/O 键盘,鼠标等 手写输入
电源 家用交流电源 电池
可移植性 无 有
待机时间 有限时间关机 永不关机
表2-1
由表2-1可知,Palm与PC有明显的差异。
2.2 Palm OS操作系统特点
Palm
OS操作系统是运行于一个多任务抢占型系统内核的顶端。一个任务用于产生用户界面,其它的任务处理用户输入等。
用户界面每次只允许一个应用软件运行。
其特点有:
⑴ 内存管理
内存是掌上设备中比较独特的部分。RAM随机存储器在Palm OS系统中别用于两个目的:
① 动态内存
这部分内存是在系统和应用软件运行时才需要的。它其中还包含了软件所需的堆栈。当重新启动系统以后,该内存空间被清空,这部分内存的用途有点像传统的台式机操作系统下的内存。因此Palm
OS设备不可随便切断电源,否则将造成数据丢失等严重后果。
② 永久存储
这包括了那些下载到掌上设备中的软件和数据,用户将在掌上设备上访问、编辑这些软件和数据。如计划事件、名片和电话号码、备忘录,以及其他所有内嵌软件所需的数据,都放在这部分内存中。每次重启时,这部分内存还是保持原样。我们可以把这部分的内存看成是台式机的硬盘上对各种文件的存储。
注意:和传统的台式机的操作系统不同,永久存储区的数据和代码不是复制到动态存储区来执行的,掌上设备的数据和代码都是在它们在永久存储区的所在位置直接被使用的。例如,当执行某部分程序时,就是直接在永久存储区该程序存放的位置被执行的。因为永久存储区位于RAM中,因此CPU当然可以直接读取它们,就像读取其它的RAM一样。同样,其中的数据也能够直接在存储位置被读取和显示。
⑵
资源管理
我们可以把Palm
OS系统中的一个应用软件看成是一个资源数据库,其中包含了很多不同的资源。每一个资源相当于数据库中的记录,有类型,有编号。按照这种存储方式,各种资源提供了应用软件所需的内核和外观元素。在台式机上,这些资源数据库的扩展名是.PRC。
资源中包含的一些内容如下:
程序的源代码
用户界面元素
文本
窗体
图标
用户界面元素将根据资源中的描述进行初始化,然后显示在掌上设备的屏幕上。因为初始化过程不是在软件的源代码中完成的,因此,开发人员可以改变用户界面(如,改变软件的语言)而不需要对程序的源代码作修改。另外一个优点就是,您可以使用可视化编辑器来显示和编辑软件的用户界面的各个部分。这些编辑器能够允许您方便地改变外观效果和数据的输出效果,而不需要重新编译和重新载入该应用软件。
3.
事件驱动
Palm
OS软件是事件驱动的。事件的发生,就像手写笔的按下和抬起,然后您的软件就会对着写事件做出响应。其中的一些事件是由应用软件来处理的,其它的将由操作系统来处理。一旦软件启动,它将进入一个事件循环,周而复制地捕获事件并处理它们。该事件循环只有在用户打开另外一个应用软件,关闭当前的软件时才会结束。
4.
窗体和控件
Palm OS有一个内置的机制,用于支持各种控件和管理窗体。窗体和一个台式机系统中的窗口有点相似。因为Palm
OS应用软件的用户界面的局限性,每次当后多个窗体显示时,只有一个是被激活的。
5. 通讯
Palm
OS系统支持多种通讯方式。因为通讯模块是Palm取得成功的根本因素,您可能认为在当前和未来的应用软件中,操作系统的这部分还是一个很值得探讨的方面。当前的通讯协议如下:
串行通讯
拥有socket接口的TCP/IP通讯
红外线。低水平的红外通讯是通过IrDA(Infrared Data Assocation)是实现的
高水平的对象交换能够支持在Palm设备和支持工业标准对象之间的信息交换。当前,这些对象还只能通过IRDA实现。不过以后会提供更多的信息交换技术。
2.3 Code Warrior7.0概述
CodeWarrior for Palm OS
7.0是Metrowerks公司开发的经Palm公司官方认可的Palm
OS系统软件开发工具。它是一个商业化的开发平台。本来CodeWarrior只是一个专门用于Macintosh平台的开发工具,现在是被移植到Windows平台上来。它允许开发者创建ANSI
C 和 C++程序,支持Macintosh或者Windows NT4.0或以上系统平台。目前它已经包含了Palm公司的Conduit
SDK(软件开发工具包),以及Palm自己的开发文献。
它包括:
2.3.1
Metrowerks的构造器(Constructor)
Constructor是一个图形界面的资源编辑器,用于为您的应用软件创建用户界面元素。 使用Constructor创建资源
图1 construtor构造器
2.3.2 CodeWarrior集成开发环境(IDE)
这是一个基于工程的集成开发环境,其组成部分如下:
• 一个Motorola 68000 C/C++编译器
• 一个连接器
• PalmRez
(以前被叫做PilotRez),它能为68000编译器创建PRC文件,并且将
Constructor中的资源转化为PRC格式。
CodeWarrior集成开发环境中的一个工程
图2 集成开发环境(IDE)
2.3.3 CodeWarrior调试器
Debugger
这是一个源代码等级的调试器,用于调试Palm
OS系统的应用软件。开发者既可以将掌上设备同台式机相连,在掌上设备中调试软件,也可以在台式机的POSE模拟器中进行调试。下面展示了一个正在工作的调试器。
图3 调试器 Debugger
2.3.4 Palm软件开发工具包(SDK)
其中包含了头文件、技术文档、指南、价值不可估量的大量范例程序代码。这些范例程序代码包括Palm
OS系统的内资软件,如:账目管理,备忘录,通讯录,计划事件。
2.4 Palm OS编程的基本概念
Plam
OS工程通常是单线程工作的,并且以事件驱动。同时,只能有一个程序在运行。要成功地创建一个工程,用户必须了解系统本身是如何构建的以及如何建立自己的工程。每一个工程都有一个PilotMain函数,它就相当于C语言里的main函数,或者是VISIUAL
C中隐含的WINMAIN函数。为了启动一个工程,系统调用PilotMain函数,并且向它发送启动代码。启动代码可以制定当前工程取得焦点或者是显示用户界面(这通常叫做正常启动),同时它也可以指定工程仅仅是简单得执行一个小得任务,然后结束,而不显示任何用户界面。PilotMain函数的唯一目的就是接收启动代码,并且对它们做出响应。
Palm OS是一个以事件驱动的系统,所以Palm
OS包含一个消息循环,然而,这样一个消息循环仅仅对正常启动的程序起作用。工程也可以执行一些别的启动代码,而不包含有消息循环。Palm
OS工程包含有一个由form组成的界面,它和windows桌面应用程序有些相似。这个用户界面可以包含预先定义的图形界面元素也可以自定义图形界面元素。所有的工程都必须进行内存管理和数据管理,这些是由系统提供的。工程的运行和一个工程的特性,通过调用Palm
OS中的函数实现,Palm
OS包含有许多的管理者(通常它们是由各个函数的相互作用组成)。作为一个规则,所有的属于某个管理者的函数必须使用相同的前缀,协同工作实现某一特定的方面。
管理者可以产生声音,发送警告,执行网络连接,通过红外多口传递信息等等。
3 系统分析
3.1 “我的收支”程序需求分析
3.1.1 面向的用户:所有使用Palm
OS的PDA普通用户。
3.1.2了解用户需求:
⑴
办公出差用户:当此类用户出差在外,小额开销频繁发生,虽然说单项数目可能较小,但几天下来总数目却不可忽视.如何在事后把这些帐目记录下来以便报销或汇总呢?利用随身携带的PDA就可以完成此项任务,我们只需要编写此类应用软件.
⑵
家庭用户:人们生活进入数字化,使用笔和纸来记帐已经越来越少见。家庭用户利用PDA设备可以随时记录平常收入和开支,减少笔和纸记帐带来的麻烦。同时帐目记录可以随时录入个人台式计算机里,便于做统计等。
⑶
超市入货人员跟出纳等:众所周知,超市入货一般是大批量的,数目种类繁多,而且要求入货操作方便快捷。实际上PDA设备允许光笔扫描仪输入再配合相应软件可以满足需求。其次,出纳人员在某种场合也需要随时随处记录收支情况。
3.1.3功能定义:
⑴
按日期先后顺序记录收入、支出情况,其中包括时间、金额、用途、收入还是支出及备注情况。
⑵
当某条记录不再需要时,用户可以随时删除。
⑶ 用户需要关于某个关键字的相关信息时,可以随时查询并显示。
⑷
当用户的信息变更时,可以及时更新。
⑸ 某些收支情况属个人私隐,软件应提供保密功能,使未拥有密码的个人无法查看。
⑹
其他附带功能。
3.1.4此软件的适用范围:
“我的收支”软件是为使用Palm
OS系统的PDA普通用户开发的,所以它只能在Palm OS系统上运行,该软件对应版本为Palm OS
3.5或以上。
此外,软件特别适合办公出差用户,家庭用户,超市入货人员跟出纳等。
4 概要设计
4.1 开发流程图
图4
开发流程示意图
数据存储字典:
图5 数据存储字典
4.2
操作流程图
图6 操作流程图
4.3 内部模块设计
根据软件功能定义,为了实现软件的几个基本功能-----即创建数据库和添加记录、删除记录、查询记录,通过Palm
OS的Hotsysnc实现数据同步,我们把功能模块分成三个部分:应用程序窗体事件处理部分,主窗体事件处理部分和数据库记录管理部分。它们的函数构成如下,分别实现各自功能。
4.3.1
应用程序窗体事件处理模块
图7 应用程序模块图
4.3.2
主窗体事件处理模块
图8 主窗体模块图
4.3.3 数据库记录管理模块
图9 数据库管理模块图
以上是主要模块的函数构成。
4.3.4
整体构成
加载内部资源。
自定义数据结构并声明结构指针。
定义全局变量。
ROM版本兼容测试函数
RomVersionCompatible();
返回当前要显示的窗体指针函数
GetObjectPtr();
绘制列表框函数 ListTableDraw();
列表创建和初始化函数
ListTable();
内存新记录创建和初始化函数 NewReaord();
窗体字段保存函数
DetailSaveRecord();
窗体字段设置函数 DetailSetField();
细节窗体事件处理器
DetailFormHandleEvent();
主窗体初始化函数 MainFormInit();
主函数事件处理器
MainHandleEvent();
应用程序处理器 AppHandleEvent();
应用程序事件循环函数
AppEventLoop();
应用程序开始函数AppStart();
应用程序结束函数AppStop();
应用程序入口函数
StartPalmMain();
主函数 PilotMain();
5 详细设计与实现
5.1
界面设计
“我的收支”程序主要包括两个用户界面:一个是“收支明细”主窗体,一个是“我的收支”列表窗体;此外还应该有确认提示,警告提示,版本提示和时间选择现实窗体。
启动Constructor
for Palm OS,打开New project
files,然后依次创建forms,Alerts等等。添加组件选择Windows--catalog,拖动相应组件即可。如下:
图10
catalog示例
图11
资源编辑窗口
图12
资源编辑窗口二
图13
资源编辑窗口三
图14 警告窗口
5.2 事件循环
事件循环包括主窗体事件循环和应用程序事件循环。主事件循环即包含在PilotMain程序段中;而应用程序事件循环一般是由EvtGetEvent从事件队列中捕获的事件。
主事件循环
在入口函数段中,初始化完成以后,即开始调用了一个主事件循环。在该循环中,我们持续处理所有的事件——将它们传递到系统中。经过循环,用EvtGetEvent捕获一个事件,然后将事件指派到四个嵌套的事件处理器中的一个,每个事件处理器都有机会处理这个事件。当某个事件处理器返回“真”,说明它已经处理了该事件,其它事件处理器将不再处理这个事件。EvtGetEvent将去捕获事件队列中的下一个事件,然后我们的循环将重复此过程。在捕获appStopEvent事件之前,我们的循环将固执地持续下去。直到关闭程序时,即退出该子程序。
用EvtGetEvent处理事件
事件管理器程序的唯一目的就是从事件队列中获取下一个事件。它的第二个参数看上去像一个暂停值。当该事件被获得时,EvtGetEvent会返回“真”;当那个暂停值的时间超过时,将返回“假”,同时填写一个事件代码。如果事件没有被捕获的话,程序将无法继续工作(因为本软件没有后台工作)。
事件队列与应用软件事件循环
在被EvtGetEvent捕捉到的事件中,其种类可以是五花八门的,从底层的事件一直到高端的。而一种很有用的看法就是将整个Palm
OS系统简单地看成是一个事件处理器——它获取各种各样的事件,然后将它们传递给相应的管理器,处理器然后再将一个新的事件送回到事件队列,然后由另外一个事件处理器处理它。设想当用户打开了这个软件,点击了屏幕上的菜单按钮,事件队列中首先出现的是SysHandleEvent程序来处理这个事件,解释这个事件,然后生成一个新的事件放回事件队列中。(见图十四)。
图15
事件循环中的一个事件
这个新生成的事件通过事件循环,通过SysHandleEvent传递到MenuHandleEvent。然后被辨认为是一个菜单请求事件(见图十五)。MenuHandleEvent将显示菜单栏,并且弹出其中的一个菜单。如果此时用户点击了菜单以外的区域,菜单将会自己收回去。
图16 事件循环中流动的事件