[发明专利]一种基于DSP的动态加载方法有效

专利信息
申请号: 201711458538.7 申请日: 2017-12-28
公开(公告)号: CN108196905B 公开(公告)日: 2019-03-22
发明(设计)人: 韩辉;蒋太金 申请(专利权)人: 北京翼辉信息技术有限公司
主分类号: G06F9/445 分类号: G06F9/445;G06F8/41
代理公司: 南京苏高专利商标事务所(普通合伙) 32204 代理人: 梁耀文
地址: 100095 北京市海*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种基于DSP的动态加载方法,包括ELF文件预处理、ELF文件读取与解析、符号导出、符号重定位和运行模块,其中,ELF文件预处理包括:ELF预处理、在汇编文件中查找符号地址和计算出某个地址对应指令在ELF文件中的位置三个流程。本发明基于CCS编译器实现DSP动态加载的方法解决了B14切换问题;提高可重定位代码执行效率,用于CCS编译器以及GCC编译器所编译的可重定位代码。
搜索关键词: 预处理 动态加载 可重定位代码 编译器 读取 地址对应 符号地址 汇编文件 切换问题 三个流程 运行模块 重定位 导出 编译 解析 指令 查找
【主权项】:
1.一种基于DSP的动态加载方法,其特征在于,包括以下步骤:(1)ELF文件预处理;具体为:(11)反汇编ELF文件,生成汇编文件;(12)定位到汇编文件头;(13)从汇编文件读取一行,判断是否文件结束,若文件结束,则处理结束;否则执行步骤(14);(14)判断其是否为跳转指令匹配正则表达式$(ADDR)CALL PLT_$(FUNC_NAME),如果匹配成功,则说明是跳转指令,执行步骤(15);否则返回到步骤(13);(15)查找目标符号位置在本汇编文件中查找步骤(14)所匹配到的FUNC_NAME字段对应的符号地址;(16)判断目标符号是否在本模块内如果目标符号在本模块内没有找到,则回到步骤(13);否则,执行步骤(17);(17)判断目标地址是否超出相对跳转范围将符号地址减去步骤(14)匹配到的$(ADDR),得到相对跳转偏移,如果偏移超过CALL指令相对跳转的最大值,则返回步骤(13);否则执行步骤(18);(18)计算地址对应的ELF文件位置计算出$(ADDR)地址对应指令在ELF文件中的位置,执行步骤(19);(19)修改地址对应ELF指令根据偏移生成新的“CALL+偏移”指令,修改步骤(18)计算得到的ELF文件位置,更新其内容为新生成的“CALL+偏移”指令;(2)ELF文件读取与解析ELE文件是可执行程序的特有文件格式,里面包含了所有文件执行所需要的相关信息,加载的第一步就是读取和解析文件,建立ELF模块结构;(3)符号导出一个ELF模块需要导出一些符号,给其它模块使用,加载过程需为每个ELF模块建立一个符号表;(4)符号重定位一个ELF模块需要用到其它ELF模块的符号,加载器为每个ELF模块建立一个导入符号表,针对每个外部符号,通过步骤(2)所属方法查找到符号地址,并填写到本模块的导入符号表;(5)运行模块调用ELF格式中记录的初始化函数和模块入口函数。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京翼辉信息技术有限公司,未经北京翼辉信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201711458538.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top