一种电子设备的在线升级方法技术

技术编号:2844456 阅读:186 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及电子设备固件在线升级技术,其特征在于,其把电子设备存储区域分成通讯功能区、应用功能区、空闲区和向量区,依次应用引导程序和通讯功能模块从上位机下载新的固件程序,实现在线升级;其次是采用代码覆盖的方法,将部分引导程序下载到空闲区后,剩余部分引导程序下载到应用功能区覆盖原有应用功能区的应用功能模块;将新固件程序的通讯功能模块下载到通讯功能区覆盖原有通讯功能区的通讯功能模块;将新固件程序的应用功能模块下载到应用功能区覆盖现在存储部分引导程序的应用功能区中的代码。从而解决了由于电子设备存储空间不足而导致无法在线升级的问题,具有成本低、使用方便的优点。

【技术实现步骤摘要】

本专利技术涉及一种电子设备的固件在线升级方法,具体说是一种在存储空间不足情况下电子设备的固件在线升级方法,属于数据通讯领域。
技术介绍
随着信息技术的快速发展,电子设备不断更新升级,升级的多数情况是对电子设备的固件程序进行升级。现有技术下多采用在线升级的方法实现固件升级,这种方法是一种方便快捷的升级方式,其具体操作是当固件程序需要升级时,将电子设备与计算机相连,直接通过固件程序中预先留有的升级接口下载升级代码进行升级。固件程序是运行在硬件上的程序,可以用来直接驱动硬件电路,能够完成一些应用功能。引导程序是具有引导电子设备下载升级后的新固件程序功能的一段代码。固件程序升级的过程是首先由上位机(用于升级的计算机或专用升级设备等)向电子设备发送引导程序,电子设备将引导程序下载到空闲区,电子设备的空闲区的空间大小足够存储引导程序,再由引导程序与上位机交互下载升级后的固件程序,完成设备升级。由于存储器的容量越大,芯片的价格就越高,所以电子设备开发商考虑到成本因素,一般不会选择具有较大容量存储器的芯片。因此开发商选择的芯片,其程序存储器存储固件程序后不会有很大的剩余空间,这样在线升级下载引导程序时就会出现存储空间不够的问题,导致无法完成在线升级。
技术实现思路
为了解决上述电子设备存储空间不足导致无法在线升级的问题,本专利技术采用代码覆盖的方法,提供一种在存储空间不足情况下的电子设备在线升级方案。本专利技术的特征在于,所述方法依次含有以下步骤步骤(1),把所述电子设备的存储区域划分成以下四个在物理上相互独立且内容互不重叠的子区域通讯功能区,存储具有与上位机通讯功能的通讯功能模块;应用功能区,存储实现电子设备应用功能的应用功能模块;空闲区,为所述存储区域存储固件程序后剩余的空间,用于存储包括用户数据或过程数据在内的数据;向量区,存储电子设备固件程序的跳转向量表,其内容指向固件程序各部分的入口地址;步骤(2),所述电子设备在原固件程序控制下,从上位机下载引导程序到空闲区,剩余部分引导程序下载到应用功能区,覆盖原有固件程序中的应用功能模块;步骤(3),所述电子设备修改跳转向量表使执行转向步骤(2)中下载的引导程序,再通过引导程序从上位机下载新固件程序的通讯功能模块到通讯功能区,覆盖通讯功能区的原通讯功能模块;步骤(4),所述电子设备修改跳转向量表使执行转向步骤(3)中下载的新固件程序的通讯功能模块,通过新固件程序的通讯功能模块从上位机下载新固件程序的应用功能模块到应用功能区,覆盖应用功能区的部分引导程序;步骤(5),完成在线升级,结束。本专利技术的上述方案解决了现有技术中存在的问题,方便电子设备开发商对电子设备的升级操作,节约成本,方便用户使用。附图说明图1为电子设备芯片内的存储器的结构示意图。图2为本专利技术在线升级方案的流程图。具体实施例方式,其技术方案如下本专利技术的方法包括如下步骤A.电子设备在原固件程序的控制下,下载引导程序到空闲区和应用功能区;B.电子设备在引导程序的控制下,下载新固件程序的通讯功能模块到通讯功能区;C.电子设备在新固件程序的通讯功能模块控制下,下载新固件程序的应用功能模块到应用功能区。电子设备的存储区被划分为通讯功能区、应用功能区、空闲区和向量区,所述通讯功能区存储固件程序的通讯功能模块,所述应用功能区存储固件程序的应用功能模块,所述向量区存储固件程序的跳转向量表。上述方法中,所述通讯功能区、应用功能区、空闲区和向量区在物理上相互独立互不重叠。上述方法中,所述的固件程序的通讯功能模块具有继续下载固件程序的应用功能模块的功能。上述方法中,所述的固件程序的通讯功能模块还具有与上位机通讯的功能。上述方法中,执行完步骤A后,修改跳转向量表,使执行转向引导程序。上述方法中,执行完步骤B后,修改跳转向量表,使执行转向新固件程序的通讯功能模块。上述方法中,对下载的引导程序或新固件程序的通讯功能模块进行校验后再修改跳转向量表。上述方法中,执行完上述3个步骤后,执行外部初始化命令清空空闲区。下面结合附图和具体实施方式对本专利技术作进一步说明,但不作为对本专利技术的限定。图1为电子设备芯片内的存储器的结构示意图,如图所示,101为USB通讯功能区,其存储的固件程序的通讯功能模块具有继续下载固件程序和与上位机建立通讯的功能;102为应用功能区,其存储的固件程序的应用功能模块实现电子设备的应用功能;103为空闲区,其为存储器存储固件程序后剩余的空间,空闲区可以用于存储用户数据或过程数据等;104为向量区,其上存储跳转向量表,跳转向量表的内容指向固件程序各部分的入口地址。由于空闲区103的空间一般不大,当电子设备在线升级时,要下载的引导程序的大小大于空闲区103的存储空间,本专利技术的方案是将引导程序下载到空闲区103中,超出空闲区存储容量的部分引导程序下载到应用功能区102中覆盖原有固件中的应用功能模块。引导程序具有与上位机通讯的功能,能够下载新固件程序,新固件程序的通讯功能模块被下载到通讯功能区101内覆盖原有通讯功能区的内容。新固件程序的通讯功能模块具有继续下载新固件程序的功能,继续下载的新固件程序的应用功能模块覆盖现存部分引导程序的应用功能区102中的代码,至此新固件程序下载完毕,完成在线升级。对于空闲区103现存的部分引导程序可以使用外部初始化命令将其清空。下面以USB设备为例结合升级流程图对本专利技术的方案作更详细的说明,对于串口、并口等电子设备本专利技术的方案同样适用。如图2所示步骤201,USB设备连接上位机并上电;步骤202,USB设备的通讯功能区101的通讯功能模块与上位机建立通讯;步骤203,下载引导程序到空闲区103和应用功能区102;步骤204,修改跳转向量表,使得程序可以从引导程序处开始执行;步骤205,USB设备重新上电,执行引导程序;步骤206,引导程序下载新固件程序的通讯功能模块到通讯功能区101内;步骤207,修改跳转向量表,使得程序可以从下载的新固件程序的通讯功能模块处开始执行;步骤208,USB设备重新上电,执行新下载的新固件程序的通讯功能模块;步骤209,下载新固件程序的应用功能模块到应用功能区102;步骤210,执行外部初始化命令,清除空闲区103内的部分引导程序;步骤211,完成升级,结束。具体实现时,在不影响电子设备正常运行的情况下,可以不执行步骤210,保留空闲区中的部分引导程序。本专利技术的方法中,在下载新固件程序后,由于固件程序各模块功能的改变或增减,导致空闲区的大小可能会发生变化。本文档来自技高网...

【技术保护点】
一种电子设备的在线升级方法,其特征在于,所述方法依次包含以下步骤:    步骤(1),把所述电子设备的存储区域划分成以下四个在物理上相互独立且内容互不重叠的子区域;    通讯功能区,存储具有与上位机通讯功能的通讯功能模块;    应用功能区,存储实现电子设备应用功能的应用功能模块;    空闲区,为所述存储区域存储固件程序后剩余的空间,用于存储包括用户数据或过程数据在内的数据;    向量区,存储电子设备固件程序的跳转向量表,其内容指向固件程序各部分的入口地址;    步骤(2),所述电子设备在原固件程序控制下,从上位机下载引导程序到空闲区,剩余部分引导程序下载到应用功能区,覆盖原有固件程序中的应用功能模块;    步骤(3),所述电子设备修改跳转向量表使执行转向步骤(2)中下载的引导程序,再通过所述引导程序从上位机下载新固件程序的通讯功能模块到通讯功能区,覆盖通讯功能区的原通讯功能模块;    步骤(4),所述电子设备修改跳转向量表使执行转向步骤(3)中下载的新固件程序的通讯功能模块,通过新固件程序的通讯功能模块从上位机下载新固件程序的应用功能模块到应用功能区,覆盖应用功能区的部分引导程序;    步骤(5),完成在线升级,结束。...

【技术特征摘要】
1.一种电子设备的在线升级方法,其特征在于,所述方法依次包含以下步骤步骤(1),把所述电子设备的存储区域划分成以下四个在物理上相互独立且内容互不重叠的子区域通讯功能区,存储具有与上位机通讯功能的通讯功能模块;应用功能区,存储实现电子设备应用功能的应用功能模块;空闲区,为所述存储区域存储固件程序后剩余的空间,用于存储包括用户数据或过程数据在内的数据;向量区,存储电子设备固件程序的跳转向量表,其内容指向固件程序各部分的入口地址;步骤(2),所述电子设备在原固件程序控制下,从上位机下载引导程序到空闲区,剩余部分引导程序下载到应用功能区,覆盖原有固件程序中的应用功能模块;步骤(3),所述电子设备修改跳转向量表使执行转向步骤(2)中下载的引导程序,再通过所述引导程序从上位机下载新固件程序的通讯功能模块到通讯功能区,覆盖通讯功能区的原通讯功能模块;步骤(4),所述电子设备修改跳转向量表使执行转向步骤(3)中下载的新固件程序的通讯功能模...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:北京飞天诚信科技有限公司
类型:发明
国别省市:11[中国|北京]

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

1