(计算机科学与技术专业论文)mtk平台终端软件动态加载技术的研究与应用.pdf_第1页
(计算机科学与技术专业论文)mtk平台终端软件动态加载技术的研究与应用.pdf_第2页
(计算机科学与技术专业论文)mtk平台终端软件动态加载技术的研究与应用.pdf_第3页
(计算机科学与技术专业论文)mtk平台终端软件动态加载技术的研究与应用.pdf_第4页
(计算机科学与技术专业论文)mtk平台终端软件动态加载技术的研究与应用.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机科学与技术专业论文)mtk平台终端软件动态加载技术的研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

、? 乏二二z t j i i irl i i ii llllj il liil y 17 18 9 7 4 t h er e s e a r c ha n da p p l i c a t i o no ft e r m i n a ls o f t w a r e sd y n a m i c l o a d i n gt e c h n o l o g yi nm t k m o b i l ep l a t f o r m s p e c i a l t y :q 幽巫丛s q i 曼堡曼坠堡匦q ! q 毅 m a s t e rd e g r e eca n d i da t e : z h 坠里i 塾gh 坠i s u p e r v i s o r :堑堡曼里! q h 曼丑垫垦i 煦 c o l l e g eo fi n f o r m a t i o ns c i e n c e e n g i n e e r i n g ce n t r a ls o u t hu n i v e r s i t y c h a n g s h ah u n a n p r c 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了论文中特别加以标注和致谢的地方外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得中南大学或其他单 位的学位或证书而使用过的材料。与我共同工作的同志对本研究所作的贡献均 已在论文中作了明确的说明。 作者签名: 拯芏辉 日期:型l 年上月监日 学位论文版权使用授权书 本人了解中南大学有关保留、使用学位论文的规定,即:学校有权保留学 位论文并根据困家或湖南省有关部门规定送交学位论文,允许学位论文被查阅 和借阅;学校可以公布学位论文的全部或部分内容,可以采用复印、缩印或其 它手段保存学位论文。同时授权中国科学技术信息研究所将本学位论文收录到 中国学位论文全文数据库,并通过网络向社会公众提供信息服务。 作者签名:j 丕墀 导师签名避日期:也年羔月监日 摘要 随着移动通信迅猛发展,手机己成为集通讯、报纸、广播、电视 及电脑优势于一身的移动通信终端设备。m t k 平台因其开发门槛低、 开发周期短、功能集成度高而成为国内生产手机的主流平台。它的基 带芯片已经占据国内市场总份额6 0 以上。但是,该平台采用静态链 接加载程序,将所有终端应用程序和系统内核一起编译成二进制文件 下载到非易失性的存储设备上运行。此模式无法动态加载第三方应用 软件,给扩充手机终端应用带来极大不便,增加大量的终端应用程序 也使得存储设备空间不够用。 本文通过对嵌入式系统的程序静态加载方法、a d s 编译器的编 译方式以及m f c 事件框架体系的研究,在m t k 平台上提出和实现 一种用c 语言结构体模拟c + + 类继承思想的解决办法,建立一种基 于f u n c t i o n 函数以及s t r u c t 结构体的加载机制,从而将整个第三方应 用重分解为基于f s ( f u n c t i o n s t r u c t ) 的软件模式。该模式以动态创 建组件与控制组件的框架为出发点、采用动态加载引擎的方式、解释 执行自定义脚本数据、动态调用函数与创建结构体,最终达到在物理 上将应用和系统完全分离的目的。同时该模式向应用层提供一套公用 函数接口,可在上面快速进行二次开发,大大提高了软件的可重用性。 该模式采用类的继承思想将数据和操作进行封装,大大节约了代码空 间、提高了函数调用和执行的效率、增强了数据隐蔽性。 本文描叙了该终端软件动态加载技术的设计思想,详细说明整个 框架和应用加载的实现过程与效果,有效验证了某种特定平台下手机 终端软件动态加载的开发模式。整个框架在m t k 平台中采用t c p i p 通信协议实现s o c k e t 多线程下载数据,采用优化后的l z w 算法进 行多个文件打包与分割压缩包,最终将多个s p 应用下载安装到手机 终端运行。手机出产后可通过g p r s 网络安装同类型的应用到手机终 端,也可更换已移植应用的功能、皮肤、界面主题等,成功的解决了 存储设备空间限制与终端软件动态加载等问题。 关键词m t k 平台,m f c ,c + + 类,终端软件,f s ,t c p i p ,l z w , s o c k e t ,动态加载 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to fm o b i l ec o m m u n i c a t i o n ,m o b i l e p h o n e h a sb e c o m et h et e r m i n a l e q u i p m e n t w i t h a d v a n t a g e s o f c o m m u n i c a t i o n ,n e w s p 印e r s ,r a d i o ,t e l e v i s i o na n dc o m p u t e r b e c a u s eo fa l o wa c c e s sf o ri t sd e v e l o p m e n t ,s h o r td e v e l o p m e n tc y c l ea n dah i g h d e g r e eo ff u n c t i o n a li n t e g r a t i o n ,m t kp l a t f o r mh a sb e c o m et h ed o m i n a n t p l a t f o r mf o rd o m e s t i cm o b i l ep h o n e sp r o d u c t w h a t sm o r e i t sb a s eb a n d c h i ph a sat o t a ls h a r eo ft h ed o m e s t i cm a r k e ta c c o u n tf o ro v e r6 0 h o w e v e r , t h ep l a t f o r mu s e ss t a t i cl i n kt ol o a dt h ep r o g r a ma sw e l la sa l l 也et e r m i n a la p p l i c a t i o na n dt h ek e m e la l ec o m p i l e dw i t hb i n a r yf i l et o t h en o n v o l a t i l e s t o r a g ed e v i c e t h i sm o d e lf a i l s t o1 0 a ds o f t w a r e a p p l i c a t i o n sd y n a m i c a l l y , w h i c hb r i n g sg r e a ti n c o n v e n i e n c et oe x p a n dt h e f u n c t i o no f m o b i l et e r m i n a la p p l i c a t i o n sa n dl e a d st ob es h o r to fs t o r a g e s p a c e i nt h i sp a p e r , a c c o r d i n gt ot h er e s e a r c ho fe m b e d d e ds y s t e m ss t a t i c l o a d i n gm e t h o d ,t h ec o m p i l em e t h o d so fa d sc o m p i l e ra n dt h ee v e n t f r a m e w o r k s y s t e mo fm f c ,i tp r e s e n t sa n dr e a l i z e sas o l u t i o no fu s i n gt h e s t r u c t u r eo fc l a n g u a g et os i m u l a t ec l a s si n h e r i t a n c eo fc + + i nt h em t k p l a t f o r m m o r e o v e r , i te s t a b l i s h e sal o a d i n gm e c h a n i s mb a s e do nf u n c t i o n a n ds t r u c t u r e ,w h i c hw i l ld e c o m p o s et h ee n t i r ea p p l i c a t i o nt ot h es o f t w a r e m o d e lb a s e do n f s ( f u n c t i o n & s t r u c t ) t h em o d e li s b a s e do n c o m p o n e n t sa n dc o m p o n e n t sc o n t r o l l e df r a m e w o r kw h i c ha r ec r e a t e d d y n a m i c a l l y , u s i n gd y n a m i cl o a d i n ge n g i n em e t h o d s ,e x p l a i n i n ga n d i m p l e m e n t i n gt h ec u s t o ms c r i p t sd a t as i m u l t a n e o u s l y , c a l l i n gt h ef u n c t i o n a n dc r e a t i n g 血es t r u c t u r ed y n a m i c a l l y , w h i c hu l t i m a t e l ya c h i e v e st h e p u r p o s eo fc o m p l e t e l ys e p a r a t i n ga p p l i c a t i o n sa n ds y s t e m si np h y s i c a l a s p e c t s a tt h es a m et i m e ,t h i sm o d e lp r o v i d e sac o m m o nf u n c t i o n i n t e r f a c et oa p p l i c a t i o nl a y e r , a b o v ew h i c hy o uc a n q u i c k l yd o t h e s e c o n d a r yd e v e l o p m e n tg r e a t l yi m p r o v i n gt h es o f t - w a r er e u s a b i l i t y n i s m o d e lu s e sc l a s si n h e r i t a n c ei d e a st oe n c a p s u l a t ed a t aa n do p e r a t i o n s i g n i f i c a n t l ys a v i n gc o d es p a c ea n de x t r e m e l yi n c r e a s i n gt h ee f f i c i e n c yo f f u n c t i o nc a l l sa n de x e c u t i o n ,g r e a t l ye n h a n c i n gd a t as e c u r i t y u r -j 一 一 。-一 l1 1 1 sp a p e rd e s c nb e st h ed e s i g ni d e ao fd y n a m i cl o a dt e c h n o l o g yo f t e r m i n a ls o f t w a r e ,a n di th a sd e t a i l e dd e s c r i p t i o ni nt h ep r o c e s sa n de f f e c t o fe n t i r ef r a m e w o r ka n d a p p l i c a t i o nl o a d i n g ,e f f e c t i v e l yt e s t i n g a m o b i l e st e r m i n a ls o f t w a r ed y n a m i cl o a d i n gm o d eu n d e rt h ep a r t i c u l a r p l a t f o r m 。t h ee n t i r ef r a m e w o r ka p p l i e st c p | i pc o m m u n i c a t i o np r o t o c o l t oa c h i e v em u l t i - t h r e a d e dd o w n l o a d i n gd a t a a d o p t st h ea d v a n c e dl z w a l g o r i t h mf o rm u l t i p l ef i l ec o m p r e s s i o na n ds e g m e n t a t i o np a c k a g e , e v e n t u a l l yd o w n l o a d sa n di n s t a l l sas e to fs pa p p l i c a t i o n st ot h ec e l l p h o n et e r m i n a l t h ef r a m e w o r ki n s t a l l st h es a m et y p eo fa p p l i c a t i o n st o t h em o b i l et e r m i n a l s t h r o u g hg p r sn e t w o r ka f t e rp h o n eo u t p u t f u r t h e r m o r e ,i tc a na l s ou p d a t et h et r a n s p l a n t e da p p l i c a t i o n s f u n c t i o n s k i na n dt h e m e ,s u c c e s s f u l l ys o l v i n gt h es t o r a g ed e v i c es p a c e1 i m i t a t i o n s a n dt h ep r o b l e mo ft h em o b i l e st e r m i n a ls o f t w a r ed y n a m i cl o a d i n g k e y w o r d sm t k p l a t f o r m ,m f c ,c + + c l a s s e s ,t e r m i n a ls o f t w a r e ,f s , t c p i p ,s o c k e t ,d y n a m i cl o a d i n g i i i 目录 第一章绪论l 1 1 研究背景和意义1 1 2 国内外研究现状2 1 2 1j a v a 中间件在m t k 上的研究进展3 1 2 2 动态加载技术概述4 1 2 3m t k 实现动态加载存在的问题及研究热点5 1 3 本文结构安排6 第二章m t k 手机平台系统结构7 2 1a d s1 2 编译过程7 2 1 1a d s 集成开发环境介绍。7 2 1 2m t k 平台编译过程8 2 2g s m 手机体系结构介绍9 2 3m t k 软件体系结构1 0 2 3 1m t k 协议栈分析。1 l 2 3 2n u c l e u s 实时操作系统1 1 2 3 3m m i 层结构与功能介绍1 2 2 3 4m m i 层开发要求1 3 2 4m t k 平台主要开发工具1 3 2 5 本章小结1 4 第三章m f c 控件研究与f s 结构机制1 5 3 1m f c 消息机制1 5 3 2m f c 控件机制j 16 3 3c 抖类继承思想1 7 3 3 1 类继承的含义与方式1 7 3 3 2 基类与派生类之间的关系1 7 3 4m m i 层系统消息与事件分析1 8 3 4 1m m i 层窗口工作流程1 8 3 4 2m m i 层窗口消息管理1 8 3 5f s 结构模式19 3 5 1f u n c t i o n 与s t r c u t 的定义2 0 3 5 2f u n c t i o n 与s t r c u t 的实现2 1 w 3 5 3 容器的定义与对控件集的调度。2 3 3 6 本章小结2 5 第四章m t k 终端动态加载实现过程2 6 4 1 框架捕获系统事件2 6 4 1 1m t k 按键捕获过程2 6 4 1 2 框架捕获的其他事件2 8 4 2s o c k e t 下载文件2 9 4 2 1g p r s 与s o c k e t 通信介绍2 9 4 2 2 客户端s o c k e t 通信流程2 9 4 2 3 数据体分析3 0 4 3 脚本解析执行31 4 3 1 脚本词法分析和语法分析3 3 4 3 2 脚本语义分析和脚本执行3 4 4 4s p 短信计费设计3 5 4 4 1 定义6 2 进制3 5 4 4 2 进制转换算法设计3 6 4 4 3 进制转换算法小结3 6 4 4 4 短信内容监控3 7 4 5 本章小结3 7 第五章综合娱乐平台的移植与测试3 9 5 1m t k 系统环境搭建与调试3 9 5 2 综合娱乐平台应用效果分析4 0 5 2 1 天气预报设计4 0 5 2 2 新闻设计4 1 5 2 3 找工就业设计:4 2 5 2 3 电子书设计4 2 5 2 4 动态更新综合娱乐平台风格4 3 5 3 本章小结4 4 第六章总结与展望4 5 6 1 总结4 5 6 2 展望4 5 参考文献4 7 致谢5 0 攻读学位期间主要的研究成果51 v 硕士学位论文第一章绪论 1 1 研究背景和意义 第一章绪论 随着全世界信息方面的产业高速发展,移动终端设备已转变为世界各个国家 发展信息技术的热门方向,手机已逐渐演变成集合了交流平台、娱乐平台、商务 平台于一体的终端设备【l 】。人们可以通过手机进行网上银行交易、无线证券交易、 无线网上购物等应用。同时移动终端的竞争也越发激烈,市场也为手机的设计提 出了更高需求,功能强大、外观时尚、界面友好、性能优良的手机才能在市场占 有一席之地。联发科技股份有限公司m t k ( 英文全称叫m e d i a t e k ) 以其手机芯 片的高度集成度、高性能而迅速成为手机芯片市场的主流。m t k 将视频、摄像头、 m p 3 、触摸屏等时下流行的功能全部集成到芯片中,手机厂商不需要花费很多物 力和人力来进行研发,只需简单的组装就可以生产出最终产品。这样的手机产品 功能齐全,价格低廉,质量与其他手机厂商产品相比也毫不逊色。 随着现代嵌入式技术的飞速发展,手机功能已日益强大,除了具备最基本的 通话功能外,还具备了p d a 大部分功能,特别是具备了个人信息管理以及基于 无线数据通信的浏览器和电子邮件等功能【2 】。手机平台慢慢的融合了 3 c ( c o m p u t e r 、c o m m u n i c a t i o n 、c o n s u m e r 、计算机、通讯、消费者1 这些性能。 一方面,由于现在手机所包含的功能模块不断增多,所需处理的数据量与耗电量 也成直线上升。另一方面,手机芯片设计过程与结构正日趋复杂,这必然会推迟 手机的上市时间。采用哪种手机开发平台对手机开发商来说意义巨大:先进、成 熟的手机开发平台不仅能大程度上降低技术风险,减少开发成本,缩短新产品研 发周期,还有利于生产厂商迅速进入并占领市场。因此,越来越多的手机厂商在 重视外型设计的同时,也开始把手机开发平台的构建作为其提升核心竞争力的重 中之重。总的来说,移动通讯行业目前的情况与2 0 多年前p c 行业非常类似, 那就是整个移动终端仍然还没有一个通用的应用软件平台。 s y m b i a n 操作系统提供了灵活的应用界面( u i ) 框架,其核心公司不但提供 开发者相关开发技术,同时还使手机制造商能够推出不同界面的产品。s y m b i a n 系统手机可以采用多种应用输入形式( 键盘输入、触摸屏输入、混合输入) 。采用 c + + 作为其开发语言,利用面向对象的解决办法来满足开发需求【3 】。 w i n d o w sm o b i l e 系列操作系统是在微软计算机的w i n d o w s 操作系统上变化 而来的。采用该操作系统的智能手机在其它硬件配置( 如内存、储存卡容量等) 上也较采用其它操作系统的智能手机高出许多,操作起来速度会比较快。但是, 硕士学位论文第一章绪论 此系列手机也有一定的缺点,如因配置高、功能多而产生耗电量大、电池续航时 间短、硬件采用成本高等。w i n d o w sm o b i l e 系列操作系统包括s m a r t p h o n e 以及 p o c k e tp cp h o n e 两种平台。p o c k e tp cp h o n e 要用掌上电脑型的智能手机,而 s m a r t p h o n e 则主要为智能手机提供操作系统。 m t k 创立于公元1 9 9 7 年,是当今世界顶尖的i c 专业设计公司,位居全球 消费性i c 片组前几位 4 1 。m t k 作为全球i c 设计领导厂商,专注于无线通讯以 及多媒体等技术领域的研究。目前在大陆占有超过6 0 的手机基带芯片份额,而 a d i 在大陆手机基带芯片市场的占有率也近1 0 ,a d i 也就顺理成章的成为了 联发科的子公司。随着m t k 手机的需求越来越多元化,研究m t k 平台在手机中的 应用前景变得非常广阔、市场前景也相当可观。但是m t k 上的终端应用大多 是在手机出产前全部内置到手机的内核中,与系统内核一起编译生成二进制b i n 文件,最终下载到手非易失真设备上。考虑到成本问题,手机的硬件配置和容量 都有一定的限制,这使得上面加载的应用急剧受到限制。一方面,厂商为了增强 手机的娱乐性、功能性以及用户的体验度,会尽可能多的加载终端应用来吸引用 户。另一方面,加载应用要占据手机的r o m 与r a m 空间,这使得一台手机的 承受能力相当有限。再者,m t k 的扩充性和多任务处理上效果不是很理想,这 使得很多j a v a 的程序在m t k 平台上都不能运行。虽然m t k 这方面正在进行扩 充,目前也越来越多的支持j a v a 应用,但是j a v a 作为中间件,对系统的硬件要 求比较高,很多低端机器完全无法运行j a v a 应用。 对于大部分的手机方案公司来说,手机软件设计是一项大型软件系统工程。 但是用户已不满足于实现语音通讯,他们对功能、外观、款式也有相当高的要求, 用户与手机的交互程度已经是衡量一个手机是否智能化的标准。交互的主要部分 就是人机交互功能,人机界面功能的强弱和稳定性直接影响用户对手机的满意程 度,与手机的在市场上的销量和生产商的利益息息相判5 1 。在此情形和背景下, 研究m t k 平台终端应用的动态加载已经到了刻不容缓的地步。在有限硬件资源配 置下,充分利用手机终端资源更大限度的加载了终端应用。采用动态加载技术嵌 入一套动态加载框架、随时动态加入新应用、实时完成已有应用更新将使得这些 问题迎刃而解。 1 2 国内外研究现状 自从2 0 0 8 年开始中国将逐步开通移动3 g 网络,3 g 手机以满足人的个性化 需求为目的之一,因此手机定制化将成为流行趋势,也因此催生出了很多新的手 机解决方案公司,目前的手机解决方案公司的开发大多依托某个手机开发平台进 行。对于整个手机产业链来说,平台开发公司处于产业链的上层,他们依照不同 2 硕士学位论文第一章绪论 手机技术标准为方案公司提供软件和硬件基础,其中硬件方面包括基带、射频、 各种管理及应用芯片,软件方面包括基于基带基本硬件驱动及通信协议栈,操作 系统等。 因为手机厂商会根据自己本身的条件来选择不同的操作系统和芯片,即使 g s m 6 】等通信规范中协议栈的相关结构是用一个规范来设定的,但是实现的过程 都会不一样的,这就导致了代码之间很不兼容这种现象。由于协议栈的功能固定 且实现难度非常大,加上软件提供商又实行技术保密;技术实力雄厚的手机制造 商,如m o t o r o l a 、n o k i a 都自行开发了一套m m i 。拥有独立知识产权的应用层软 件的重要性已被以o e m 方式起家的国产手机厂商意识到了,应用层软件开发在 国内异常的火爆,他们的重点基本集中在手机基本功能上,比如语言本土化,一 些u i 设计等。在对应用层软件进行修改的过程中也出现了非常多问题,比如: 软件结构都是基于状态调整的,这就会使函数的关系发生变化以及硬件方面也需 要进行调整;输入输出设备在手机系统中是很重要的部分,它们的改动将会直接 影响应用层方面函数的设计实现;太多的不利因素严重影响了国内手机厂商在手 机选择方面的空间和市场竞争力。在这样的背景形式下,软件架构必须要灵活多 变,扩展力度也需要要大。台湾的m t k 手机平台正好弥补了这些弊端,它为方 案公司和手机厂商设计出了一套完整的解决办法【7 】。 但是联发科技毕竟是不属于大陆的公司,信息封锁其主导产品是必然的,一 些底层核心技术的研究一般都聚集在台湾,并且到目前为为止,m t k 源码一直 实行保护。内地对此平台的研究还停留在外层,很多手机相关领域的专家都对 m t k 技术不甚了解,这就使得大部分的m t k 方案公司也是跟着核心技术在走, 联想约有4 7 的手机都采用了m t k 的t u r n k e ys o l u t i o n 解决方案。就在几年前, t i 的l o c o s t o 、o m a p 平台,英飞凌的u l c 解决方案,还一度是这些国际知名 厂商在手机市场的杀手铜,而m t k t u r n - k e y 方案的巨大成功则证明了在这一领 域平台技术不再是这些巨头们的专属。即使m t k 的t u m k e y 解决方案导致了手 机产品出现了极其严重的同质化现象,但不得不佩服这一策略使得m t k 在手机 市场取得了骄人的业绩。虽然m t k 的成功已无法复制,但“平台战略 思想已 深深渗入到了国内本土厂商,本土厂商正在由从提供单一芯片而逐渐转向“平台 战略转变,手机终端应用也必然成为“平台战略 市场竞争的重头戏【8 j 。 1 2 1j a v a 中间件在m t k 上的研究进展 j a v a 在各个领域中开发的应用都非常丰富,j a v a 应用程序【9 1 因j 2 m e 平台的 成功而被很多移动式的系统所支持。j a v a 以其强大的跨平台特征以及w r i t e o n c e 与r u n a n y w h e r e 性质,被广大的手机开发系统所支持和应用。在将j a v a 虚拟机 硕士学位论文 第一章绪论 移植到操作手机平台中后,该手机系统才能支持j a v a 程序。手机系统硬件设备 一般都采用空间容量不大的f l a s h 和r a m ,所以虚拟机的体积要小,效率也要 有保证,被称为k v m ( kv i r t u a lm a c h i n e ) l 习1 好可以满足这些要求。 s u n 公司在2 0 0 0 年的时候公布了k v m 的参考实现,j a v a 中间件平台由三大 块组成:程序管理系统( a m s ) 、k v m 内核部分、k v m 平台移植的接口层、 m t k 手机系统组成。她们之间的关系如图1 1 所示: 应用程序管理系统( a m s ) k v m 核,c , ( m i d p 2 0 + c l d c l i ) k 移植接口 m t k 系统平台 图l - lj a v a 中f l 件结构 i a v a 作为中间件,主要实现的功能包括下面两部分【1 0 1 。 1 、平台应用管理 j a v a 应用多的超乎人们想象,应用平台管理系统主要是用来管理这个庞大的 j a v a 应用群体。这个管理系统需要完成程序的下载、安装、运行、删除、更新等 功能。 2 、i a v a 虚拟机的实现平台 j a v a 虚拟机在嵌入式上实现有多种方式。可以直接将虚拟机嵌入到与系统配 套的裸机上,也可以直接加载在其他嵌入式操作系统之上,成为一台抽象的计算 机系统。j a v a 强大的平台无关性众多平台应用的最大亮点。m t k 平台采用k v i r t u a lm a c h i n e 作为其中间件核心,设计和实现移植接口都是考虑到虚拟机所需 要实现的功能,最后使得k v m 能够在m t k 平台上成功的运行,j a v a 应用程序 又能在k v m 上运行,这也最终使得j a v a 能够在m t k 上成功运行。 1 2 2 动态加载技术概述 大多数系统的程序链接都分为以下几种:运行时链接、加载时链接和静态链 接。运行链接是指程序运行时才执行库的加载过程。这种方式不会给程序增加额 外的代码和大加载器的内存需求,只有等到某个应用真正使用时才会链接相关库 文件。加载时链接是指程序在编译链接时不把它用到的库链接到执行程序中,当 它被加载器加载的时候才解析执行这些文件,依次把里面用到的库装载到系统运 行【l l 】。它的优点是程序本身代码量会减小,但要看到的是运行时程序占的内存并 4 硕士学位论文第一章绪论 没有减小,另一方面也增加了加载器的工作量和影响了运行速度。它的缺点是可 能会有一些运行开销,使得运行占用的资源较大。静态链接就是将程序和它运行 所需的全部库编译链接成一个二进制执行文件,烧到固定的硬件设施上去。它的 优点是可以独立运行且速度快,但它链接生成的代码空问将会变的非常巨大【1 2 1 。 如果需要在系统中要实现动态加载方式,大致思路如下t 首先需要一种模块 定位机制,这种机制需要让调用者能够在系统中动态定位到与自身相关的模块, 其次是要可以让模块与目标程序动态的关联在一起协调工作。这些问题可通过下 面方式来解决:事先规定好相关模块的声明方式、急需简化目标机端模块地址定 位的工作方式、采用重定位表的机制等等。 1 2 3m t k 实现动态加载存在的问题及研究热点 嵌人式设备相关的应用越发的普及,复杂度也随之上升。软件开发所占分量 越发增大,硬件比重却下降。然而m t k 手机平台采用的传统的开发流程,在编 译的时候会将所有的应用与操作系统内核一起编译,在编译没有错误的情况下将 所有的内容链接成一个独立的整体下载到目标机器上运行。程序和系统是混在一 起编译,到执行的时候再被调用。这种非智能的开发模式使得开发和调试非常的 麻烦,开发周期也很漫长,这些都是市场的需求所不能接受的。 加之受n t , j 新商业模式的驱动,如今智能手机大多数加载了开放的软件平 台,用户可通过手机软件平台下载、更新、运行手机终端应用。第三方软件开发 者只需要准确使用s d k 即可为手机平台开发相关应用,a p ps t o r e 模式成功证实 了智能手机已成为软件的移动销售终端。上面这些也是m t k 也正在向智能平台 转换的原因之一【l 引。 但是有数据表明,市场上低价手机的销售量是智能手机的几倍,面对拥有如 此高的用户覆盖量的手机系统,却迟迟没有相关的开放平台和运营系统在低端手 机出现。较低的硬件处理能力和信息封闭的软件系统是主要限制因素,这也对动 态加载技术做出了更大的挑战。本文提出了基于动态链接的方法、设计了一套面 向m t k 平台的接口方案、采用了框架启动引擎解释执行脚本语句模式。与传统 的编译执行相比较,解释执行脚本的方式在空间小的移动通信设备上具有明显的 优点:整个框架占用非易失性存储空间相当的小:而且运行时占用r a m 空间也 不高;脚本解释执行的框架核心代码小;实现难度低,可移植性好【l4 】。这些优化 处理都恰到好处的填补m t k 的扩充性和多任务处理能力等方面存在的不足。 硕士学位论文第一章绪论 1 3 本文结构安排 本文通过分析m t k 手机开发平台的体系结构、t u r n k e ys o l u t i o n 的核心思想、 a d s1 2 的编译过程、m f c 事件处理机制,抽象出了在m t k 平台上实现动态加 载方式。详细分析了系统m m i 层工作原理、手机系统按键事件的驱动方式、l 4 层的通信方法。将整个动态加载框架内置到平台操作系统之中,抽象出一系列的 对外接口,完成了整个动态加载体系结构。最终在m t k6 2 2 5 上实现了一系列的 第三方应用,完美的诠释了整个框架的可行性和创新性。 本文的具体的章节内容安排如下: 第一章介绍本文的研究背景和动态加载技术的实现意义,进一步分析了国内 外研究现状以及m t k 平台上存在问题及动态加载技术研究热点。 第二章概括a d s1 2 编译程序软件的整个过程,深入分析了m t k 手机平台 的硬件以及软件系统结构,重点研究了m m i 层消息驱动机制的设计和g u i 系统 的设计原理。 第三章总体分析m f c 消息处理机制、控件响应机制。在此基础上提出f s 结构模式,采用c 语言模拟c + + 中类继承思想的一些成分。 第四章运用f s 结构模式搭建整个事件处理框架,抽象一系列对外接口,运 用脚本解析执行的思想实现消息响应与接口调用,最终达到手机终端与用户友好 交互的目的。 第五章展示整个框架在m t k 6 2 2 5 平台上实现效果,在p c 上启动m t k 系 统m o d i s 模拟器,运行框架上加载的第三方应用程序。采用f l a s h t o o l 下载工 具将编译后生成的b i n 文件下载到手机终端运行。 第六章对本文总结以及对后续研究工作进行展望。 6 硕士学位论文第二章m t k 手机平台系统结构 第二章m t k 手机平台系统结构 本文所要设计的动态加载技术框架需要移植到m t k 手机平台中,利用a d s 编译方式设计框架的一些细节,在m t k 协议栈的基础上抽象出了通信方面的接 口,利用m m i 层的一些机制实现整个框架的界面和人机交互部分。所以有必要 熟悉a d s1 2 的编译过程以及m t k 本身处理流程,掌握通信协议栈的结构,熟 悉m t k 软件框架结构,运用系统m m i 层提供的接口进行相应的调用和开发。 2 1a d s1 2 编译过程 2 1 1a d s 集成开发环境介绍 a d s 全称叫做a r md e v e l o p e rs u i t e 1 5 】,是a r m 公司推出的新一代a r m 集 成开发环境。目前a d s 的最新版本是1 2 取代了早期的a d s l 0 版本和a d s l 1 版本。a d s 除了可以安装在w i n d o w s9 8 、w i n d o w s9 5 、w i n d o w sn t 4 和w i n d o w s 2 0 0 0 的操作系统下,还支持w i n d o w sm e 和w i n d o w sx p 操作系统。a r m d e v e l o p e rs u i t e 集成环境主要由以下几个部分组成:g u i ( g r a p h i c su s e ri n t e r f a c e , 图形用户界面) 开发环境( c o d ew a r r i o r 和a x d ) 、命令行开发工具、实用程序 和支持软件。用户可基于a r m 系列的r i s c 处理器编写和调试自己的应用程序。 命令行开发工具在m t k 中应用相对广泛,编译命令通过执行脚本的方式来 让功能完成整个编译的工作。命令行一般写成一个个脚本文件,这样也加快了编 译速度。脚本执行主要是采用p 甜工具来解析。 a d sg u i 开发环境包含c o d ew a r r i o r 和a x d 两种,其中a x d 是调试工具 而c o d ew a r r i o r 是集成开发工具【1 6 1 。 a d s 整个集成环境提供了下面一些工具来配合开发。 ( 1 ) a r m a r ,a r m 库函数生成器将一系列e l f 格式的目标文件以库函数的 形式集合在一起,用户可以把一个库传递给一个连接器以代替几个e l f 文件。 ( 2 ) f r o m e l f 是a r m 映像文件转换工具。该命令将e l f 格式的文件作为 输入文件,将该格式转换为各种输出格式的文件,包括i n t e lh e x3 2f o r m a t ( i n t d 3 2 位格式映像文件) 、m o t o r o l a3 2 - b i ts - r e c o r df o r m a t ( m o t o r o l a3 2 位s 格式映像 文件) 、p l a i nb i n a r y ( b i n 格式映像文件) 和v e r i l o g - l i k eh e xf o r m a t ( v e r i l o g 十 六进制文件) 。 ( 3 ) f l a s hd o w n l o a d e r 是用于把二进制映像文件下载到a r m 开发板上的 7 硕士学位论文 第二章m t k 手机平台系统结构 f l a s h 存储器工具。 a d s 为用户提供a r m u l a t o r 软件【1 7 1 ,使用户调试用户应用程序变得非常的 简便。a r m u l a t o r 是一个a r m 指令集仿真器,集成在a r m 的调试器a x d 中, 它提供对a r m 处理器的指令集仿真,为a r m 和t h u m b 提供精确的模拟。 2 1 2m t k 平台编译过程 m t k 的编译过程主要是在w i n d o w s 命令行下通过m a k

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论