【技术实现步骤摘要】
一种替换ROM中函数的方法及装置
本专利技术涉及计算机技术,特别涉及一种替换ROM中函数的方法及装置。
技术介绍
在计算机系统中,只读存储器(Read-OnlyMemory,ROM)是必不可少的组成部分。通常情况下,ROM设置在片上系统(SystemOnChip,SOC)内部,用于存储数据和代码,并且在SOC流片完成(即生产完成)后,ROM中存储的数据和代码就不能再做修改。一旦发现ROM中存储的数据或代码存在隐患,需要对其做修改时,必须对SOC重新流片,代价和成本都比较高昂。针对上述情况,为了在不重新流片情况下,仍能够修复代码和数据的隐患,已有技术下提供了以下解决方案:参阅图1所示,为ROM中记录的每个可能存在风险的函数,定义每个函数的访问地址,以函数表(functiontable)的形式存储,所述functiontable定义在随机存取存储器(Random-accessmemory,RAM)。而其他函数调用ROM中记录的可能存在风险的函数时,并不是直接调用,而是通过指针调用。例如:假设存在三个函数,分别为函数1(function1),函数2(function2)和函数3(function3),当function1、function2和function3需要调用ROM中的函数A时,并不是直接调用A,而是先从functiontable中,获取函数A的访问地址A,再根据访问地址A跳转至ROM中读取A中运行。那么,当函数A的代码存在隐患,需要针对函数A进行修复时,需要设计一个新的函数A1,再将fun ...
【技术保护点】
1.一种替换只读存储器ROM中函数的方法,其特征在于,包括:/n确定待修复函数的函数索引,所述函数索引至少用于指示待修复函数的组编号;/n基于所述组编号在ROM中查找到所述待修复函数对应的函数表,所述函数表中记录有所述待修复函数归属的函数组中各个待修复函数的访问地址;/n将所述函数表复制至指定存储位置,生成相应的新函数表,并在所述新函数表中,将所述待修复函数的访问地址更新为设置的新函数的访问地址,所述新函数用于替代所述待修复函数执行相应功能;/n在RAM中获取对应所述组编号设置的指针,将所述指针指向所述新函数表。/n
【技术特征摘要】
1.一种替换只读存储器ROM中函数的方法,其特征在于,包括:
确定待修复函数的函数索引,所述函数索引至少用于指示待修复函数的组编号;
基于所述组编号在ROM中查找到所述待修复函数对应的函数表,所述函数表中记录有所述待修复函数归属的函数组中各个待修复函数的访问地址;
将所述函数表复制至指定存储位置,生成相应的新函数表,并在所述新函数表中,将所述待修复函数的访问地址更新为设置的新函数的访问地址,所述新函数用于替代所述待修复函数执行相应功能;
在RAM中获取对应所述组编号设置的指针,将所述指针指向所述新函数表。
2.如权利要求1所述的方法,其特征在于,在预处理阶段,进一步包括:
确定将写入ROM的所有的函数;
基于预设规则将ROM中指定的各个函数划分为若干组;
分别对应每一个函数组,在ROM中设置相应的函数表;
对应每一个函数表设置相应的组编号。
3.如权利要求2所述的方法,其特征在于,进一步包括:
对应所述指定的各个函数分别设置相应的接口函数,其中,其他函数在调用一个函数时,通过所述一个函数对应的接口函数,对所述一个函数进行间接调用。
4.如权利要求2所述的方法,其特征在于,基于预设规则将ROM中指定的各个函数划分为若干组,包括:
将风险等级之间的差值低于第一设定门限值的函数划分为一组;或者,
将修复难度等级之间的差值低于第二设定门限值的函数划分为一组;或者,
将函数运行过程中的实时性需求的差值低于第三设定门限值的函数划分为一组。
5.如权利要求2所述的方法,其特征在于,进一步包括:
在RAM中设置RAM指针表,所述RAM指针表中记录的每一个指针分别指向所述每一个函数表;
对应每一个指针指向的函数表,设置相应指针的组编号。
6.如权利要求1-5任一项所述的方法,其特征在于,确定待修复函数的函数索引,包括:
根据指示,调用对应所述待修复函数设置的接口函数;
基于所述接口函数,确定所述待修复函数的函数索引。
7.如权利要求6所述的方法,其特征在于,在RAM中获取对应所述组编号设置的指针,包括:
基于所述接口函数,采用直接跳转方式或异常跳转方式,跳转至预设的分发函数;
通过所述分发函数,基于所述函数索引包含的组编号,在RAM中查找到相应的指针。
8.如...
【专利技术属性】
技术研发人员:周晓磊,
申请(专利权)人:炬新珠海微电子有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。