系统分析和软件设计是智能手机系统实现的难点之一,设计的优劣关系到系统的稳定性、扩展性等。因为要兼顾到GSM语音控制与其它智能手机应用之间的互相切换及关联关系,智能手机软件系统的设计就变得相对复杂。下面由卓跃教育为您介绍。 1.嵌入式Linux操作系统 Linux最初是由LinuxTorvalds编写及发布的源代码公开、可免费使用的操作系统。后来,又通过Internet上成百上千的程序员的加入,使Linux成为一个几乎支持所有主流32位CPU的操作系统。其特点主要有:内核高效稳定、公开源代码、可移植性、可裁减、支持多任务等。 本设计中采用的Linux内核是arm-Linux基础上,编写符合硬件设计的引导程序及电源管理控制程序;并针对本系统的硬件设计,编写了LCD、触摸屏等硬件设计驱动程序。 智能手机基于Linux操作系统工作时,首先初始化CPU;然后加载各个设备驱动程序,初始化存储器及外围设备;最后启动各服务程序,进入待机状态。 2.服务程序的设计 智能手机系统中的服务程序主要有GUIServer和GSM/GPRSServer,它们是上层应用赖以实现的基础。 GUIServer 为使系统能够很好地支持浏览器及MMS等界面复杂的应用,具有良好的可扩展性,本系统中的GUIServer设计采用了客户机/服务器模式,并以动态链接库的形式对图形设备接口进行封装。 3.机系统中的应用程序设计 有了中间层的服务程序,上层应用程序可以根据GUIServer及GSM/GPRSServer提供的接口进行移植和开发。本设计中实现了电话控制程序、短信收发的管理及数据精力的应用等。下面以电话控制程序为例,介绍智能手机应用程序的设计与实现。 电话控制程序在智能手机系统上电复位、GSM/GPRSServer启动后,进入Power-onState(上电态)。在上电态,程序首先进行初始化工作,与GSM/GPRSServer通信,获得系统状态。初始化后,即进入IdleState(空闲态)。在空闲态,程序循环等待GSM/GPRSServer的呼入事件及来自键盘的呼出事件;当这些事件发生时,程序进入ExecutionState(执行态)。在执行态,用户进行语音通信,通话结束后,程序又回到空闲态。
|