首页> 中文学位 >手机软件开发中的程序加载方法研究及应用
【6h】

手机软件开发中的程序加载方法研究及应用

代理获取

目录

文摘

英文文摘

论文说明:图表目录

声明

第1章 绪论

1.1 目的与意义

1.2 主要研究内容

1.3 本文主要工作

1.4论文组织结构

1.5本章小结

第2章重要概念与相关研究

2.1 智能手机和功能手机

2.2手机的本机程序加载过程

2.2.1 嵌入式系统的交叉编译与链接

2.2.2 GNU make编译机理

2.2.3 本机程序的加载链接过程

2.3 智能手机的第三方应用动态加载方法

2.4功能手机的第三方应用动态加载方法

2.5 本项目采用的动态加载方法

2.6本章小结

第3章 ELF文件动态加载应用程序分析

3.1 ELF文件的结构

3.1.1 ELF文件格式

3.1.2 ELF文件头(ELF Header)结构

3.1.3 ELF文件节区(Sections)结构

3.1.4 ELF文件的重定位信息

3.1.5程序头部表格(Program Header)

3.2 ELF文件的符号动态解析

3.2.1 解析符号的ELF文件相关信息

3.2.2符号动态解析

3.3 ELF文件重定位的实现

3.3.1 静态重定位的实现

3.3.2动态重定位的实现

3.4 ELF文件运行过程总结

3.5 本章小结

第4章 动态加载平台的具体实现

4.1 综述

4.2 函数跳转

4.2.1 函数跳转表

4.2.2 函数跳转表的自动生成

4.3 重定位的实现

4.3.1 该系统定义文件格式分析

4.3.2重定位实现

4.4外部资源访问

4.4.1字符串处理

4.4.2 图片与铃声处理

4.4.3 资源查找

4.5 PC上开发环境建立

4.6本章小结

第5章 项目测试与评价

5.1 项目测试

5.1.1 测试环境

5.1.2测试过程

5.1.3 调试过程中遇到的主要问题及解决方法

5.2测试结果与评价

5.2.1 测试结果

5.2.2评价

5.2.3 论文成果的实际应用价值

5.3本章小结

结论与展望

结论

平台目前存在的问题

下一步工作设想

本章小结

参考文献

附录A攻读硕士研究生期间发表的论文及参与的项目

致谢

展开▼

摘要

目前的功能手机的程序加载一般采用的方法是静态链接,将所有的应用程序与内核一同编译成目标机上的可执行的二进制文件,然后下载到非易失性的存储设备上运行。这种方案要完善手机功能,只有不断增加手机的本机应用程序,无法加载第三方应用程序。然而,手机系统的硬件资源非常有限,不断增加本机应用程序与非易失性的存储设备存储容量之间是矛盾的,因此目前的功能手机实现第三方应用程序加载基本上都是通过中间件技术,譬如通过移植J2ME中间件技术来加以实现。可是移植J2ME将带来较大的系统开销,大约要占用1.2MB的ROM加载空间,运行时需要600KB的RAM空间,效果不是非常理想。 本文通过对嵌入式系统的程序静态加载方法、函数跳转的实现方法、手机动态加载第三方应用程序的方法以及ELF文件的动态加载过程的研究,根据一个具体的项目需求,要在功能手机上以极小的系统开销实现第三方应用程序的动态加载,提出了一种新的实现动态加载的方法,其基本思想是:首先通过ADS1.2在PC机端编译,指定虚拟的ROM地址和RAM地址编译形成ELF文件,文件中包含所有需要重定位数据的地址(虚拟地址),然后将ELF文件中的各个段按照自己设置的文件格式形成一个新的文件。动态加载时在手机RAM中申请与文件大小相同的空间,将整个文件载入到RAM中。通过重定位的数据,找到该数据所在的位置,把该数据地址减去虚拟的RAM地址再加上目标端申请到的空间的首地址,这样就完成了重定位.然后把手机端的PC指针指向代码的首地址,直接运行即可完成动态加载。 根据本文提出的动态加载方法,在MTK手机开发环境下设计并实现了一个可以实现第三方应用软件动态加载的开发平台,扩充了功能手机的程序加载功能。通过测试,该动态加载平台占用的系统资源极少,加载时需要占用目标端的ROM空间为31KB,非运行状态所需的RAM空间小于1KB,成功地在1GB的t卡上加载了第三方开发的满足MTK编程规范的全部应用软件2450个,占用t卡不到600MB,而且都能够顺利地运行,速度比较理想,很好地解决了应用方和厂商方提出的问题。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号