软件在线更新方法及软件在线更新系统技术方案

技术编号:3545742 阅读:171 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种软件在线更新方法,该方法包括:将更新通信程序固化在微处理器中,微处理器通过固化的更新通信程序从外部设备获取更新执行程序,并通过执行所述更新执行程序从外部设备获取用于更新的目标用户程序,将获取的目标用户程序写入存储体。另外,本发明专利技术还提供了一种软件在线更新系统,包括外部设备、微处理器和存储体,其中,外部设备,其中存储有用于执行软件在线更新的更新执行程序、以及用于更新的目标用户程序;微处理器,其中固化有更新通信程序,用于执行所述更新通信程序从外部设备获取所述更新执行程序,并通过执行该更新执行程序从外部设备获取所述用于更新的目标用户程序,将其写入存储体。本发明专利技术能够提高更新的可靠性,为用户提供诸多便利。

【技术实现步骤摘要】

本专利技术涉及芯片系统(SoC,System on Chip)技术,尤其涉及一种软件在线更新方法及软件在线更新系统
技术介绍
随着信息技术的飞速发展,各种电子产品层出不穷,如MP3、MP4、PMP等。在这些消费类电子产品中,通常都包括一个SoC系统。参见图1所示,SoC系统主要包括诸如微型控制单元(MCU)的微处理器和存储体两部分,该存储体可以是非易失性存储器(NOR FLASH或NAND FLASH)或者其他类型的FLASH。其中,微处理器中存储了一些引导代码(boot code)、编解码算法代码等芯片必须具备的代码,主要用于完成芯片的初始化、用户程序的引导及编解码算法等;存储体主要用于存储用户程序和大批量的数据,如MP3数据等。对于这些以NOR FLASH或NAND FLASH为存储介质的电子产品,用户在使用过程中,为了提升这些产品的功能,可能需要对其进行更新,即更新存储体中的用户程序。通常的更新做法是,微处理器通过引导程序将存储体中的用户程序载入随机存储器(RAM)中,并执行其中的更新程序,先将存储体中已有的旧用户程序擦除,再将新的用户程序写入存储体中。但是,如果在擦除或者写入的过程中,发生某种不可预知的错误,如系统断电等,造成更新失败,从而导致存储体中旧的用户程序已经擦除,而新的用户程序还没有写入,那么,采用该存储体作为存储介质的设备就不能够再被使用,而必须返回厂家对存储体进行重新编程。可见,现有的更新方法可靠性较低,容易造成存储体中用户程序的缺失,导致必须返回厂家进行重新编程,同时也会给用户带来诸多不便。
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种软件在线更新方法及软件在线更新系统,提高更新的可靠性。为达到上述目的,本专利技术提供的软件在线更新方法如下将更新通信程序固化在微处理器中,微处理器通过固化的更新通信程序从外部设备获取更新执行程序,并通过执行所述更新执行程序从外部设备获取用于更新的目标用户程序,将获取的目标用户程序写入存储体。其中,所述更新通信程序固化在微处理器的只读存储器中。所述微处理器通过固化的更新通信程序从外部设备获取更新执行程序包括微处理器通过固化的更新通信程序完成与外部设备的通用串行总线枚举过程,并从外部设备获取与所述存储体类型匹配的更新执行程序。所述微处理器通过执行所述更新执行程序从外部设备获取用于更新的目标用户程序包括微处理器在随机存储器中执行获取的更新执行程序,从外部设备获取用于更新的目标用户程序,并放置在随机存储器中;所述微处理器将获取的目标用户程序写入存储体包括微处理器将随机存储器中的目标用户程序写入存储体。所述微处理器将获取的目标用户程序写入存储体之前进一步包括微处理器擦除存储体中已有的用户程序。所述微处理器为微型控制单元MCU;所述存储体为非易失性存储器NOR FLASH、或NAND FLASH;所述外部设备为具有通讯接口的终端设备。本专利技术还提供了一种软件在线更新系统,该系统包括外部设备、微处理器和存储体,其中,外部设备,其中存储有用于执行软件在线更新的更新执行程序、以及用于更新的目标用户程序; 微处理器,其中固化有更新通信程序,用于执行所述更新通信程序从外部设备获取所述更新执行程序,并通过执行该更新执行程序从外部设备获取所述用于更新的目标用户程序,将其写入存储体。所述微处理器包括更新通信程序存储单元、更新执行程序获取单元和更新执行单元,其中,更新通信程序存储单元,用于固化存储更新通信程序;更新执行程序获取单元,用于从更新通信程序存储单元获取更新通信程序,通过该更新通信程序从外部设备获取与所述存储体类型匹配的更新执行程序,并将获取的更新执行程序发送给更新执行单元;更新执行单元,用于接收来自更新执行程序获取单元的更新执行程序,通过执行该更新执行程序从外部设备获取所述目标用户程序,并将其写入存储体。所述更新通信程序固化存储在微处理器的只读存储器中。所述微处理器为微型控制单元MCU;所述存储体为非易失性存储器NOR FLASH、或NAND FLASH;所述外部设备为具有通讯接口的终端设备。由此可见,在本专利技术中,由于更新通信程序是固化在微处理器中的,具有只读的物理属性,因此,即使在更新过程中因系统断电而导致更新失败,更新通信程序也依然存在且可以正常运行。当系统重新上电以后,仍然可以通过固化的更新通信程序获取相应的更新执行程序,并通过获取的更新执行程序获取用于更新的目标用户程序,然后再将获取的目标用户程序写入存储体,完成对存储体用户程序的更新。从而避免了因更新失败而造成的存储体不可用的情况发生,提高了更新的可靠性,为用户提供了诸多便利。附图说明图1为现有技术中的SoC系统结构示意图。图2为本专利技术中的软件在线更新系统结构示意图。图3为本专利技术实施例中的微处理器结构示意图。图4为本专利技术实施例中的软件在线更新流程图。具体实施例方式为使本专利技术的目的、技术方案及优点更加清楚明白,下面参照附图并举实施例,对本专利技术作进一步详细说明。本专利技术提供的更新方法的基本思想是将更新通信程序固化在微处理器中,微处理器通过固化的更新通信程序从外部设备获取更新执行程序,并通过执行该更新执行程序从外部设备获取用于更新的目标用户程序,然后将获取的目标用户程序写入存储体。由于更新通信程序是固化在微处理器中的,具有只读的物理属性,不会被破坏,因此,即使在更新过程中因系统断电而导致更新失败,更新通信程序也依然存在且可以正常运行。当系统重新上电以后,仍然可以采用本专利技术所提供的更新方法对存储体的用户程序进行更新,将新的用户程序写入存储体,从而避免了因断电而导致存储体不可用的情况发生,提高了更新的可靠性。对应本专利技术提供的更新方法,本专利技术还提供了一种更新系统,参见图2所示,该更新系统主要包括外部设备、微处理器和存储体。其中,外部设备,其中存储有用于执行软件在线更新的更新执行程序、以及用于更新的目标用户程序;微处理器,其中固化有更新通信程序,用于执行所述更新通信程序从外部设备获取所述更新执行程序,并通过执行该更新执行程序从外部设备获取所述用于更新的目标用户程序,将其写入存储体。参见图3所示,所述微处理器具体可包括更新通信程序存储单元、更新执行程序获取单元和更新执行单元。其中,更新通信程序存储单元,用于固化存储更新通信程序;更新执行程序获取单元,用于从更新通信程序存储单元获取更新通信程序,通过该更新通信程序从外部设备获取与所述存储体类型匹配的更新执行程序,并将获取的更新执行程序发送给更新执行单元;更新执行单元,用于接收来自更新执行程序获取单元的更新执行程序,通过执行该更新执行程序从外部设备获取所述目标用户程序,将存储体中已有的旧用户程序擦除,并将目标用户程序写入存储体。其中,所述微处理器为MCU等处理芯片;所述外部设备为计算机、或其它具有通讯接口的终端设备,如MP3、MP4或PMP等;所述存储体为非易失性存储器NOR FLASH、NAND FLASH或其他类型的FLASH。为便于理解,下面以微处理器为MCU、外部设备为计算机、存储体为FLASH为例,对本专利技术进行详细说明。其中,更新通信程序固化在MCU内部的只读存储器(ROM)中。参见图4所示,本实施例中的更新过程主要包括以下步骤步骤401MCU上电以后,本文档来自技高网...

【技术保护点】
一种软件在线更新方法,其特征在于,该方法包括:将更新通信程序固化在微处理器中,微处理器通过固化的更新通信程序从外部设备获取更新执行程序,并通过执行所述更新执行程序从外部设备获取用于更新的目标用户程序,将获取的目标用户程序写入存储体。

【技术特征摘要】

【专利技术属性】
技术研发人员:邓乃利
申请(专利权)人:北京中星微电子有限公司
类型:发明
国别省市:11[中国|北京]

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

1
相关领域技术
  • 暂无相关专利