可令电子装置升级的方法

文档序号:6342944阅读:154来源:国知局
专利名称:可令电子装置升级的方法
技术领域
本发明涉及一种可令电子装置升级的方法,尤其是一种可对电子装置的只读存储器中所存储的函数进行更新的方法。
现阶段的便携式电子装置,大都是将其程序代码及数据库存储至一只读存储器(Read Only Memory,以下简称ROM)中,一旦该程序代码及数据库被存入只读存储器后,便无法再修改。然而,使用者的数据,是被存储至一闪存(Flash)中,该数据是可以在闪存中被更新改变的。因此,前述将程序代码及数据库存储至只读存储器中所制作的PDA装置,在制作完成后,因无法再重新修改其内程序,致使该PDA装置升级非常困难,其虽然也可将全部该闪存作为该程序代码及数据库的存储载体,但是会大幅增加制作成本;并且一般PDA装置在被制作完成后,其内程序或多或少会存在一些小错误,该PDA装置的程序代码在发生错误时,使用者无法自行更新,使用非常不便。
本发明的技术方案是本发明为一种可令电子装置升级的方法,其特殊之处在于在对一电子装置的只读存储器中所存储的函数进行更新时,其操作系统按下列步骤处理1)根据只读存储器中用以记录所有函数存放地址的一跳转表,先在该电子装置的闪存上,复制另一跳转表,令该另一跳转表具有与前述跳转表相同的内容;2)将新修改的函数及其在闪存上的存放地址,存储至该另一跳转表中待修改函数的对应位置,并以该另一跳转表取代原先建立在只读存储器中的跳转表;3)当该电子装置之操作系统在执行该等函数时,可直接通过另一跳转表,分别至只读存储器和闪存上的存放地址,读取所欲执行的函数。
上述跳转表中的所有函数存放地址,通过编译方式建立在该只读存储器中,当操作系统在执行过程中,需要读取该等函数时,将先至该跳转表中,读取其存放地址,再通过触发一暂时中断服务程序,以至该只读存储器中的实际存放地址,读取该函数。
上述中断服务程序包括1)表示该中断服务程序的语句;2)表示在只读存储器中该跳转表的起始地址;3)表示从该跳转表中读取该函数地址的语句;4)表示程序结束的语句;中断服务程序到只读存储器中的实际存放地址,读取该函数。
上述只读存储器中的函数需要进行更新时,操作系统将根据该只读存储器中的跳转表,先在电子装置的闪存上,复制另一跳转表,令该另一跳转表具有与前述跳转表相同的内容,然后,当该电子装置开机时,其操作系统将依下列步骤处理1)操作系统将对该闪存中是否有该另一跳转表进行判断,如果操作系统判断出有另一跳转表时,即进行中断服务程序的替换工作;2)通过替换后的中断服务程序,直接至闪存中新修改的函数对应位置;3)自动执行电子装置的更新作业。
上述操作系统判断出无另一跳转表存在时,将直接进入只读存储器的跳转表中读取函数,以执行正常作业。
上述替换后的中断服务程序分别包括1)表示替换后的该中断服务程序语句;2)表示在闪存中另一跳转表的起始地址;3)表示从该另一跳转表中读取该函数地址的语句;4)表示程序结束的语句;通过该替换后的中断服务程序,直接至闪存中新修改的函数对应位置,读取所欲执行的函数。
上述操作系统在清除欲修改函数对应地址内容前,会先到达中断服务程序,以读取只读存储器中的跳转表,再到达另一跳转表中以执行更新作业,然后重新开机,操作系统将自动去寻找另一跳转表,进而自动完成执行该电子装置更新作业。
本发明提供一种可令电子装置升级的方法,该方法是在对一电子装置的只读存储器的一跳转表中所存储的函数进行更新时,其操作系统将先在该电子装置的闪存上,复制另一跳转表,当操作系统在执行新修改函数时,可直接通过该另一跳转表,到其在该闪存上的存放地址,读取已完成修改的函数,自动完成执行该电子装置更新的作业,这样,就可令该电子装置在制作完成后,使用者仍然可以根据实际需要自行更新其内程序,使用方便,实现其升级更新的目的。
图2为本发明通过闪存中另一跳转表读取函数的示意图;图3为本发明的操作系统进行升级时的流程示意图。
在本发明中,当只读存储器中的函数需要进行更新时,操作系统将根据只读存储器中的跳转表,先在该电子装置的闪存上,复制另一跳转表,令该另一跳转表具有与前一跳转表相同的内容,然后,当该电子装置开机时,其操作系统将对闪存中是否有另一跳转表进行判断,如果操作系统判断出有该另一跳转表时,即进行中断服务程序的替换工作,通过替换后的中断服务程序,直接到闪存中新修改的函数对应位置,以自动执行电子装置更新的作业;否则,如果操作系统判断出并无另一跳转表存在时,操作系统将直接进入只读存储器的跳转表中读取函数,以执行正常的作业。
现以一具体实施例来叙述上述过程,当PDA操作系统在执行过程中需要读取跳转表中的DiagnosticRun函数时,将先至跳转表的地址LD XHL,5892上,5892是指该DiagnosticRun函数在该跳转表中的地址,然后操作系统在通过触发中断服务程序,至只读存储器中的实际存放地址,读取该函数,其中该中断服务程序如下SWI1Handler表示该中断服务程序的语句;add xhl,swi1_func_tab表示在只读存储器中跳转表的起始地址;ld xhl,(xhl)表示从跳转表中读取该函数地址的语句ld(xsp+2),xhl表示从跳转表中读取该函数地址的语句reti表示程序结束的语句这样,通过中断服务程序即可到只读存储器中的实际存放地址,读取该函数。
当函数需要更新时,PDA开机时,其操作系统将按下列步骤进行处理1)首先,将对闪存中是否有另一跳转表进行判断,若操作系统判断出有另一跳转表时,即进行如下该中断服务程序的替换工作SWI3Handler表示替换后的该中断服务程序的语句;Add xhl,swi2_func_tab表示在闪存中另一跳转表的起始地址,当一函数需要进行修改时,操作系统将新修改的函数及其在闪存上的存放地址,存储至该闪存中ld xhl,(xhl)表示从另一跳转表中读取该函数地址的语句ld(xsp+2),xhl表示从另一跳转表中读取该函数地址的语句reti表示程序结束的语句;2)通过该替换后的中断服务程序,直接到闪存中新修改的函数对应位置;3)读取所欲执行的函数。
4)若操作系统判断出并无另一跳转表存在时,将直接进入该只读存储器的跳转表中读取函数,以执行正常作业。
参见图2,当在操作系统读取闪存中之另一跳转表之函数时,函数function1()表示没有修改过之函数,而function2()表示可能由于有错误或其它原因而修改过之函数。当操作系统读取该function1()时,透过该替换后之中断服务程序,到闪存中另一跳转表中得到函数function1()中的实际存放地址,由于函数function1()并没有被修改,因此其地址依然指向该只读存储器中,所以操作系统便到只读存储器的应位置取得函数function1()并执行;当操作系统读取该函数function2()时,透过替换后的中断服务程序,到闪存的另一跳转表中得到该函数function2()的实际存放地址,由于函数function2()表示修改过的函数,因此操作系统指向该闪存,操作系统会到该闪存中找到新修改过的函数,并继续执行,而不会再执行只读存储器中原来的函数function1()。
参见图3,在本发明中,由于操作系统在进行升级时,每读取一函数都要到该闪存中查取另一跳转表,才能找到真正之函数地址,因此,当该另一跳转表被清掉必然会导致系统当机,因此,操作系统在清除该欲修改函数对应地址内容前,会先到该中断服务程序(SWI1Handler),这样,操作系统就会读取只读存储器中的跳转表,再到另一跳转表中读取所欲执行的函数以执行更新的作业,即只需重新开机,操作系统将自动去寻找另一跳转表,进而自动完成执行该电子装置更新的作业。
权利要求
1.一种可令电子装置升级的方法,其特征在于在对一电子装置的只读存储器中所存储的函数进行更新时,其操作系统按下列步骤处理1)根据只读存储器中用以记录所有函数存放地址的一跳转表,先在该电子装置的闪存上,复制另一跳转表,令该另一跳转表具有与前述跳转表相同的内容;2)将新修改的函数及其在闪存上的存放地址,存储至该另一跳转表中待修改函数的对应位置,并以该另一跳转表取代原先建立在只读存储器中的跳转表;3)当该电子装置之操作系统在执行该等函数时,可直接通过另一跳转表,分别至只读存储器和闪存上的存放地址,读取所欲执行的函数。
2.根据权利要求1所述的可令电子装置升级的方法,其特征在于所述跳转表中的所有函数存放地址,通过编译方式建立在该只读存储器中,当操作系统在执行过程中,需要读取该等函数时,将先至该跳转表中,读取其存放地址,再通过触发一暂时中断服务程序,以至该只读存储器中的实际存放地址,读取该函数。
3.根据权利要求2所述的可令电子装置升级的方法,其特征在于所述中断服务程序包括1)表示该中断服务程序的语句;2)表示在只读存储器中该跳转表的起始地址;3)表示从该跳转表中读取该函数地址的语句;4)表示程序结束的语句;通过该中断服务程序到只读存储器中的实际存放地址,读取该函数。
4.根据权利要求3所述的可令电子装置升级的方法,其特征在于当只读存储器中的函数需要进行更新时,操作系统将根据该只读存储器中的跳转表,先在电子装置的闪存上,复制另一跳转表,令该另一跳转表具有与前述跳转表相同的内容,然后,当该电子装置开机时,其操作系统将依下列步骤处理1)操作系统将对该闪存中是否有该另一跳转表进行判断,如果操作系统判断出有另一跳转表时,即进行中断服务程序的替换工作;2)通过替换后的中断服务程序,直接至闪存中新修改的函数对应位置;3)自动执行电子装置的更新作业。
5.根据权利要求4所述的可令电子装置升级的方法,其特征在于当操作系统判断出无另一跳转表存在时,将直接进入只读存储器的跳转表中读取函数,以执行正常作业。
6.根据权利要求5所述的可令电子装置升级的方法,其特征在于替换后的中断服务程序分别包括1)表示替换后的该中断服务程序语句;2)表示在闪存中另一跳转表的起始地址;3)表示从该另一跳转表中读取该函数地址的语句;4)表示程序结束的语句;通过该替换后的中断服务程序,直接至闪存中新修改的函数对应位置,读取所欲执行的函数。
7.根据权利要求6所述的可令电子装置升级的方法,其特征在于当操作系统在清除欲修改函数对应地址内容前,会先到达中断服务程序,以读取只读存储器中的跳转表,再到达另一跳转表中以执行更新作业,然后重新开机,操作系统将自动去寻找另一跳转表,进而自动完成执行该电子装置更新作业。
全文摘要
本发明涉及一种可对电子装置的只读存储器中所存储的函数进行更新的方法。本发明对一电子装置的只读存储器中所存储的函数进行更新时,其操作系统按下列步骤处理1)根据只读存储器中用以记录所有函数存放地址的一跳转表,先在该电子装置的闪存上,复制另一跳转表,令该另一跳转表具有与前述跳转表相同的内容;2)将新修改的函数及其在闪存上的存放地址,存储至该另一跳转表中待修改函数的对应位置,并以该另一跳转表取代原先建立在只读存储器中的跳转表;3)当该电子装置之操作系统在执行该等函数时,可直接通过另一跳转表,分别至只读存储器和闪存上的存放地址,读取所欲执行的函数。本发明可对便携式电子装置内程序进行更新,使用方便。
文档编号G06F9/46GK1397884SQ02114659
公开日2003年2月19日 申请日期2002年7月3日 优先权日2002年7月3日
发明者陈淮琰, 刘钢, 吴志恒 申请人:无敌科技(西安)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1