一种在单芯片上实现主备版本备份的方法

文档序号:6584190阅读:223来源:国知局
专利名称:一种在单芯片上实现主备版本备份的方法
技术领域
本发明涉及嵌入式产品设计,尤其是一种在单芯片上实现主备版本备份的方法。
背景技术
嵌入式产品中,经常会因为功能变化、故障修复等原因,需要从远程对产品中的软 件(版本)进行升级。传统嵌入式产品实现方式,是在产品中使用两块或以上的芯片,其中 启动BOOT位于一块独立芯片上,并由BOOT与远程进行交互,完成版本升级,并将新下载的 版本写入另一块芯片,之后启动新版本。该方式由于要使用多于一块芯片,成本难以降低, 所以一般只运用在高端嵌入式设备上,导致低端嵌入式设备无法实现远程升级。

发明内容
本发明的目的在于提供一种在单芯片上实现主备版本备份的方法,它能够解决现 有技术的不足,可在终端设备上降低产品成本。本发明的技术方案一种在单芯片上实现主备版本备份的方法,其特征在于它由 以下步骤构成(1)在单一芯片上,将存储空间划分为至少三部分,分别用于存储启动BOOT、存储 主用版本和备用版本;其中用于存储启动BOOT的部分称作VO ;所说的存储主用版本和备用 版本的部分称作Vl和V2 ;如果Vl是主用版本,则V2为备用版本,如果V2是主用版本,则 Vl为备用版本,这种关系通过参数配置区进行区分;(2)芯片上电后,启动BOOT率先运行,它检测参数配置,判断当前的主用版本是Vl 还是V2 ;启动BOOT将控制权切换到主用版本;(3)主用版本运行期间,如果接收到远程升级指令,则从远程服务端下载新的版本 文件,覆盖当前备用版本存储空间;如果Vl为主用版本,则覆盖V2,反之则覆盖Vl ;(4)主用版本更新参数配置区,将新下载的版本设为主用版本,当前运行的版本设 为备用版本,然后重启系统;(5)系统重启后,启动BOOT检测到参数变化,将自动启动新的主用版本,完成远程 版本升级。上述所说的步骤(1)中的参数存储在独立的存储空间,例如E2PR0M上;或与版本 驻留在同一芯片上,即在芯片上再划分一块区域,用于存储参数。上述所说的步骤O)中启动BOOT在将控制权切换到主用版本时,如果在编译主 用版本和备用版本可执行文件时,设置了位置无关选项,能使版本在存储空间的任意位置 都可以启动运行,则通过调整CPU的程序计数器,启动主用版本;在调整程序计数器时,如 果VO运行在用户模式下,那么需要通过软中断方式,强迫CPU进入管理模式,然后才能修改 CPU程序计数器,实现版本跳转;如果编译器无法产生位置无关代码,则启动BOOT将主用版本拷贝到内存空间, 然后从内存启动主用版本;或者是在芯片上划分出一块运行区域,该区域用Vm标识,启动
3BOOT找出主用版本后,将该版本拷贝到Vm区,然后从Vm区启动主用版本。上述所说的编译器无法产生位置无关代码,则在编译主备版本时,将内存或Vm的 起始地址设置为版本启动地址。上述所说的启动BOOT是一个小型可执行文件,通常存储在芯片的物理地址0x0 ; 芯片上电后,将自动执行启动BOOT。上述所说的主用版本和备用版本,是两个不同版本的可执行文件。本发明的优越性本方法在单一芯片上,同时存储启动BOOT、主用版本、备用版本 三个文件,并实现主备互换、远程升级功能,有效降低产品开发和维护成本。


图1为本发明所涉一种在单芯片上实现主备版本备份的方法第一种实施例的芯 片存储空间划分的示意图。图2为本发明所涉一种在单芯片上实现主备版本备份的方法第二种实施例的芯 片存储空间划分的示意图。
具体实施例方式实施例1 一种在单芯片上实现主备版本备份的方法,其特征在于它由以下步骤 构成(1)在单一芯片上,将存储空间划分为三部分(见图1),其中用于存储启动BOOT 的部分称作VO ;所说的存储主用版本和备用版本的部分称作Vl和V2 ;(2)芯片上电后,启动BOOT率先运行,它检测参数配置,判断当前的主用版本是Vl 还是V2 ;启动BOOT将控制权切换到主用版本;(3)主用版本运行期间,如果接收到远程升级指令,则从远程服务端下载新的版本 文件,覆盖当前备用版本存储空间;如果Vl为主用版本,则覆盖V2,反之则覆盖Vl ;(4)主用版本更新参数配置区,将新下载的版本设为主用版本,当前运行的版本设 为备用版本,然后重启系统;(5)系统重启后,启动BOOT检测到参数变化,将自动启动新的主用版本,完成远程 版本升级。上述所说的步骤(1)中的参数存储在独立的存储空间,例如E2PR0M上。上述所说的步骤(2)中启动BOOT在将控制权切换到主用版本时,在编译主用版本 和备用版本可执行文件时,设置了位置无关选项,能使版本在存储空间的任意位置都可以 启动运行,则通过调整CPU的程序计数器,启动主用版本。在调整程序计数器时,如果VO运 行在用户模式下,那么需要通过软中断方式,强迫CPU进入管理模式,然后才能修改CPU程 序计数器,实现版本跳转。上述所说的启动BOOT是一个小型可执行文件,通常存储在芯片的物理地址0x0 ; 芯片上电后,将自动执行启动BOOT。上述所说的主用版本和备用版本,是两个不同版本的可执行文件。实施例2 —种在单芯片上实现主备版本备份的方法,其特征在于它由以下步骤 构成
(1)在单一芯片上,将存储空间划分为四部分(见图2),其中用于存储启动BOOT 的部分称作VO ;所说的存储主用版本和备用版本的部分称作Vl和V2 ;(2)芯片上电后,启动BOOT率先运行,它检测参数配置,判断当前的主用版本是Vl 还是V2 ;启动BOOT将控制权切换到主用版本;(3)主用版本运行期间,如果接收到远程升级指令,则从远程服务端下载新的版本 文件,覆盖当前备用版本存储空间;如果Vl为主用版本,则覆盖V2,反之则覆盖Vl ;(4)主用版本更新参数配置区,将新下载的版本设为主用版本,当前运行的版本设 为备用版本,然后重启系统;(5)系统重启后,启动BOOT检测到参数变化,将自动启动新的主用版本,完成远程 版本升级。上述所说的步骤(1)中的参数存储在独立的存储空间,例如E2PR0M上。上述所说的步骤(2)中启动BOOT在将控制权切换到主用版本时,编译器无法产生 位置无关代码,则在芯片上划分出一块运行区域(见图2),该区域用Vm标识,启动BOOT找 出主用版本后,将该版本拷贝到Vm区,然后从Vm区启动主用版本。上述所说的编译器无法产生位置无关代码,则在编译主备版本时,将Vm的起始地 址设置为版本启动地址。上述所说的启动BOOT是一个小型可执行文件,通常存储在芯片的物理地址0x0 ; 芯片上电后,将自动执行启动BOOT。上述所说的主用版本和备用版本,是两个不同版本的可执行文件。
权利要求
1.一种在单芯片上实现主备版本备份的方法,其特征在于它由以下步骤构成(1)在单一芯片上,将存储空间划分为至少三部分,分别用于存储启动BOOT、存储主用 版本和备用版本;其中用于存储启动BOOT的部分称作VO ;所说的存储主用版本和备用版本 的部分称作Vl和V2 ;如果Vl是主用版本,则V2为备用版本,如果V2是主用版本,则Vl为 备用版本,这种关系通过参数配置区进行区分;(2)芯片上电后,启动BOOT率先运行,它检测参数配置,判断当前的主用版本是Vl还是 V2 ;启动BOOT将控制权切换到主用版本;(3)主用版本运行期间,如果接收到远程升级指令,则从远程服务端下载新的版本文 件,覆盖当前备用版本存储空间;如果Vl为主用版本,则覆盖V2,反之则覆盖Vl ;(4)主用版本更新参数配置区,将新下载的版本设为主用版本,当前运行的版本设为备 用版本,然后重启系统;(5)系统重启后,启动BOOT检测到参数变化,将自动启动新的主用版本,完成远程版本 升级。
2.根据权利要求1所说的一种在单芯片上实现主备版本备份的方法,其特征在于所说 的步骤(1)中的参数存储在独立的存储空间,例如E2PR0M上;或与版本驻留在同一芯片上, 即在芯片上再划分一块区域,用于存储参数。
3.根据权利要求1所说的一种在单芯片上实现主备版本备份的方法,其特征在于所说 的步骤( 中启动BOOT在将控制权切换到主用版本时,如果在编译主用版本和备用版本可 执行文件时,设置了位置无关选项,能使版本在存储空间的任意位置都可以启动运行,则通 过调整CPU的程序计数器,启动主用版本;在调整程序计数器时,如果VO运行在用户模式 下,那么需要通过软中断方式,强迫CPU进入管理模式,然后才能修改CPU程序计数器,实现 版本跳转;如果编译器无法产生位置无关代码,则启动BOOT将主用版本拷贝到内存空间,然后从 内存启动主用版本;或者是在芯片上划分出一块运行区域,该区域用Vm标识,启动BOOT找 出主用版本后,将该版本拷贝到Vm区,然后从Vm区启动主用版本。
4.根据权利要求3所说的一种在单芯片上实现主备版本备份的方法,其特征在于所说 的编译器无法产生位置无关代码,则在编译主备版本时,将内存或Vm的起始地址设置为版 本启动地址。
5.根据权利要求1所说的一种在单芯片上实现主备版本备份的方法,其特征在于所说 的启动BOOT是一个小型可执行文件,通常存储在芯片的物理地址0x0 ;芯片上电后,将自动 执行启动BOOT。
6.根据权利要求1所说的一种在单芯片上实现主备版本备份的方法,其特征在于所说 的主用版本和备用版本,是两个不同版本的可执行文件。
全文摘要
一种在单芯片上实现主备版本备份的方法为在单一芯片上,将存储空间划分为至少三部分,其中用于存储启动BOOT的部分称作V0;所说的存储主用版本和备用版本的部分称作V1和V2;芯片上电后,启动BOOT率先运行,判断当前的主用版本是V1还是V2;启动BOOT将控制权切换到主用版本;主用版本运行期间,如接收到远程升级指令,则从远程服务端下载新的版本文件,覆盖当前备用版本存储空间;主用版本更新参数配置区,然后重启系统;重启后,将自动启动新的主用版本,完成远程版本升级。优越性本方法在单一芯片上,同时存储启动BOOT、主用版本、备用版本三个文件,并实现主备互换、远程升级功能,有效降低产品开发和维护成本。
文档编号G06F9/445GK102087603SQ20091022901
公开日2011年6月8日 申请日期2009年12月8日 优先权日2009年12月8日
发明者王钟颖 申请人:国家纳米技术与工程研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1