一种嵌入式系统中ROM代码的修改方法技术方案

技术编号:2848104 阅读:301 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种嵌入式系统中ROM代码的修改方法,在程序的总线上实现多个比较器,当某一个比较器输出为真时,说明当前ROM中所要修改的函数被调用了,在中断服务程序中,可以调用修改后的函数来取代ROM中的函数。本发明专利技术可以有效减少修改ROM代码时所使用的RAM空间。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统中固件代码的修改和升级技术,特别是涉及一种ROM代码的修改方法。
技术介绍
嵌入式系统中固件(firmware)代码的组成常常分为两部分,一部分代码编译后被放进ROM区,另一部分代码编译后放进RAM区。当要对ROM区的代码做某些修改时(打补丁),则必须把ROM区中的要修改的代码及相关代码重新编译放进RAM区中。这种修改方法的缺点是,由于嵌入式系统中的RAM通常比较少,修改ROM时必然占用较多的RAM空间。
技术实现思路
本专利技术要解决的技术问题是提供一种嵌入式系统中ROM代码的修改方法,它可以减少修改ROM时所使用的RAM空间。为解决上述技术问题,本专利技术嵌入式系统中ROM代码的修改方法是,在程序的总线上实现多个比较器,每一个比较器比较的是程序当前的运行地址和ROM空间中所要修改的某个函数的地址,当某一个比较器输出为真时,系统则会停止当前的程序运行,并发送中断给系统,在中断服务程序中,可以调用修改后的函数来取代ROM中的函数。采用本专利技术的方法,当某一个比较器输出为真时,说明当前ROM中所要修改的函数被调用了,在中断服务程序中,可以调用修改后的函数来取代ROM中的函数。这样可以有效减少修改ROM时所使用的RAM空间。附图说明下面结合附图与具体实施方式对本专利技术作进一步详细的说明。图1是传统的对ROM代码修改的方法示意图;图2是本专利技术采用的对ROM代码修改的实现框图。具体实施例方式嵌入式系统中的RAM空间通常比较少,本专利技术的目的是为了减少修改ROM时使用的RAM空间。如图一所示,设定,RAM的代码区有主函数Main(),ROM代码区有函数Func1(),Func2(),Func3()。现在假定函数Func3有问题,需要打补丁。传统的做法是把修改后(打过补丁后)的函数Func3_patch()从ROM区提出放到RAM区,并且把直接和间接调用函数Func3的函数Func1和Func2都从ROM区提出放到RAM区。这样必然会占用很多RAM存储空间,使本来就较少的RAM空间,不能发挥其应有的资源作用。在本专利技术中,在程序的总线上实现了多个比较器,每一个比较器比较的是程序当前的运行地址和ROM空间中所要修改的某个函数的地址。如图2所示,其中地址比较器不断比较从RAM或ROM读取的当前代码运行地址Paddr是否等于Func3。当它输出为真时,说明当前ROM中Func3函数被调用了,系统则会停止当前的程序运行,并发送中断给系统。在中断服务程序中,可以调用修改后的Func3_patch函数来取代ROM中的Func3函数。本文档来自技高网...

【技术保护点】
一种嵌入式系统中ROM代码的修改方法,其特征在于:在程序的总线上实现多个比较器,每一个比较器比较的是程序当前的运行地址和ROM空间中所要修改的某个函数的地址,当某一个比较器输出为真时,系统则会停止当前的程序运行,并发送中断给系统,在中断服务程序中,可以调用修改后的函数来取代ROM中的函数。

【技术特征摘要】
1.一种嵌入式系统中ROM代码的修改方法,其特征在于在程序的总线上实现多个比较器,每一个比较器比较的是程序当前的运行地址和ROM空间中所要修改的某...

【专利技术属性】
技术研发人员:谢非姚晶晶田鹰赵彤
申请(专利权)人:展讯通信上海有限公司
类型:发明
国别省市:31[中国|上海]

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

1