[发明专利]嵌入式设备及ROM函数的替换修复方法在审
申请号: | 202211104759.5 | 申请日: | 2022-09-09 |
公开(公告)号: | CN116302626A | 公开(公告)日: | 2023-06-23 |
发明(设计)人: | 聂湛然;吴国炜;莫志烨;刘泽权 | 申请(专利权)人: | 珠海市杰理科技股份有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/36;G06F9/32;G06F9/30 |
代理公司: | 深圳市君之泉知识产权代理有限公司 44366 | 代理人: | 杨洪龙 |
地址: | 519000 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 嵌入式 设备 rom 函数 替换 修复 方法 | ||
1.一种ROM函数的替换修复方法,应用于包括ROM、CPU、堆栈、中断电路和存储介质的系统,其中,所述CPU包括PC寄存器、参数寄存器、RETS寄存器和RETI寄存器,其特征在于,所述ROM存储有被配置为先后执行的参数产生机器指令、入栈机器指令和被替换函数,所述中断电路包括断点中断寄存器、地址比较电路和控制电路,所述存储介质存储有断点中断程序和替换函数,所述方法包括如下步骤:
参数产生步骤:所述参数产生机器指令被所述CPU执行为,产生暂存于所述参数寄存器中的传递参数,所述PC寄存器被写入所述被替换函数地址;
入栈步骤:所述入栈机器指令被所述CPU执行为,向所述RETS寄存器中写入所述PC寄存器中的被替换函数地址,将所述参数寄存器的传递参数、以及所述RETS寄存器中的所述被替换函数地址压入堆栈;
中断步骤:所述地址比较电路捕获到所述断点中断寄存器中存储的被替换函数的被替换函数地址与所述PC寄存器的地址相同后,触发所述控制电路向所述CPU发送中断以阻止所述被替换函数被执行;所述CPU接收到该中断后将所述PC寄存器的被替换函数地址写入所述RETI寄存器,并向所述PC寄存器更新写入所述断点中断程序的地址,以开始执行所述断点中断程序;
断点中断处理步骤:所述断点中断程序被所述CPU执行为,所述RETI寄存器被写入所述替换函数的替换函数地址,所述PC寄存器被写入所述RETI寄存器的替换函数地址,从而使所述替换函数被执行;
替换函数步骤:所述替换函数被所述CPU执行为,所述堆栈中的传递参数和被替换函数地址被分别出栈保存至所述参数寄存器和RETS寄存器,对所述参数寄存器的传递参数进行操作;所述RETS寄存器的被替换函数地址被取出,并将该被替换函数地址增加地址步长后得到所述ROM中所述被替换函数下一机器指令的地址,以及将所述被替换函数下一机器指令的地址写入所述PC寄存器。
2.根据权利要求1所述的替换修复方法,其特征在于,
在中断步骤中,将所述PC寄存器的被替换函数地址写入所述RETI寄存器后,将所述RETI寄存器中的被替换函数地址压入堆栈;
在断点中断处理步骤中,所述RETI寄存器被写入所述替换函数的替换函数地址具体包括如下步骤:
将所述堆栈中的被替换函数地址出栈保存至所述RETI寄存器;
将所述RETI寄存器中的被替换函数地址修改为所述替换函数的替换函数地址;
将所述RETI寄存器中替换函数地址压入所述堆栈;
将所述堆栈中的所述替换函数地址出栈保存至所述RETI寄存器。
3.根据权利要求2所述的替换修复方法,其特征在于,
所述ROM内还存储有另一参数产生机器指令、另一入栈机器指令和另一被替换函数,所述被替换函数、另一参数产生机器指令、另一入栈机器指令和另一被替换函数被配置为先后执行;
在断点中断处理步骤中,所述断点中断程序被执行时,所述断点中断寄存器被写入所述另一被替换函数的另一被替换函数地址;
在替换函数步骤后,针对所述另一参数产生机器指令、另一入栈机器指令和另一被替换函数,依次执行如下步骤:所述参数产生步骤、入栈步骤、中断步骤、断点中断处理步骤、以及替换函数步骤。
4.根据权利要求2所述的替换修复方法,其特征在于,
所述ROM内还存储有多个程序组,其中,每个程序组包括被配置为先后执行的另一参数产生机器指令、另一入栈机器指令和另一被替换函数,所述被替换函数和多个程序组被配置为先后执行;
在断点中断处理步骤中,所述断点中断程序被执行时,从被替换函数地址列表中查找在所述断点中断寄存器中的地址之后的下一个程序组,将所述下一个程序组中的另一被替换函数的另一被替换函数地址写入所述断点中断寄存器;
在替换函数步骤后,针对所述下一个程序组中的另一参数产生机器指令、另一入栈机器指令和另一被替换函数,依次执行如下步骤:所述参数产生步骤、入栈步骤、中断步骤、断点中断处理步骤、以及替换函数步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海市杰理科技股份有限公司,未经珠海市杰理科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211104759.5/1.html,转载请声明来源钻瓜专利网。