当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于嵌入式Linux的智能手机系统设计

随着手持通信设备市场的快速发展,手机的功能逐渐增多。现在手机已经不只是用于语音通话的手持设备,而成为集成了短信、彩信、上网以及移动办公等附加功能的嵌入式通信平台。集成了这些功能的手机被称为智能手机。近年,嵌入式处理器的运行速度和功能都有了很大的提高,使得许多以前只能在PC上实现的应用,现在都可以在手持设备上实现。目前,市面上的智能手机主要采用Microsoft公司的Pocket PC、Palm OS等商用操作系统,但这些操作系统开放的程度不够高,限制了许多第三方应用软件的移植。为使智能手机能够为第三方应用软件提供一个更为开放的嵌入式平台,笔者对智能手机系统做了比较深入的研究,提出一种以Linux作为嵌入式操作系统、Motorola的MX1作为微处理器、以Wavecom的Q2403A作为射频模块的智能手机系统的设计与实现。
1 智能手机系统的硬件设计
    智能手机系统的硬件设计如图1所示。该设计采用Motorola公司的MX1(MC9328)高性能的32位微处理器、Wavecom公司的Q2403A无线收发模块等实现智能手机的GSM通话、GPRS上网及其它PDA应用等功能。

 


1.1 微处理器
    系统采用的MC9328 MX1微处理器是最新推出的Motorola DragonBall系列微处理器。它采用先进节电的ARM920T 核心,速度最高可达200MHz。集成了LCD 控制器、SRAM、USB接口、一个A/D转换器(支持触摸屏控制)、一个MMC/SD主机端控制器。256-pin的MPPBGA封装[1]
1.2 无线收发模块
    系统采用WAVECOM公司的专用无线收发模块。它是双频GSM模块(EGSM900/1800MHz),其设计及开发符合ETSI GSM Phase 2+标准。具有话音、GSM电路数据/传真、GPRS分组数据、短消息等功能。该模块支持AT指令集,通过RS232与MX1通信[2]
1.3 其它外围设备
    智能手机的其它外围设备还有LCD、Touch panel、Audio CODEC等。
2 智能手机系统的软件设计
    系统分析和软件设计是智能手机系统实现的难点之一,设计的优劣关系到系统的稳定性、扩展性等。因为要兼顾到GSM语音控制与其它智能手机应用之间的互相切换及关联关系,智能手机软件系统的设计就变得相对复杂。系统设计将软件分为三层结构,如图2所示。最下面一层为操作系统层,主要实现对Linux操作系统的移植,其中包括Bootloader引导程序、LCD等设备的驱动程序。中间层为服务程序层,该层主要包括GUI服务器以及GSM/GPRS控制服务器。智能手机系统设计的关键在于各项功能应用的实现。对智能手机软件进行分层设计,有利于各个功能有机地协调运转,同时也便于软件的开发与调试。

 


2.1 嵌入式Linux操作系统
    Linux最初是由Linux Torvalds编写及发布的源代码公开、可免费使用的操作系统。后来,又通过Internet上成百上千的程序员的加入,使Linux成为一个几乎支持所有主流32位CPU的操作系统。其特点主要有:内核高效稳定、公开源代码、可移植性、可裁减、支持多任务等。
    本设计中采用的Linux内核是在ARM-Linux基础上,编写符合硬件设计的引导程序及电源管理控制程序;并针对本系统的硬件设计,编写了LCD、触摸屏等硬件设备驱动程序。
    智能手机基于Linux操作系统工作时,首先初始化CPU;然后加载各个设备驱动程序,初始化存储器及外围设备;最后启动各服务程序,进入待机状态[3]
2.2 服务程序的设计
    智能手机系统中的服务程序主要有GUI Server和GSM/GPRS Server,它们是上层应用赖以实现的基础。
2.2.1 GUI Server
    为使系统能够很好地支持浏览器及MMS等界面复杂的应用,具有良好的可扩展性,本系统中的GUI Server设计采用了客户机/服务器模式,并以动态链接库的形式对图形设备接口进行封装,具体如图3所示[4]

 


    服务进程与应用进程之间采用Linux提供的消息队列进行通信。服务进程保存系统GUI环境的描述信息,为应用进程提供注册及一些计算任务,如计算当前剪切域内容等。此外,还负责显示桌面。应用程序在启动后,首先与服务进程建立连接并进行交互,将自身的一些描述信息发送到服务进程。
    服务进程和应用进程通过调用动态库实现基本窗口显示功能。其中窗口树与剪切域都定义在动态库中,对于服务进程或应用程序而言,它们是透明的,不需要进行管理。因服务进程与客户进程分别运行在不同的进程空间中,所以虽然在动态库中定义了相同的数据,但它们之间不会产生任何冲突。
    设计对动态库中封装的函数进行了分层。其中直接针对Framebuffer进行输出的函数位于系统最低层,其上是设备上下文。因每次对一个窗口输出时都要首先建立设备上下文,所以设备上下文总可以引用窗体结构,自然也可以引用到窗口的剪切域。所以针对设备上下文的输出首先会参照窗口剪切域,在剪切域范围内才可以进行输出。
    图形设备接口建立在设备上下文之上,主要包括点、线、面、文本等。如上文所述,输出之前,首先建立设备上下文,即其输出的目标是设备上下文,而不是窗口。
    图形设备接口的上层是应用开发接口即API层,桌面进程与客户进程都通过调用API函数实现系统功能。
    另外,系统建立了输入的抽象层,屏蔽了不同输入设备。
2.2.2 GSM/GPRS Server多工通信服务器软件
    GSM/GPRS Server多工通信服务器软件是电话、短信及数据业务的守护进程,负责响应应用程序转发的用户操作事件及从串口获得的无线通信模块事件,是整个智能手机系统的核心。在这部分的工作中要实现多链路的数据通信、事件优先级判别,并在执行数据通信时,保证电话、短信的接入。具体程序设计结构如图4所示。

 


2.3 智能手机系统中的应用程序设计
    有了中间层的服务程序,上层应用程序可以根据GUI Server及GSM/GPRS Server提供的接口进行移植和开发。本设计中实现了电话控制程序、短信收发的管理及数据业务的应用等。下面以电话控制程序为例,介绍智能手机应用程序的设计与实现。
    笔者将电话控制程序设计分为三个运行态:Power-On State(上电态)、Idle State(空闲态)、Execution State(执行态)。图5表示了三个状态之间的关系和进入各个状态的条件。

 


    电话控制程序在智能手机系统上电复位、GSM/GPRS Server启动后,进入Power-on State(上电态)。在上电态,程序首先进行初始化工作,与GSM/GPRS Server通信,获得系统状态。初始化后,即进入Idle State(空闲态)。在空闲态,程序循环等待GSM/GPRS Server的呼入事件及来自键盘的呼出事件;当这些事件发生时,程序进入Execution State(执行态)。在执行态,用户进行语音通话,通话结束后,程序又回到空闲态。
    本系统设计成功地应用于实际工程项目中,其可行性和实用性已在实际应用环境中得到检验。下一步,可将系统的CPU主频进一步提高,无线通信模块也可换成符合3G标准的。这样,就可以在本系统设计的基础上,实现更为广泛的手持设备应用。
参考文献
1 Motorola. MC9328MX1 Integrated Portable System Processor Reference Manual
2 Wavecom. WISMO Quik Q2403 series Product Specifications
3 陈章龙,涂时亮. 嵌入式系统-Intel StrongARM结构与开发.北京:北京航空航天大学出版社,2002年10月第一版
4 Mobilesoft Technology (NanJing) Co., Ltd. MGUI2编程指南

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭