资源描述
软件工程
XXXX
公司指引教师姓名职称
学校指引教师姓名职称
XX
工程领域
作者姓名
二〇XX年三月
提交论文日期
XX专家
Application software Based on MTK platform
Design and Implementation of Mobile Terminal
应用层软件设计与实现
基于MTK平台移动终端
题(中、英文)目
代号
分类号
学号
密级
UDC
编号
摘 要
当前,手机已成为最广范畴内使用便携式电话终端。诸多国家也成功地将本土品牌手机推向了国际市场。在手机研发过程中,人机交互接口(MMI)给进行移动通信人与手机提供了交往界面,它设计优劣直接影响了手机销售市场占有率,本文对人机界面设计与实现进行了研究和探讨。
本文一方面简介了手机发呈现状和课题选题由来,阐明了课题现实意义和重要任务。基于手机构造和嵌入式操作系统简介了本项目软件开发平台——MTK平台,并详细分析了该平台MMI层软件构造。其中以手机应用层开发中典型模块——通讯录应用为例,先进行了系统需求分析和方案设计。然后详细实现了模块各功能与所有界面,并完毕了应用间交互有关功能,后期依照编写测试用例进行了黑盒测试。最后,样机通过了软、硬件测试,验证了其设计对的性和可行性,并成功投入市场。
核心字:手机 人机交互接口(MMI) MTK 黑盒测试
Abstract
Nowadays,handset has become a cellular phone terminal in the most widely used field. A great many countries succeeded in designing various handsets labelled by their own brand in international market. The Man-Machine-Interface(MMI) provides such an interface that brings the convenience to both human and handset in the handset projects. And the advantages or not of design could make an important influence on the market share of mobile terminal products. The thesis makes the related R&D to design and achieve a friendly interface.
The thesis first introduces the present situation and background of handset,and clarifies the significance of the topic and main task. On the basis of the architecture of handset and the embedded system,introduces the software development platform of this project,MTK platform,and the software architecture of MMI. Taking a typical application,phonebook as an example,makes the requirement analysis and practical plan design firstly. Then goes deep into the detailed realization of function and interface,and fulfills the communication between related applications. In the later period,according to test case,finishes the Black-box Testing and debugging. Finally,passes all the testing of software and hardware,which verifies the validity and feasibility of the early design,finished products have been poured into market.
Keyword: Handset Man-Machine-Interface(MMI) MTK
Black-box Testing
目 录
第一章 绪 论 1
1.1 手机发呈现状 1
1.1.1 移动通信发展 1
1.1.2 手机软件开发平台 1
1.1.3 手机软件分类 2
1.2 课题现实意义 2
1.3 论文工作和构造 3
第二章 手机系统构造 5
2.1 手机硬件构造 5
2.2 手机软件构造 6
2.2.1 移动通信合同体系构造 6
2.2.2 软件设备驱动[16] 8
2.2.3 手机操作系统 9
2.2.4 人机交互接口MMI 11
2.3 手机嵌入式系统 11
2.3.1 多任务解决机制 11
2.3.2 基于优先数任务调度 12
2.3.3 任务间通信 12
2.3.4 任务间同步 13
2.4 小结 13
第三章 MMI研究与分析 15
3.1 MTK平台总体设计 15
3.1.1 适配层KAL 15
3.1.2 适配层L4[22] 16
3.1.3 task间通信机制[23] 17
3.2 MMI层软件构造[24] 18
3.2.1 MMI接口简介 19
3.2.2 MMI与L4之间通信 19
3.3 Framework层[25] 22
3.3.1 事件解决器 22
3.3.2 历史管理 24
3.3.3 OSL层 24
3.3.4 NVRAM 25
3.3.5 文献系统 26
3.4 UI层 27
3.5 Application层 27
3.6 小结 29
第四章 通讯录应用设计与实现 31
4.1 初步设计与分析 31
4.1.1 系统需求分析 31
4.1.2 模块设计思路 33
4.2 初始化详细流程设计 36
4.3 界面显示设计与实现 40
4.3.1 一、二级菜单设计 40
4.3.2 编辑框设计 41
4.3.3 弹出窗口设计 42
4.3.4 窗口绘制与History管理设计 44
4.4 核心功能设计与实现 46
4.4.1 显示电话号码列表 46
4.4.2 添加新条目 48
4.4.3 删除已有条目 49
4.4.4 姓名查找 51
4.4.5 复制或转存 52
4.4.6 有关设立功能 52
4.5 应用间交互 53
4.6 高档功能迅速查找 54
4.7 小结 55
第五章 手机应用层软件测试 57
5.1 手机应用层软件测试办法[35] 57
5.2 MTK平台软件仿真工具[36] 59
5.3 通讯录应用测试用例 62
5.3.1 基本功能测试 63
5.3.2 批量测试 64
5.3.3 失败测试 65
5.3.4 集成测试 67
5.4 通讯录应用测试成果 67
第六章 总结与展望 71
道谢 73
参照文献 75
第一章 绪 论
1.1 手机发呈现状
1.1.1 移动通信发展
从1876年贝尔创造电话以来,经历了长达一种多世纪发展,电话通讯服务已走进了千家万户,成为国家经济建设、社会生活和人们交流信息所不可缺少重要工具。在近来二十年中,通讯技术和业务发生了巨大变化,通信地点也由固定方式转向移动方式。随着当代生活节奏越来越快,移动通讯发展迅猛,其通讯工具手机更新换代和市场争夺战也愈演愈烈。
国外手机生产公司以为质量和信誉是品牌保证。同步,她们针对手机这种特殊商品特点,即科技产品和潮流产品二位一体,致力于研究创新,从外型、功能、质量等方面不断改进力求做到尽善尽美。手机不再只是用来通话,它已经成为一种集照相机、游戏机、音乐播放器、电影院……等强大功能为一身电子消费品。例如,诺基亚重要目的消费群是中高收入白领阶层,摩托罗拉则是以追求潮流与潮流年轻族为目的。同步,她们很注重促销、售后服务等一系列提高品牌价值和产品附加值营销环节。
国内在营销机理及营销管理研究上,无论从框架体系,还是办法手段乃至观念都难于超越国外模式,基本上处在追赶型研究状态,但国内与国外研究差距显然在以递增速度缩小。当前,国内手机市场有30各种品牌,生产厂商40多家。整个手机市场保持着“寡头”格局,诺基亚、摩托罗拉、三星、索爱、飞利浦、NEC等知名外资品牌市场份额在四分之三。别的被以联想、波导、夏新、TCL为龙头国产手机瓜分,她们在国家政策扶持下,守护着国产品牌尊严。国内某些手机生产商已基本掌握了合同栈软件、应用软件开发,以及整机电路、模具、造型自主设计、大生产技术与产业化,个别公司还掌握了基带、射频等核心芯片设计、物理层软件开发技术,并拥有整机设计能力,国内手机及多媒体信息终端产品研发技术水平得到明显提高。手机所需大某些元器件都可以在国内生产,移动通信产业链已基本形成[1]。
1.1.2 手机软件开发平台
手机开发分为硬件、软件开发。硬件就是指外观设备、芯片等,而软件分为底层软件、应用软件。其中芯片设计是相对技术含量高环节,其市场长期为国外厂商所垄断。国内厂商在04-间起步发展,新进厂商采用减少芯片成本、芯片附赠软件平台模式,逐渐占据国内手机市场。手机芯片包括基带解决器、射频芯片、应用解决器等,可为音频、视频等多媒体配备相应自己芯片[2]。国外厂商有Ti、FreeScale、ARM、Intel、ADI、高通等,国内厂商有MTK、展讯、大唐移动、凯明、鼎新等。据iSuppli公司数据显示,MTK基带市场份额为44%。国内手机采用MTK芯片品牌有:联想、天阔、普天、三新、三盟、宇宙、南方高科、诺科、康佳、科健、采星、迷你、波导、CECT、TCL、奥克斯、东信、长虹、托普、吉事达等。
MTK是联发科技股份有限公司英文简称,它作为全球IC设计领导厂商,专注于无线通讯及数位媒体等技术领域。公司提供晶片整合系统解决方案,包括无线通讯等在市场上居领导地位。在MTK手机解决方案中,将手机芯片和手机软件平台预先整合到一起。这种方案可以使终端厂商节约成本,加速产品上市周期。MTK公司产品由于集成较多多媒体功能和较低价格在大陆手机公司和手机设计公司得到广泛应用。MTKTurn-key方案(将芯片与手机开发所需软件平台乃至第三方软件捆绑销售)巨大成功则证明了在这一领域平台技术不再是TI、英飞凌这些巨头专属。这一方略使得MTK在手机市场获得了骄人业绩[3]。但是并不是所有国产手机都简朴运用MTK最被人称颂total solution,而是“取其精华”,运用自己对市场理解生产出具备自身特色MTK手机。例如成功坐上了国产手机第一把交椅天语手机。
1.1.3 手机软件分类
按照软件安装方式来分类,可以将手机软件分为前装软件和后装软件。前装软件是指在手机顾客购买手机时候,已经预先安装在系统内软件。如通讯录、短信息等是设计厂商捆绑在操作系统前装软件;后装软件是指在顾客购买手机之后,通过下载或者与电脑连接等方式获取并安装软件。
按照应用类型分类,可以分为基本功能类(如通讯录、短消息)、信息资讯类(如腾讯QQ),工具类(如地图),娱乐类(如影院),游戏类等。
1.2 课题现实意义
本课题来源于本人在实习公司参加手机研发项目A302,以其中通讯录模块为例,详细阐述了GSM网络中MTK平台应用层软件设计与实现。本项目客户规定是但愿从界面外观、功能操作等各方面,在MTK平台上达到与某款手机高仿效果。因而本课题实践背景是基于MTKtotal solution方案,按照顾客需求并结合手机应用软件开发平台中应用层概念,在应用层基本版本上进行基本功能类、前装软件MMI二次开发。
移动终端应用层软件需要嵌入式实时操作系统支持,基于一定嵌入式操作系统提供操作系统抽象层,便于上层应用软件开发和移植。应用层软件即人机交互接口(MMI)所反映出来界面,其操作之简易性对于移动终端产品优劣也具备举足轻重作用。它是相对独立于通信设备原则,有助于二次开发和项目移植,对于嵌入式移动终端应用软件研究具备长远现实意义。
此外,从市场效益角度来说,不但给公司带来了可观经济价值,同步又为消费者购买移动终端产品提供了一种更有竞争力选取。
1.3 论文工作和构造
在研发手机项目中,对通讯录模块研究与开发工作经历了四个重要阶段:
第一阶段:学习阶段。在原有移动通信理论基本上,进一步对移动通信系统进行进一步学习,阅读大量数字移动通信系统书籍,着重于对移动终端所涉及到理论进行有针对性学习,为后续工作奠定了良好专业理论基本。同步,为了更好进行软件设计,阅读了MTK平台软件设计有关文章和文档,并参阅软件工程书籍,学习必要软件设计知识。对整个手机系统软件架构进行把握。
第二阶段:设计阶段。在理解了移动通信终端合同体系和整个手机架构前提下,对通讯录模块进行了总体设计。
第三阶段:应用阶段。理论结合实践在手机软件平台上设计实现了通讯录模块基本操作(如电话条目存储、删除、复制等)、来电免打扰、迅速拨号等所有功能和界面。
第四阶段:测试阶段。通过严格测试,并在程序构造上进行优化。
依照实习期间所完毕工作,将论文构造安排如下:
第一章 绪论
本章通过对比国内外手机发展先简介了移动通讯发展状况,然后分析了手机市场最大竞争力——软件开发平台,由此简朴简介了项目应用平台MTK。最后阐明了本课题实践背景、现实意义和论文各章节安排。
第二章 手机系统构造
本章分析了手机平台硬、软件构造。在软件构造中重点简介了移动通信体系构造,用举例对比形式简介了几种常用手机操作系统。最后着重阐述了手机嵌入式实时操作系统中核心概念。
第三章 MMI研究与分析
本章一方面分析了MTK平台总体构造。由于项目针对是MMI层软件开发,开始重点分析MMI软件构造。其中重要简介了MMI Task运营机制、重要接口,以及MMI各个模块。
第四章 通讯录应用设计与实现
本章以通讯录模块为例,详细阐述了如何对该模块进行需求分析和设计,并在MMI层实现了通讯录各功能及相应界面。
第五章 手机应用层软件测试
本章一方面列举了手机应用层软件测试办法,然后简介了一种重要调试工具——MTK平台提供软件仿真工具MoDIS。通过编写通讯录应用黑盒测试用例完毕测试,最后给出测试成果。
第六章 总结与展望
本章总结课题成果、局限性之处以及展望。
第二章 手机系统构造
2.1 手机硬件构造
手机电路由无线收发信机、基带信号解决电路、基带控制电路、存储电路、键盘、显示屏、外部接口等某些构成[4]其硬件构造,如图2.1所示。
MT6205 GSM Baseband
MT6119
RF Transceiver
M
Buzzer
Battery
FET+0.2Ω
DC in
T/R
Switch
PA
TXVCO
VCO
PLL
26MHz
VCTCXO
I/Q
Control
DSP
52MHz
DSP
Coprocessors
MCU/DSP
Interface
RAM
ROM
JTAG
Debug
256Kb
RAM
ARM7TDMI
26MHz
ROM
TDMA
Timer
PLL
RTC
PWM
LCD
GPT
SIM
EMI
WTD
Interrupts
DMAs
System Bus
GPIO
Flash
UART
KP
Sub
LCD
SRAM
Main
LCD
ADC
DAC
ADC
DAC
Power
Supplies
SIM
Card
1 2 3
4 5 6
7 8 9
* 0 #
MT6305
PMIC
图2.1 手机硬件构造
1.射频单元
射频单元发信通路将基带单元产生270.833Kbit/sTDMA帧数据流信号按GMSK调制办法形成I、Q信号,再调制到900MHz或1800MHz射频信号,经射频开关由天线发射出去,收信通路将天线接受信号经低噪声放大、解调产生基带I、Q信号,通过解调和均衡将模仿I、Q信号进行数字化,恢复出数字基带信号,送基带电路解决。射频单元本振信号普通从时基电路获得基准频率,然后采用锁相环技术实现频率合成。
2.基带芯片与基带信号解决电路
基带芯片是通信终端产品核心部件,当前流行普通有单IC和双IC封装两种形式。多家公司可以大量供应成套芯片组。
基带信号解决电路涉及信道编/译码、加密解密、TDMA帧形成/信道分离及基准时钟电路、话音编/译码、码速适配器等。送话器话音信号通过8kHz抽样及A/D变换,成为均匀量化数据流,经话音编码、信道编码、交织、加密等解决,形成270.833Kbit/sTDMA帧数据流,送调制器发送。在接受通道执行与发信通道相反过程。帧及信令控制以时钟基准某些提供统一帧号、时隙号、1/8bits时钟等基本,实现同步。
3.控制器
控制器实现对手机系统控制,涉及合同解决、射频电路控制、基带电路控制、键盘输入、显示屏输出、SIM卡接口及数据接口等功能。
2.2 手机软件构造
手机系统软件重要由:移动通信合同栈、设备驱动、操作系统、MMI和WAP构成。
2.2.1 移动通信合同体系构造
GSM合同分层原理来自于开放式系统互连(OSI)参照模型[5-7]。依照合同分层概念,通信解决过程可以看作由最低层到最高层若干有序逻辑层次构成,每层都存在实体单元。最低层是信息在两个远距离实体之间物理传播,要依赖物理介质,而最高层代表外部顾客观点。每一层向它上层提供服务,这些服务是对下一层提供服务扩充。GSM合同栈分为三层:物理层、链路层、网络层,如图2.2中L1、L2、L3。
第三层 L3
第二层 L2
第一层 L1
第三层 L3
第二层 L2
第一层 L1
中间层
数据
链路层
物理
连接
MS侧
网络侧
SMS
CC
SS
MM
RM
LAPDm
物理层模块
管理子层
第三层
第二层
物理层
MSUm接口信令软件总体框图
图2.2 GSM合同构造分层模型
第一层:物理层。物理层是合同体系中最低层,它涉及各类信道,为高层信息传播提供基本逻辑信道;每个逻辑信道均有自己服务接入点(SAP),移动台接入方式采用多址接入方式,可以在空闲时间检测周边无线电环境,把检测成果定期传给基站,拟定与否进行社区切换。
第二层:链路层。链路层属于中间层[8-10](LAPDm:Link Access Protocol for Dm Channel Dm信道链路连接合同)。它涉及各种数据传播构造,对数据传播进行控制。LAPDm基本功能是把单个bit构成一种集合,以便在移动台和基站之间提供可靠无线数据链路,所有链路功能都是建立在这个基本构造单元上,这个单元称为帧,帧构造采用HDLC(高层数据链路控制)定义方式。链路层合同重要由GSM04.05、04.06系列原则来描述[11]。
第三层:网络层。第三层实体提供在一种蜂窝移动网和其相连接其她公众移动网中建立、维护和终结电路互换连接功能。还要提供必要补充业务和短消息业务控制功能。按照第三层实体所要完毕功能可以提成无线资源管理(RR)、移动管理(MM)和连接管理(CM)三个子层(CC、SMS、SS)。
无线资源管理子层(RR):提供功能是完毕与物理传播资源关于管理。提供服务涉及:专用物理信道建立与维持、应网络祈求而进行越区切换、信道传播模式变化和质量测量等。
移动管理子层(MM):具备支持移动顾客移动特性所必要功能。提供服务涉及:当移动台激活与去激活时,或者顾客所处定位区变化时,MM实体负责告知网络;MM实体不需要完毕顾客身份鉴别和注册工作。
连接管理子层(CM):涉及呼喊控制(CC)、短消息业务(SMS)和附加业务(SS) 实体。
呼喊控制具备为建立与拆除MS端主叫和被叫时电路互换连接所必要功能,提供服务涉及:发起呼喊、连接呼喊和释放呼喊等[12];短消息业务支持完毕各种补充业务,如:呼喊转移、来电号码显示等;附加业务实体则支持完毕点到点或广播短消息内容接受与发送。
咱们现将合同体系进行必要转化,提出合同栈概念,并按合同规范对合同栈功能拟定如下。所提到合同栈是相应与GSM原则[13-15]L2和L3层,同步此合同栈还实现L3 层之上短消息第四层和第五层构造,分别为中继层(SM-RL)和传播层(SM-TL)。此外,此合同栈还需要支持SIM卡单元和社区广播功能模块。
由合同栈总体构造描述可知,L3层是整个合同栈核心,它涉及了大某些手机功能实现。它提供一种蜂窝移动网和与其相连接其他公共移动网之间建立、维护和释放电路互换功能;提供必要支持补充业务、短消息业务和呼喊控制功能;L3还涉及移动管理和无线资源管理功能。此外,最新开发L3层应当能支持GPRS业务,并提供相应复杂控制功能。在软件设计过程中,L3层重要由大量程序模块构成,这些程序块在第三层各主体之间、第三层与相邻层以及有关层之间传递携带各种信息消息单元。因而可以说,解决了L3层合同设计也就基本上解决了整个合同栈软件设计工作。
2.2.2 软件设备驱动[16]
设备驱动重要用来解释来自MCU命令,实现对外设控制。这个模块解决许多顾客可见手机行为,例如键盘解决、LCD显示。该模块通过函数调用或与L4实体进行消息交互方式被引用,通过访问设备寄存器来提供必要控制功能。手机系统中软件设备驱动如图2.3所示:
UART
SPI
AUX task
BMT
PMIC
Camera
USB task
MSDC
GPT,RTC,WDT
PWM,Alerter
JPEG Decoder
ADC Sched
GPIO
KeyPad
LCD
IrDA task
SIM
图2.3 软件设备驱动
外设功能解释如下:
SIM:顾客辨认模块,写入顾客信息
UART:通用异步收发设备
SPI:串口界面
LCD:液晶显示屏
GPIO:通用输入输出
RTC:实时时钟。当规定在某个时间闹铃,或者在某个时间段给MMI发送消息提示(以1秒为基准),这就由软件clock模块读写RTC。
WDT:看门狗计时器
GPT:普通设定期钟
PWM:脉冲宽度调制
Alerter:报警设备
KeyPad:键盘,该模块解决所有从键盘发送来信息,解决后并把按键信息发给上层。
PMIC:电源管理芯片
BMT:电池充/放电管理
AUX task:耳机task
USB task:USBI.1合同和驱动
IrDA task:IrDA和驱动
MSDC:内存卡驱动,支持SD、MMC卡和内存片
Camera:照相机
JPEG Decoder:控制硬件JPEG解码器软件
2.2.3 手机操作系统
当前市场上流行三类手机嵌入式操作系统[17]:
第一类是“实时操作系统(RTOS)”。其目重要是驱动硬件,任务调度。此类操作系统普通是封闭系统,也就是一旦手机出厂,此类手机不能直接动态加载新软件应用。RTOS手机使用相对简朴,经济实惠。对多数只把手机当做通讯工具人来说,事先预装浏览器、彩信、三到五款游戏也就足够了。此类手机操作系统重要代表为Nucleus、ThreadX、uC/OS、RT-Linux等。对于智能手机来说,RTOS需要借助JAVA中间件等来扩展业务,运营效率问题比较突出。
第二类是“智能手机操作系统”。在完毕第一类手机操作系统任务基本上,此类系统进一步加强人机交互一致性体验,强调多任务之间协同操作,规范程序间通讯和编程模型。此类系统也被称为开放式操作系统,即手机出厂后,消费者可以借助于个人计算机,手工从因特网上下载新软件、游戏等。智能手机操作系统重要代表为Symbian、WinCE、PalmOS、Linux等。它们软件体系架构沿用PC模式,即软件要事先安装到本地永久存储器之后才干使用。
第三类是“网络软件运营平台”。其目是在第二类手机操作系统之上,构建一种所谓“中间件”平台。消费者可以很容易地、动态地、透明地下载移动电讯网上某些新兴增值业务、游戏等,无需个人计算机作为扩展手机业务中介。此类手机操作系统有JAVA、BREW、WIPI(韩国原则)等。由于GPRS带宽和流量费限制,此类手机操作系统当前还不是主流。在网络软件运营平台上,消费者无需事先安装软件,软件可以直接下载到内存里运营。此类软件使用和维护也比PC模式简朴诸多。
下面简介市场上主流手机操作系统[18]:
1.Symbian系统
Symbian是一种实时性、多任务纯32位操作系统,具备功耗低、内存占用少等特点,非常适合手机等移动设备使用,通过不断完善,可以支持GPRS、蓝牙、SyncML,以及3G技术。最重要是它是一种原则化开放式平台,任何人都可觉得支持Symbian设备开发软件。与微软产品不同是,Symbian将移动设备通用技术,也就是操作系统内核,与图形顾客界面技术分开,能较好适应不同方式输入平台,也可以使厂商可觉得自己产品制作更加和谐操作界面,符合个性化潮流,这也是顾客能见到不同样子Symbian系统重要因素。当前为这个平台开发java程序已经开始在互联网上盛行。顾客可以通过安装这些软件,扩展手机功能。
2.Windows CE系统
Windows CE系统涉及 Pocket PC和Smartphone,前者针对无线PDA,后者专为手机,已有各种来自IT业新手机厂商使用,增长率较快。Pocket PC 推出了应用在手机上Phone Edition(电话版本),国内贴牌机多普达686就使用了这个系统。但是它在移动通讯方面功能并不是很全面。针对这种状况,微软于底发布了专门为手机开发操作系统SmartPhone,像Symbian Pearl同样,是专为移动通讯设备开发系统。虽然从众多手机厂商反映来看,全球手机五大厂商中只有三星购买了微软软件允许,故其在手机市场上占有率不高。
3.Linux系统
Linux系统件是一种源代码开放操作系统,当前已有诸多版本流行。但尚未得到较广泛支持,其发展最大阻力在于它对硬件规定比较高,并且没有一种强有力推广方。这样就导致Linux手机成本比较高,并且版本混乱。但Linux优势也相称明显,一方面它是免费,另一方面它是开源,每一家乐意厂商都可以加入到Linux操作系统底层开发中。
4.Palm系统
Palm OS是Palm公司是一种32位嵌入式操作系统,它操作界面采用触控式,差不多所有控制选项都排列在屏幕上,使用触控笔便可进行所有操作。作为一套极具开放性系统,开发商向顾客免费提供Palm操作系统开发工具,容许顾客运用该工具在Palm操作系统基本上编写、修改有关软件,使支持Palm应用程序丰富多彩、应有尽有。
5.非智能手机操作系统
低端手机也有操作系统,但功能非常简朴,重要支持通讯录调用等。对于非智能手机设计生产商来说,不追求系统强扩展性和第三方软件添加,普通手机操作系统只需提供核心功能,如多任务调度、中断、通信机制等,便于上层应用软件开发和移植即可。例如:MTK平台使用Nucleus Plus操作系统,Brew平台使用是rex(Real-time Executive system)操作系统,展讯平台操作系统抽象层支持是Threadx 操作系统。
Nucleus Plus是美国源代码操作系统商ATI公司推出新一代嵌入式操作系统,属于抢先式实时多任务操作系统内核,95%代码使用ANSI C编写,非常便于移植于各种解决器家族。从实现角度讲,不同于老式嵌入式开发,Nucleus Plus是以函数库形式链接到目的应用程序中,形成可执行目的代码,下载到目的板上或烧到ROM/FLASH ROM 中去执行。Nucleus Plus内核在典型CISC体系构造上占据大概20k空间,而在典型RISC体系构造上占据空间为40k左右,其内核数据构造占据1.5k字节空间。
2.2.4 人机交互接口MMI
随着社会发展,人们对手机规定越来越高,良好通话质量,美观外形,和谐人机界面,已成为人们追求目的。因而,手机人机界面设计和开发无论对顾客还是对公司,都日益重要。其重要提供移动台(手机)全面控制和手机与顾客之间接口,功能涉及:顾客键盘输入、手机状态和呼喊解决过程显示、SIM卡和通讯录管理、PIN码控制、缩位拨号等。
2.3 手机嵌入式系统
实时操作系统(Real Time Operating System)是依照操作系统工作特性而言。实时是指物理进程真实时间。实时操作系统是指具备实时性,能支持实时控制系统工作操作系统。首要任务是调度一切可运用资源完毕实时控制任务,另一方面才着眼于提高系统使用效率,重要特点是要满足对时间限制和规定。
2.3.1 多任务解决机制
在嵌入式实时系统中,进程(或任务)是操作系统核心,操作系统存在归根结底就是为了提供一种运营程序空间。多任务系统执行过程事实上就是一系列任务在三种状态中循环流动、轮流被内核调度过程。每个任务都是一种无限循环,并且在同一时刻可运营任务只能处在运营态、就绪态或阻塞态三种基本状态之一[19]。如图2.4所示:
运营
就绪
阻塞
被调度
时间片
用完
资源释放或事件完毕
等待资源或事件
图2.4 任务状态及转化
在市场推动下,手机功能在不断发展。摄像头、MP3、蓝牙这些功能可以依托硬件,对CPU压力还不是很大。但java虚拟机、嵌入式浏览器等应用软件就会对CPU资源有较高规定。不论是单CPU还是双CPU,多任务机制在手机中就显得非常重要。在同一时间咱们会有许多事情要去做,例如进行电源管理,协解决器管理,文献系统管理,串口管理,显示管理,SIM卡管理,LCD显示管理,顾客输入管理等等。如果是单任务串行机制,那么操作系统实时性就无法保证了。
2.3.2 基于优先数任务调度
每个进程均有一种优先数,数值大表达优先级高,系统在调度时总选取优先数大占用CPU。优先数拟定有两种:
静态优先数法:进程创立时就规定好它优先数,这个数值在进程运营时不变。拟定数值时可以考虑采让外设进程或终端顾客进程优先。
动态优先数法:进程优先数在执行过程中可以依照状况而变化。
大多数嵌入式实时操作系统使用是基于优先级可抢占式调度方略,应当采用优先级继承和优先级天花板方略来解决和避免优先级反转问题。
手机嵌入式系统中,任务优先级概念体当前窗口管理机制上。设立窗口优先级目是为了保护那些重要窗口不被打断。例如,当手机在呼喊状态时是处在Call窗口,在Call过程中不可以浮现被SMS或者Alarm窗口打断状况,否则会影响正常Call过程。
2.3.3 任务间通信
在一种实时系统中,也许有许多任务作为一种应用一某些执行。系统必要提供这些任务间迅速且功能强大通信机制。两个并行进程可以通过互相发送消息进行合伙,消息是通过消息缓冲而在进程之间互相传递。任务之间通信有三种方式:信箱、队列FIFO和管道PIPE。
1.信箱
信箱是任务间发送消息接口,也是OS提供一种机制。每个任务可以定义一种信箱,其她任务可以给它发送消息。每个消息构造中有个是信号量,它与某一事件联系,而此事件是由于信箱中来了消息激发。然而如果一种任务需要从各种信箱中得到消息,它必要可以懂得事件标记和事件已经发生。信箱可以当作是长度为1队列,它消耗资源少于队列,运营速度快于队列。
2.队列FIFO
FIFO是一种先进先出队列。它类似于一种管道,只容许数据单向流动。每个FIFO均有一种名字,容许不有关进程访问同一种FIFO。因而也成为命名管。
3.管道PIPE
管道普通用于两个不同进程之间通信。当一种进程创立一种管道,并调用fork创立自己一种子进程后,父进程关闭读管道端,子进程关闭写管道端,这样提供了两个进程之间数据流动一种方式。
2.3.4 任务间同步
内核也要提供为了有效地共享不可抢占资源或临界区所需同步机制。任务之间同步有三种方式:信号量、事件组和信号。
1.信号量(semaphore)
信号量提供了对临界资源控制机制。所谓临界资源指是在同一时刻只能为一种顾客所使用资源。对信号量基本操作是得到(obtain)和释放(release)信号量。得到信号量是信号量值减少;释放信号量使信号量值增长。
2.事件组(event group)
事件组提供一种机制,指明了某种系统事件发生。一种事件由在事件组变量中某一位(bit)来代表,该位被称为一种事件标志。事件标志使用是同步,任务并不懂得事件标志浮现直到浮现特定服务祈求。普通每个事件组中有32个事件标志。
3.信号(signal)
信号以异步方式操作,当信号浮现时任务被中断,一种先前被任务定义特定信号解决程序被执行。每一种任务具备解决32个信号能力。每一种信号由变量一位(bit)代表。
2.4 小结
在本章中一方面简介了手机硬件构造和软件构造,其中详细研究了移动通信合同体系构造,并用对比喻式简介了流行嵌入式实时操作系统,最后重点对嵌入式实时系统特点做了详细分析。
本项目是基于GSM网络,从界面、功能、外观等各角度在MTK平台上达到高仿某款手机效果。而该款手机采用Symbian操作系统在智能移动终端上拥有强大应用程序以及通信能力,它特性涉及文献系统、图形顾客界面框架、多媒体支持、TCP/IP栈和库,提供软件开发包可以供第三方应用程序开发使用。Symbian体系中有各种可选取UI平台以适应不同顾客需求。这些长处是普通手机平台难以实现,固然这也是本项目难点所在。因而,项目首要任务是先对原始需求进行充分评估和合理设计。
第三章 MMI研究与分析
3.1 MTK平台总体设计
手机软件重要涉及运营软件和调试软件两大某些。本项目中运营软件重要由:GSM合同栈、Nucleus操作系统、设备驱动、MMI和WAP模块构成。MTK提供调试软件有:Catcher、META[20]。它们作用在于监视软件实时运营,加速手机运营软件开发。整个软件构造如图3.1所示:
Catcher
META
JAVA
MMI
WAP
L2/L3 Protocol Stack
Drivers
L1 Protocol Stack
L4C
ck
Nucleus
OS
图3.1 MTK软件构造
其中,Drivers是整个系统外围设备驱动程序,WAP是无线应用合同,JAVA是J2ME软件。
3.1.1 适配层KAL
MTK平台使用了Nucleus Plus实时操作系统。本系统设计了一种操作系统适配层(KAL)在其上做了个内核抽象层封装,使得手机软件独立于Nucleus操作系统。为了保证MMI task上所有程序能在PC机上正常运营,这层是必要。它封装了某些API,它们为其她软件提供了诸多系统服务函数,例如时钟管理、任务管理(同步和通信)、资源管理,内存管理等[21]。如图3.2所示:
OSL
KAL
Nucleus
or other
RTOS
图3.2适配层KAL
3.1.2 适配层L4[22]
MTK平台中,L4层是MMI与AT和合同栈之间一种适
展开阅读全文