远程加载或升级程序的系统及其方法技术方案

技术编号:2866562 阅读:172 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种电子设备中加载或升级程序的系统及其方法,公开了一种远程加载或升级程序的系统及其方法,使得电子设备中的程序可以远程升级,无需工程师到场,另外还可以实现多个设备中程序的同时升级。这种远程加载或升级程序的系统包含:待升级子系统,包含互相连接的CPU和程序存储器,其中所述程序存储器中存储有每次所述待升级子系统启动以前必须运行的BIOS区程序;主控子系统,包含能够从网络获取升级程序的网络程序下载装置、存储所述升级程序的程序存储器以及与所述待升级子系统交互将所述升级程序加载到所述待升级子系统的交互加载器;主控子系统和至少一个待升级子系统相连接。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及一种电子设备中加载或升级程序的系统及其方法,特别涉及一种含中央处理器的电子设备中。
技术介绍
含中央处理器(Central Processing Unit,简称“CPU”)的电子设备已经广泛应用于各行各业,这里说的CPU可以是单片机、数字信号处理(DigitalSignal Processing,简称“DSP”)芯片等。其中又以含单片机的电子设备最为典型,以下将以单片机为例讲述含有CPU的电子设备共同的特点和存在的问题。单片机在广义上讲是将CPU与主存储器以及简单的接口融于一体的独立的控制单元。狭义上讲它本身就是一个计算机系统,一个能够独立完成作业的应用计算机。单片机中集成了存储程序的器件,例如闪速存储器(FlashMemory,简称“FLASH”),通过对单片机编程,可以在比较短的时间内设计出较为智能化的电子设备。随着单片机处理内容的日益复杂,其程序的升级在所难免。目前有两种方式实现对单片机程序的加载和升级。方法一,目前最常见的单片机程序加载或升级的方法是用烧片器进行烧片。烧片器是一个单独的设备,它与计算机通过串行口、并行口或者通用串行总线(Universal Serial Bus,简称“USB”)口进行通信。操作员可以通过这些通信端口将计算机上的单片机程序下载到烧片器。烧片器提供各式夹具,用于固定不同的单片机,另外烧片器还给单片机提供电源、编程需要的电压、外部控制信号等,从而完成对单片机的编程。方法二,现在有的单片机还提供了在系统编程技术(In System Program,简称“ISP”),该技术可以通过单片机提供的串口和一段固化小程序实现芯片的在线升级。其基本原理是芯片供应商在芯片内固化了一段程序,该程序完成对单片机串口的初始化,以及实现一定的加载协议。这样单片机在启动后根据外部引脚条件或者芯片内的一些标志寄存器判断是否进入该段程序,如果进入到该段程序中,便可通过串口和外部计算机上的软件进行通信,然后按照加载协议将加载数据写入到单片机的FLASH中,写入时采用单片机写FLASH指令(现在很多单片机都支持)。在实际应用中,上述方案存在以下问题程序升级困难,特别当设备广泛销售以后,程序升级的成本很高,另外无法远程升级,无法对多个设备同时升级。造成这种情况的一个主要原因在于,需要专业人员到现场操作。对于方法一,需要专业人员到现场从待升级设备上拆下待升级的芯片,重新烧片后再安装到待升级设备上。对于方法二,虽然不需要拆卸待升级的芯片,但也需要专业人员到现场,将外部计算机通过串口线连接到待升级设备的电路板上,使用专用的软件进行升级。当设备被广泛销售以后,用户的地理位置往往很分散,无论采用召回设备还是派专业人员上门维护,成本都很高。另外,专业人员到现场后,由于芯片必须一片一片地烧,电路板必须一块一块地连接和处理,因此无法同时对多个设备同时升级。
技术实现思路
本专利技术要解决的技术问题是提供一种,使得电子设备中的程序可以远程升级,无需工程师到场,另外还可以实现多个设备中程序的同时升级。为了解决上述技术问题,本专利技术提供了一种远程加载或升级程序的系统,包含 待升级子系统,包含互相连接的中央处理器和程序存储器,其中所述程序存储器中存储有每次所述待升级子系统启动以前必须运行的基本输入输出系统区程序;主控子系统,包含能够从网络获取升级程序的网络程序下载装置、存储所述升级程序的程序存储器、以及与所述待升级子系统交互将所述升级程序加载到所述待升级子系统的交互加载器;所述主控子系统和至少一个所述待升级子系统相连接。其中,所述待升级子系统是单片机系统。所述程序存储器是外挂的随机存取存储器、闪速存储器或电可擦除可编程只读存储器。所述待升级子系统是基于数字信号处理芯片的系统。本专利技术还提供了一种远程加载或升级程序的方法,包含以下步骤A待升级子系统判断加载标志是否有效,如果是则向主控子系统发送加载请求信元,进入步骤B,否则开始执行应用程序,流程结束;B所述主控子系统响应所述加载请求信元,判断是否允许所述待升级子系统加载或升级程序,如果允许,则向所述待升级子系统发送允许加载信元,否则向所述待升级子系统发送不允许加载信元;C所述待升级子系统响应所述主控子系统对所述加载请求信元的反馈,判断所收到的信元的类型,如果是允许加载信元则将所述加载标志改写有效,向所述主控子系统发送准备就绪信元,进入步骤D,如果是不允许加载信元则重新启动所述待升级子系统,流程结束;D所述主控子系统判断是否还有剩余的升级程序的数据信元没有发送并且无发送错误,如果是则向所述待升级子系统发送升级程序的数据信元,否则流程结束; E所述待升级子系统收到所述数据信元后,判断所述数据信元是否合法并且顺序正确,如果是则将收到的所述数据信元写入所述待升级子系统的程序存储器,进入步骤F,否则向所述主控子系统反馈最后加载失败信元及失败原因,重新启动所述待升级子系统,进入步骤D;F所述待升级子系统向所述主控子系统反馈数据成功加载信元,并判断所述待加载程序的全部数据信元是否已经收取完毕,如果是则将所述加载标志设置为无效,并重新启动所述待升级子系统,流程结束,否则进入步骤D。其中,所述主控子系统中的所述升级程序是预先从网络中下载并存储在所述主控子系统的程序存储器中的。所述步骤A还包含以下步骤A1当所述待升级子系统判断所述加载标志无效时,所述待升级子系统等待用户输入;A2所述待升级子系统判断是否在规定时间内没有用户输入,如果是则进入步骤A4,否则继续等待,直至有用户输入时进入步骤A3;A3所述待升级子系统根据用户的输入判断是否需要强制加载程序,如果需要强制加载,则进入步骤B,如果不需要强制加载,则进入步骤A4;A4开始执行应用程序,流程结束。所述步骤B中,所述主控子系统向所述待升级子系统发送的所述允许加载信元中包含待加载程序的版本号和程序大小信息;所述步骤C中还包含以下步骤当收到的信元类型是允许加载信元时,所述待升级子系统根据待加载程序的所述版本号和程序大小信息,判断加载是否合法,如果合法则将所述加载标志改写有效,向所述主控子系统发送准备就绪信元,进入步骤D,否则重新启动所述待升级子系统,流程结束。所述方法还包含以下步骤当所述待升级子系统收到不允许加载信元或改写加载标志失败时,打印错误信息。所述步骤D还包含以下步骤所述主控子系统收到所述准备就绪信元后,通知上层软件所述待升级子系统准备加载或升级程序。所述步骤F还包含以下步骤当所述待升级子系统收取完全部数据信元后,所述待升级子系统修改本地的软件版本信息。所述步骤F还包含以下步骤所述待升级子系统成功收取并保存数据信元后,根据数据信元中是否需要回应的标志,仅对需要回应的信元反馈数据成功加载信元。所述待升级子系统和所述主控子系统相互发送的信元中包含以下信息区分程序和数据的标志;软件版本;信元类型;信元编号。所述步骤A中所述应用程序的入口地址是固定的,执行应用程序时,直接跳转到所述应用程序的固定入口地址,开始执行。通过比较可以发现,本专利技术的技术方案与现有技术的区别在于,将程序通过网络下载并存储到主控子系统,待升级子系统每次启动时运行基本输入输出系统区程序,该程序中根据加载标志判断是否需要加载或升级,然后通过特定的流程将待加载程序从所本文档来自技高网
...

【技术保护点】
一种远程加载或升级程序的系统,其特征在于,包含:至少一个的待升级子系统,包含互相连接的中央处理器和程序存储器,其中所述程序存储器中存储有每次所述待升级子系统启动以前必须运行的基本输入输出系统区程序;主控子系统,和至少一个所述 待升级子系统相连接,包含用于从网络获取升级程序的网络程序下载装置、存储所述升级程序的程序存储器、以及与所述待升级子系统交互将所述升级程序加载到所述待升级子系统的交互加载器。

【技术特征摘要】

【专利技术属性】
技术研发人员:王正波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

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

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