芯片软件打补丁的方法、装置和存储介质制造方法及图纸

技术编号:32862094 阅读:24 留言:0更新日期:2022-03-30 19:45
本申请涉及计算机技术领域,公开一种芯片软件打补丁的方法,包括:基于精简指令集机器ARM架构,把需要打补丁的原目标函数的地址设置为读保护地址,并当主程序访问所述读保护地址时产生存储保护单元MPU中断;MPU中断跳转至中断处理程序;所述中断处理程序执行补丁函数;所述补丁函数执行后退出中断处理程序。在主程序中只需把需要打补丁的目标函数地址设置为读保护,在主程序执行到该目标函数时,会自动触发芯片的存储保护机制生成MPU中断,在中断处理程序中即可执行补丁函数,从而实现补丁函数的执行。本申请还公开一种芯片软件打补丁的装置和存储介质。丁的装置和存储介质。丁的装置和存储介质。

【技术实现步骤摘要】
芯片软件打补丁的方法、装置和存储介质


[0001]本申请涉及芯片
,更具体地涉及一种芯片软件打补丁的方法、装置和存储介质。

技术介绍

[0002]目前,在ARM(Advanced RISC Machine,精简指令集机器)架构上导入新版本芯片时需要使用基于老版本芯片编译的功能库,而功能库所调用的NVM(Non

Volatile Memor,非易失性存储器)底层函数在新版本芯片上不能直接运行,必须对该功能库所调用的NVM底层函数做功能更新。为了解决更新NVM底层函数,现有技术公开了一种SVC(SuperVisor Call,访管指令)命令方式,SVC命令方式是对软件打补丁的方式,需要软件或硬件执行SVC指令后触发中断,在中断中进行目标函数的替换。
[0003]在实现本公开实施例的过程中,存在有第三方所提供的功能库没有预留补丁接口且不支持重新编译的情况,而SVC命令方式对于没有预留补丁接口的软件程序或硬件不能实现打补丁机制。

技术实现思路

[0004]为了对披露的实施例的一些方面有基本的理解,下面给本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种芯片软件打补丁的方法,其特征在于,包括:基于精简指令集机器ARM架构,把需要打补丁的原目标函数的地址设置为读保护地址,并当主程序访问所述读保护地址时产生存储保护单元MPU中断;MPU中断跳转至中断处理程序;所述中断处理程序执行补丁函数;所述补丁函数执行后退出中断处理程序。2.根据权利要求1所述的方法,其特征在于,所述原目标函数不具有补丁接口。3.根据权利要求1所述的方法,其特征在于,按如下方式设置读保护地址:在程序初始化阶段将要打补丁的原目标函数的地址设置为CPU不可读的MPU。4.根据权利要求1所述的方法,其特征在于,按如下方式产生存储保护单元MPU中断:当程序执行到CPU不可读的MPU时,CPU读操作触发存储保护机制,产生MPU中断。5.根据权利要求4所述的方法,其特征在于,产生MPU中断时将原目标函数的返回地址、补丁函数所需传递的参数...

【专利技术属性】
技术研发人员:陈雅慧
申请(专利权)人:紫光同芯微电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1