[发明专利]一种嵌入式实时操作系统动态加载方法有效
申请号: | 201710357048.1 | 申请日: | 2017-05-19 |
公开(公告)号: | CN107122216B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 陈树峰;王颖;张杨;王仁;李源 | 申请(专利权)人: | 北京计算机技术及应用研究所 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 张然 |
地址: | 100854*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 实时 操作系统 动态 加载 方法 | ||
本发明公开了一种嵌入式实时操作系统动态加载方法,其中,包括:操作系统通过输入命令行指令,生成操作系统的符号查找表,并作为目标模块动态加载基准符号查找表;当目标模块被载入时,目标模块会将包含的所有外部接口和全局变量列出,构成该目标模块的全局符号查找表,操作系统对全局符号查找表进行解析,确定操作系统能够识别的外部接口和全局变量,并与能够识别的外部接口与全局变量建立链接关系,并添加入操作系统的符号查找表;对目标模块中包含的所有外部接口和全局变量的地址进行重新定位,当运行到外部接口和全局变量时,通过操作系统的符号查找表重新定位到目标模块符号查找表的相应地址处。
技术领域
本发明涉及嵌入式操作系统中动态加载技术的实现方法,特别涉及一种嵌入式实时操作系统动态加载方法。
背景技术
随着嵌入式操作系统地不断深入发展,以及用户需求的多样化,迫切需要一种机制能在操作系统运行状态下配置系统,即动态添加模块。这项技术的突破解决了利用中断程序进行加载的劣势,大大降低了嵌入式操作系统模块调试难度,提升系统综合性能。对保证系统的可靠性,延长系统生命周期,降低系统开发成本都具有十分重要的意义。
动态加载的实现对于嵌入式操作系统非常重要。一方面,现有采用的静态加载的方式存在一定的弊端,需要在运行前将所需的功能模块链接到系统,然后重新编译运行。在运行过程中如若发现需要新增的功能模块,就需要停止正在运行的程序,重新执行链接等全部步骤,大大浪费了空间资源,同时也降低了工作效率。另一方面,针对强实时嵌入式操作系统多任务共享内存地址空间的特性,,一般的动态加载技术并不能满足其动态加载的需求。因此,需要提供一种新型的模块动态加载方式,来实现这一功能。
发明内容
本发明的目的在于提供一种嵌入式实时操作系统动态加载方法,用于解决上述现有技术的问题。
本发明一种嵌入式实时操作系统动态加载方法,其中,包括:操作系统通过输入命令行指令,生成操作系统的符号查找表,并作为目标模块动态加载基准符号查找表;当目标模块被载入时,目标模块会将包含的所有外部接口和全局变量列出,构成该目标模块的全局符号查找表,操作系统对全局符号查找表进行解析,确定操作系统能够识别的外部接口和全局变量,并与能够识别的外部接口与全局变量建立链接关系,并添加入操作系统的符号查找表;对目标模块中包含的所有外部接口和全局变量的地址进行重新定位,当运行到外部接口和全局变量后,通过操作系统的符号查找表,重新定位到操作系统的符号查找表的相应地址处。
根据的嵌入式实时操作系统动态加载方法的一实施例,其中,操作系统根据ELF文件头所需参数,通过输入命令行指令,生成操作系统的符号查找表。
根据的嵌入式实时操作系统动态加载方法的一实施例,其中,还包括:重定位完成后,操作系统调用查找符号函数接口,实现对外部接口的解析,跳转到已解析的符号查找表中的相应地址处。
根据的嵌入式实时操作系统动态加载方法的一实施例,其中,加载目标模块前,调用打开动态库接口,向操作系统发出需要加载目标模块的指令。
根据的嵌入式实时操作系统动态加载方法,其中,未被操作系统解析的外部接口和全部变量,被系统检测到后,以错误码形式告知。
根据的嵌入式实时操作系统动态加载方法的一实施例,其中,重定位完成后,当运行到目标模块中的外部接口和全局变量时,首先在内存中找到目标模块建立的符号查找表中对应该外部接口或全局变量的地址,并调用操作系统中查找符号接口,在新构成的系统全局符号查找表中找到相关联的外部接口或全局变量的相应地址,实现跳转。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所,未经北京计算机技术及应用研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710357048.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种芯片烧录机
- 下一篇:一种通信应用的启动方法及移动终端