论文部分内容阅读
随着移动通信迅猛发展,手机已成为集通讯、报纸、广播、电视及电脑优势于一身的移动通信终端设备。MTK平台因其开发门槛低、开发周期短、功能集成度高而成为国内生产手机的主流平台。它的基带芯片已经占据国内市场总份额60%以上。但是,该平台采用静态链接加载程序,将所有终端应用程序和系统内核一起编译成二进制文件下载到非易失性的存储设备上运行。此模式无法动态加载第三方应用软件,给扩充手机终端应用带来极大不便,增加大量的终端应用程序也使得存储设备空间不够用。本文通过对嵌入式系统的程序静态加载方法、ADS编译器的编译方式以及MFC事件框架体系的研究,在MTK平台上提出和实现一种用C语言结构体模拟C++类继承思想的解决办法,建立一种基于Function函数以及Struct结构体的加载机制,从而将整个第三方应用重分解为基于FS(Function & Struct)的软件模式。该模式以动态创建组件与控制组件的框架为出发点、采用动态加载引擎的方式、解释执行自定义脚本数据、动态调用函数与创建结构体,最终达到在物理上将应用和系统完全分离的目的。同时该模式向应用层提供一套公用函数接口,可在上面快速进行二次开发,大大提高了软件的可重用性。该模式采用类的继承思想将数据和操作进行封装,大大节约了代码空间、提高了函数调用和执行的效率、增强了数据隐蔽性。本文描叙了该终端软件动态加载技术的设计思想,详细说明整个框架和应用加载的实现过程与效果,有效验证了某种特定平台下手机终端软件动态加载的开发模式。整个框架在MTK平台中采用TCP/IP通信协议实现SOCKET多线程下载数据,采用优化后的LZW算法进行多个文件打包与分割压缩包,最终将多个SP应用下载安装到手机终端运行。手机出产后可通过GPRS网络安装同类型的应用到手机终端,也可更换已移植应用的功能、皮肤、界面主题等,成功的解决了存储设备空间限制与终端软件动态加载等问题。