[发明专利]一种手机嵌入式系统中动态加载的方法无效
申请号: | 200810042343.9 | 申请日: | 2008-09-01 |
公开(公告)号: | CN101668283A | 公开(公告)日: | 2010-03-10 |
发明(设计)人: | 胡铸韬 | 申请(专利权)人: | 沃勤网络科技(上海)有限公司 |
主分类号: | H04W8/24 | 分类号: | H04W8/24;G06F9/445 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200235上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 手机 嵌入式 系统 动态 加载 方法 | ||
技术领域
本发明涉及无线通信技术领域,尤其涉及一种增强手机嵌入式系统加载功能的方法。
背景技术
传统的手机嵌入式系统(例如ARM、Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX、Rtems、QNX、INTEGRITY、OSE、C Executive等系统)都是把程序全部烧入只读存储器(ROM)中,手机在FLASH上加载并运行程序。动态加载功能目前只有智能机操作系统(SYMBIAN、WINDOWS MOBILE)才有,采用实时操作系统的手机平台(例如基于MIPS的RTOS平台)不具备动态加载功能。因此,程序的使用受到FLASH大小的限制,并且若程序员需要更新程序,则只能全部更新,而无法做到部分地更新。
要解决上述问题,目前市面上有一种系统:高通的BREW,但是BREW必须配套高通专门的芯片才能使用。
因此,手机开发业界存在一种技术需求:提供一种手机嵌入式系统中动态加载的方法,使得实时操作系统具备动态加载功能。
发明内容
本发明的目的是提供一种手机嵌入式系统中动态加载的方法,包含如下步骤:
编译应用程序,将应用程序独立编译为一个程序文件,程序文件描述了程序文件所支持的处理器架构及节头表所在的位置;
加载程序文件,通过节头表读出指令及只读数据节、初始化的全局变量节和未初始化的全局变量节在程序文件中的位置,将指令及只读数据节、初始化的全局变量节和未初始化的全局变量节加载到内存的适当位置即实现程序的动态加载;
初始化运行环境,将堆栈和堆的配置参数传递给应用程序,重构_rt_stackheap_init()函数;
参数替换,当执行初始化运行环境步骤至函数_rt_init_stackheap()时,用加载器传入的参数替换_rt_init_stackheap()函数;
继续初始化,用加载器传入的参数继续初始化程序运行环境步骤;
生成目标代码,将应用程序生成为ROPI(READ ONLYPOSITION INDEPENDENT,只读位置无关)和RWPI(READ WRITE POSITION INDEPENDENT,读写位置无关)代码模式;
调用宿主函数,首先将宿主函数名称传递给符号表函数,符号表函数将宿主函数的地址返回给应用程序,应用程序将宿主函数的入口参数填写完毕后跳转至函数地址,即完成调用宿主函数的过程;
中断C运行时库的退出部分流程,完成程序文件的动态加载过程。
在本发明的其中一个实施例中,加载应用程序的步骤包含如下步骤:
读入程序文件头部的加载信息;
根据加载信息计算程序加载后所需要使用的内存容量;
根据加载信息将程序加载到内存中;
初始化传递给程序的参数列表,将参数列表复制到程序的参数区;
跳转到程序的入口地址。
本发明的优点是:使手机的实时操作系统具有动态加载功能。
附图说明
下面结合附图,通过对本发明的具体实施方式的详细描述,将使本发明的技术方案及其他有益效果显而易见。
图1为本发明手机嵌入式系统中动态加载的方法流程图;
图2为本发明中加载程序文件的工作流程图。
具体实施方式
为了更进一步了解本发明的特征,请参阅以下有关本发明的详细说明与附图,然而所附图式仅提供参考与说明之用,并非用来对本发明的保护范围加以限制。
如图1所示,为本发明方法的流程图。首先101程序开始执行,然后执行102编译应用程序;编译应用程序:将应用程序独立编译为一个程序文件,主流的程序文件格式有ELF(Executable and LinkableFormat)、a.out(UNIXv5标准)、PE(Portable Executable,Microsoft Windows专用格式)。ARM公司提供的ADS所生成的程序文件格式是ELF,ELF相对于平面结构的a.out格式有着更好的扩展性和平台无关性,相对于Windows专用的PE格式,ELF能够更好地支持异构平台。ELF文件的格式如下表所示:其文件头部的ELF header描述了程序文件所支持的处理器架构及节头表(Section header table)所在的位置。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沃勤网络科技(上海)有限公司,未经沃勤网络科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810042343.9/2.html,转载请声明来源钻瓜专利网。