[发明专利]一种替换ROM中函数的方法及装置有效
申请号: | 201810792741.6 | 申请日: | 2018-07-18 |
公开(公告)号: | CN110737603B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 周晓磊 | 申请(专利权)人: | 炬力(珠海)微电子有限公司 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F15/78 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
地址: | 519085 广东省珠海市横琴新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 替换 rom 函数 方法 装置 | ||
本发明涉及计算机技术,特别涉及一种替换ROM中函数的方法及装置,用以降低函数替换过程中的代码开销,以及降低实现复杂度。该方法为:在ROM中查找到待修复函数的组编号对应的函数表,并将该函数表复制为新函数表后,在新函数表中将待修复函数的访问地址更新为设置的新函数的访问地址,最后,再将对应组编号设置的指针,指向新函数表。这样,在进行函数修复时,只会影响到待修复函数所归属的函数组中的各个函数,修改影响范围小,从而减小了修复过程中RAM的资源开销,同时,在修复过程中,只需要对待修复函数所归属的函数组对应的指针进行重新定位即可完成修复,从而有效降低了代码改动开销,以及有效降低了实现复杂度。
技术领域
本发明涉及计算机技术,特别涉及一种替换ROM中函数的方法及装置。
背景技术
在计算机系统中,只读存储器(Read-Only Memory,ROM)是必不可少的组成部分。通常情况下,ROM设置在片上系统(System On Chip,SOC)内部,用于存储数据和代码,并且在SOC流片完成(即生产完成)后,ROM中存储的数据和代码就不能再做修改。一旦发现ROM中存储的数据或代码存在隐患,需要对其做修改时,必须对SOC重新流片,代价和成本都比较高昂。针对上述情况,为了在不重新流片情况下,仍能够修复代码和数据的隐患,已有技术下提供了以下解决方案:
参阅图1所示,为ROM中记录的每个可能存在风险的函数,定义每个函数的访问地址,以函数表(function table)的形式存储,所述function table定义在随机存取存储器(Random-access memory,RAM)。而其他函数调用ROM中记录的可能存在风险的函数时,并不是直接调用,而是通过指针调用。
例如:假设存在三个函数,分别为函数1(function1),函数2(function2)和函数3(function3),当function1、function2和function3需要调用ROM中的函数A时,并不是直接调用A,而是先从function table中,获取函数A的访问地址A,再根据访问地址A跳转至ROM中读取A中运行。
那么,当函数A的代码存在隐患,需要针对函数A进行修复时,需要设计一个新的函数A1,再将function table中函数A的访问地址A修改为访问地址A1,令指针重新指向函数A1的调用接口,而函数A则丢弃不再使用。
这样无需对ROM中的代码进行修改,即可将调用函数A变为调用函数A1,即完成了ROM中函数的修复需求。
然而,上述解决方案却存在以下缺陷:
需要为ROM中的每一个待修复的函数,实现一个新的指针调用接口,用以替换原有接口,从而增加了实现复杂度。
另一方面,在在ROM代码开发阶段,当需要将ROM代码中普通函数,变更为待修复函数时,需要:定义新的函数指针、并将所有调用到该待修复函数的代码,修改为调用函数指针;
例如,针对函数A定义了新的函数指针,称为指针A1,那么,假设function1、function2和function3需要调用函数A,则需要将function1、function2和function3中调用函数A的代码,修改为调用指针A1。
这种修改称为“侵入式修改”,会增加了代码开销,同时也增加了实现复杂度。
发明内容
本发明实施例提供一种替换ROM中函数的方法及装置,用以降低函数替换过程中的代码开销,以及降低实现复杂度。
本发明实施例提供的具体技术方案如下:
一种替换只读存储器ROM中函数的方法,包括:
确定待修复函数的函数索引,所述函数索引至少用于指示待修复函数的组编号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于炬力(珠海)微电子有限公司,未经炬力(珠海)微电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810792741.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:软件测试装置
- 下一篇:一种自动清理内存的方法、装置、电子设备及存储介质