CN109697079A - 引导加载程序的更新方法及装置 - Google Patents

引导加载程序的更新方法及装置 Download PDF

Info

Publication number
CN109697079A
CN109697079A CN201811523414.7A CN201811523414A CN109697079A CN 109697079 A CN109697079 A CN 109697079A CN 201811523414 A CN201811523414 A CN 201811523414A CN 109697079 A CN109697079 A CN 109697079A
Authority
CN
China
Prior art keywords
server
version information
request message
bootstrap loader
new version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811523414.7A
Other languages
English (en)
Inventor
祝肖锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou DPTech Technologies Co Ltd
Original Assignee
Hangzhou DPTech Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou DPTech Technologies Co Ltd filed Critical Hangzhou DPTech Technologies Co Ltd
Priority to CN201811523414.7A priority Critical patent/CN109697079A/zh
Publication of CN109697079A publication Critical patent/CN109697079A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

本说明书提供一种引导加载程序的更新方法及装置,所述方法包括:向服务器发送请求报文,请求引导加载程序的新版本信息;接收服务器返回的回复报文,根据所述回复报文获取新版本信息;根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。该方案在版本更新时利用设备启动的硬件环境向外部服务器发送请求报文,获取到新版本信息并进行新版本文件的下载和更新,从而可以降低更新操作复杂度,能够实现设备自主运行更新过程,特别适用于企业级布局的嵌入式操作系统中,极大地提升了更新便利性。

Description

引导加载程序的更新方法及装置
技术领域
本说明书涉及嵌入式操作系统技术领域,尤其涉及一种引导加载程序的更新方法及装置。
背景技术
嵌入式操作系统中,引导加载程序(BootLoader)是在操作系统内核运行之前运行的程序,该程序可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。由于在嵌入式系统中,通常并没有像BIOS那样的固件程序,因此整个系统的加载启动任务就主要由引导加载程序来完成。常见的引导加载程序有Redboot、ARMboot、Uboot(Universal Boot Loader,遵循GPL条款的开放源码项目)等,其中Uboot是目前使用最为广泛的开源引导加载程序。引导加载程序是嵌入式系统在加电后执行的第一段代码,在它完成处理器(CPU)和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
嵌入式系统版本更新时,如版本更新或者挂机恢复,一般是将版本文件烧写到系统或者内存(如Flash)等存储部件,整个过程耗时较长,如果中间出现一些异常状况,如断电,则会导致整个系统更新失败,而无法正常启动系统。一般系统的引导加载程序会提供相关命令可供用户手动操作,重新下载版本进行更新。但是系统不能提供串口等命令行给用户操作,这些命令对地址等参数要求非常严格,出错容易导致系统报废,只能通过专业的工具重新烧写版本。
针对上述问题,现有主要有两种方法来避免更新失败后无法启动问题。
一种方法是通过在引导加载程序上集成小型web服务器,如不死Uboot,用户可以通过访问设备地址,通过网络上传版本实现重新更新。该方案实质是集成一个小型web服务器,在固件损坏时可以通过设定的按键启动该web服务,通过浏览器上传固件到设备的内存,然后写入内存或其他非易失存储器。这类引导加载程序比较适合个体散户,操作比较灵活。但对于企业级集中布局来说,由于在几百乃至几千个设备中,要找到具体位子并重构环境,然后找到对应版本并更新,整个过程操作异常复杂,而且设备出现问题后并不能及时反馈给用户。
另一种方法是在内存中划分一个分区,放入一个满足启动和更新功能的最小系统,当分区更新版本失败后,引导加载程序检测到问题,启动备份分区的最小系统,用户可以通过最小系统给系统更新或者让系统主动更新版本。但是大小系统引导加载程序对于内存的要求比较高,最小系统的功能越全面,需要的空间也越多,而对于大部分嵌入式系统来说,存储空间都是很紧缺的,各种系统和用户空间都是尽量压缩;而且最小系统如果需要升级,自身也可能出现升级问题,导致各种操作复杂和不便。
综上所述,现有的引导加载程序更新方案中,仍然存在操作复杂和更新不便的缺陷。
发明内容
为克服相关技术中存在的问题,本说明书提供了一种引导加载程序的更新方法及装置。
根据本说明书实施例的第一方面,提供一种引导加载程序的更新方法,所述方法包括:
向服务器发送请求报文,请求引导加载程序的新版本信息;
接收服务器返回的回复报文,根据所述回复报文获取新版本信息;
根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。
在一个实施例中,所述向服务器发送带有设备标记的请求报文,请求引导加载程序的新版本信息的步骤之前,还包括:
检测设备内存中的引导加载程序的版本有效性;
当所述版本无效时,通过设备初始化中启动的硬件向服务器发送请求报文。
在一个实施例中,所述通过设备初始化中启动的硬件向服务器发送请求报文的步骤,包括:
根据设备启动的内存、CPU和网卡执行单条运行指令,通过UDP通信协议向服务器广播发送请求报文。
在一个实施例中,所述请求报文包括:设备标记、设备的IP地址和请求新版本信息。
在一个实施例中,所述向服务器发送请求报文的步骤之前,还包括:
通过DHCP协议获取设备的IP地址,并对外发送免费ARP报文确认所述IP地址为有效地址。
在一个实施例中,所述向服务器发送请求报文的步骤,包括:
向服务器发送请求报文,并在预设的超时时间阈值内等待所述回复报文,若在所述超时时间阈值内未接收到回复报文,循环执行向服务器发送请求报文的流程。
在一个实施例中,所述更新方法还包括:
在循环执行向服务器发送请求报文的流程中,判断循环次数是否在设定的循环次数阈值内,若是,继续执行,否则结束流程。
在一个实施例中,所述根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新的步骤,包括:
根据所述新版本信息连接到相应的版本下载服务器;
从所述版本下载服务器下载新版本文件烧录到内存中,重新启动引导加载程序。
在一个实施例中,所述的更新方法还包括:
当新版本文件更新失败时,向日志服务器发送更新错误日志信息。
根据本说明书实施例的第二方面,提供一种引导加载程序的更新装置,包括:
请求模块,用于向服务器发送请求报文,请求引导加载程序的新版本信息;
获取模块,用于接收服务器返回的回复报文,根据所述回复报文获取新版本信息;
更新模块,用于根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。
根据本说明书实施例的第三方面,提供一种嵌入式设备,至少包括处理器和用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
向服务器发送请求报文,请求引导加载程序的新版本信息;
接收服务器返回的回复报文,根据所述回复报文获取新版本信息;
根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,通过向服务器发送请求报文,请求引导加载程序的新版本信息,利用服务器返回的回复报文获取新版本信息,再根据新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。该方案在版本更新时利用设备启动的硬件环境向外部服务器发送请求报文,获取到新版本信息并进行新版本文件的下载和更新,从而可以降低更新操作复杂度,能够实现设备自主运行更新过程,特别适用于企业级布局的嵌入式操作系统中,极大地提升了更新便利性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1是引导加载程序的更新方法应用环境示意图。
图2是本说明书根据一示例性实施例示出的一种引导加载程序的更新方法的流程图。
图3是本说明书根据又一示例性实施例示出的一种引导加载程序的更新方法的流程图。
图4是本说明书根据又一示例性实施例示出的引导加载程序启动流程图。
图5是本说明书根据又一示例性实施例示出的获取新版本信息子流程的流程图。
图6是本说明书根据一示例性实施例示出的嵌入式系统的系统框图。
图7是本说明书根据一示例性实施例示出的一种引导加载程序的更新装置的框图。
图8为本说明书实施例引导加载程序的更新装置所在嵌入式设备的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
接下来对本说明书实施例进行详细说明。
本说明书实施例的引导加载程序的更新方法可以应用到企业级布局的嵌入式操作系统中,参考图1所示,图1是引导加载程序的更新方法应用环境示意图,多个嵌入式操作系统设备通过网络连接至服务器,如图中所示的BootLoader设备(即安装了引导加载程序的设备)、PDA、智能手机等,该服务器可以由用户预先构建从而为引导加载程序的更新流程提供服务,本说明书实施例的更新过程可以包括版本升级过程、由于程序启动挂死等导致的版本恢复过程等。
参考图2,图2是本说明书根据一示例性实施例示出的一种引导加载程序的更新方法的流程图,主要包括如下步骤:
在步骤S210,向服务器发送请求报文,请求引导加载程序的新版本信息。
该步骤中,在嵌入式操作系统的设备启动过程中,当检测到引导加载程序的版本无效时,向服务器发送请求报文,以请求服务器返回引导加载程序的新版本信息。
在步骤S220,接收服务器返回的回复报文,根据所述回复报文获取新版本信息。
服务器在接收到请求报文后,根据请求报文的地址信息发送回复报文至嵌入式操作系统的设备,回复报文中携带引导加载程序的新版本信息。
在步骤S230,根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。
在获取到最新版消息后,可以启动设备通过网络从服务器下载引导加载程序的新版本文件,然后对系统的旧版本程序进行更新,重启设备后即可以完成程序更新过程。
参考图3,图3是本说明书根据又一示例性实施例示出的一种引导加载程序的更新方法的流程图,主要包括如下步骤:
在步骤S310,在设备初始化后,检测设备内存中的引导加载程序的版本有效性。
在设备上电,引导加载程序开始启动流程,初始化部分硬件,包括CPU、时钟、内存、网卡等,准备好必需的环境。
在步骤S320,当所述版本无效时,通过设备初始化中启动的硬件向服务器发送获取新版本信息的请求报文。
在一个实施例中,可以根据设备启动的内存、CPU和网卡执行单条运行指令,通过UDP(User Datagram Protocol,用户数据报协议)通信协议向服务器广播发送请求报文。
在启动阶段,引导加载程序初始化了环境,可以使用内存,网卡,CPU等硬件,由于没有一个完整的操作系统,只支持部分简单的协议。为了避免过于复杂的操作,在此,通过单条流程执行的指令,使用UDP进行通信,便于向服务器广播发送请求报文。
对于请求报文,可以包括设备标记、设备的IP地址和请求新版本信息等,其中,设备标记是指设备硬件信息,IP地址可以通过DHCP(Dynamic Host ConfigurationProtocol,动态主机配置协议)获取。
在一个实施例中,在向服务器发送请求报文之前,可以通过DHCP协议获取设备的IP地址,并对外发送免费ARP(Address Resolution Protocol,地址解析协议)报文进行测试,从而确认所述IP地址为有效地址。
在一个实施例中,在向服务器发送请求报文时,还可以包括如下过程:
向服务器发送请求报文,并在预设的超时时间阈值内等待所述回复报文,若在所述超时时间阈值内未接收到回复报文,循环执行向服务器发送请求报文的流程。
进一步的,在循环执行向服务器发送请求报文的流程中,判断循环次数是否在设定的循环次数阈值内,若是,继续执行,否则结束流程。
另外,当新版本文件更新失败时,例如当没有接收到服务器返回的回复报文,或者从服务器中下载引导加载程序的新版本文件失败时,还可以向日志服务器发送更新错误日志信息。
上述实施例,通过设定循环次数和等待超时时间阈值,可以设定终止条件,当设备无法自动更新时,可以应对一些异常状况,例如在没有获取到新版本信息或版本下载失败等情况下,对外广播或单播更新错误日志到特定日志服务器,通过更新错误日志提醒用户,便于排查设备异常,提升对设备异常的维护响应速度。
在步骤S330,接收服务器返回的回复报文,根据所述回复报文获取新版本信息。
上述流程中,在设备可达的网络范围内,可以部署一个接收并回复流程中广播发出的请求报文功能的报文回复服务器,另外还可以部署一个提供下载新版本文件功能的版本下载服务器。具体实现中,两个服务器可以集成在一起,也可以分开设立,各种引导加载程序更新所需的版本和版本信息的回复报文可以根据用户需求进行配置。
在步骤S340,根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。
如上述实施例中,通过在网络上部署的版本下载服务器,设备即可通过获取的新版本信息,利用新版本信息提供的信息连接到相应的版本下载服务器;从版本下载服务器下载新版本文件,然后烧录到内存中,再重新启动引导加载程序即可完成更新过程。
上述实施例的方案,提供了引导加载程序的更新的流程,在实际应用中,可以将更新流程划分为引导加载程序启动流程和获取新版本信息子流程,基于该划分方案的流程,可以参考如下示例:
参考图4,图4是本说明书根据又一示例性实施例示出的引导加载程序启动流程图,主要包括如下过程:
s401,设备上电,引导加载程序开始启动流程;
s402,初始化部分硬件,包括CPU、时钟、内存、网卡等,准备运行环境;
s403,读取闪存中特定位置的镜像头信息进行版本校验(如CRC32、md5校验),检查内存中引导加载程序版本是否有效;如果内存中的引导加载程序版本有效,执行s404,否则转s406执行;
s404,校验通过,引导加载程序定位到系统内核入口位置,并加载内核;
s405,引导加载程序完成内核加载后结束流程,操作系统正式启动;
s406,启动新版本信息获取子流程;
s407,在新版本信息获取后,下载新版本的引导加载程序,然后返回执行步骤s403,重新进行校验。
上述示例的方案,在引导加载程序版本无效时,不需要停止启动流程,也无需重启或进入命令行中断模式。而是转去执行获取新版本信息子流程,自动获取新版本信息,下载引导加载程序并更新,从而达到更新程序版本的目的。
参考图5,图5是本说明书根据又一示例性实施例示出的获取新版本信息子流程的流程图,主要包括如下过程:
s501,获取新版本信息子流程开始;
s502,设备通过DHCP获取IP地址等,同时对外发送免费ARP,验证IP地址有效性;
s503,初始化相关参数,设定循环次数和等待超时时间阈值;
s504,判断流程循环次数是否到达阈值,若是,执行s505,否则转s507;
s505,向服务器发送请求报文,请求新版本信息;
s506,判断在超时时间内是否收到回复报文,若是,转s507;否则转s504继续进行循环阈值判断;
s507,结束本次获取新版本信息子流程。
在获取新版本信息流程,设备可以去服务器下载新版本文件。将新版本文件烧入内存中,重新进入引导加载程序流程启动设备,即可完成更新或恢复。
综合上述实施例的方案,可以适用于各种带启动加载程序的设备中,比如移动端设备,如智能手机、笔记本等。对于服务器则可以部署在因特网中,提供所有联网的设备进行使用。
该方案在设备出现问题后,能够快速智能响应,设备可以主动发起寻找更新版本并下载更新,更新过程只需要在之前配置好相关设备和版本对应的关系,更新过程中不需要用户介入,整个过程更加便捷和智能,能够明显提高效率。特别是适合企业级布局,设备量越多,效果就更加明显。
参考图6,图6是本说明书根据一示例性实施例示出的嵌入式系统的系统框图;可以部署报文回复服务器、版本下载服务器和日志服务器三个不同功能的服务器;其中,请求报文发送到报文回复服务器,收到报文回复服务器的回复报文后,获取新版信息,根据新版本信息向版本下载服务器下载新版本文件进行更新,当没有收到报文回复服务器的回复报文或者下载新版本文件失败时,将相关信息发送至日志服务器,以提醒用户进行排查。
如图7所示,图7是本说明书根据一示例性实施例示出的一种引导加载程序的更新装置的框图,所述装置包括:
请求模块210,用于向服务器发送请求报文,请求引导加载程序的新版本信息;
获取模块220,用于接收服务器返回的回复报文,根据所述回复报文获取新版本信息;
更新模块230,用于根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本说明书引导加载程序的更新装置的实施例可以应用在嵌入式设备上,例如各种终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在嵌入式设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,图8为本说明书实施例引导加载程序的更新装置所在嵌入式设备的一种硬件结构图,除了图8所示的处理器810、内存830、网络接口820、以及非易失性存储器840之外,实施例中引导加载程序的更新装置831所在的嵌入式设备,通常根据该嵌入式设备的实际功能,还可以包括其他硬件,如时钟、网卡等,对此不再赘述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (10)

1.一种引导加载程序的更新方法,包括:
向服务器发送请求报文,请求引导加载程序的新版本信息;
接收服务器返回的回复报文,根据所述回复报文获取新版本信息;
根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。
2.根据权利要求1所述的方法,其特征在于,所述向服务器发送带有设备标记的请求报文,请求引导加载程序的新版本信息的步骤之前,还包括:
检测设备内存中的引导加载程序的版本有效性;
当所述版本无效时,通过设备初始化中启动的硬件向服务器发送请求报文。
3.根据权利要求2所述的方法,其特征在于,所述通过设备初始化中启动的硬件向服务器发送请求报文的步骤,包括:
根据设备启动的内存、CPU和网卡执行单条运行指令,通过UDP通信协议向服务器广播发送请求报文。
4.根据权利要求3所述的方法,其特征在于,所述请求报文包括:设备标记、设备的IP地址和请求新版本信息。
5.根据权利要求4所述的方法,其特征在于,所述向服务器发送请求报文的步骤之前,还包括:
通过DHCP协议获取设备的IP地址,并对外发送免费ARP报文确认所述IP地址为有效地址。
6.根据权利要求1所述的方法,其特征在于,所述向服务器发送请求报文的步骤,包括:
向服务器发送请求报文,并在预设的超时时间阈值内等待所述回复报文,若在所述超时时间阈值内未接收到回复报文,循环执行向服务器发送请求报文的流程。
7.根据权利要求6所述的方法,其特征在于,还包括:
在循环执行向服务器发送请求报文的流程中,判断循环次数是否在设定的循环次数阈值内,若是,继续执行,否则结束流程。
8.根据权利要求1所述的方法,其特征在于,所述根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新的步骤,包括:
根据所述新版本信息连接到相应的版本下载服务器;
从所述版本下载服务器下载新版本文件烧录到内存中,重新启动引导加载程序。
9.根据权利要求1所述的方法,其特征在于,还包括:
当新版本文件更新失败时,向日志服务器发送更新错误日志信息。
10.一种引导加载程序的更新装置,包括:
请求模块,用于向服务器发送请求报文,请求引导加载程序的新版本信息;
获取模块,用于接收服务器返回的回复报文,根据所述回复报文获取新版本信息;
更新模块,用于根据所述新版本信息从服务器中下载引导加载程序的新版本文件并进行更新。
CN201811523414.7A 2018-12-13 2018-12-13 引导加载程序的更新方法及装置 Pending CN109697079A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811523414.7A CN109697079A (zh) 2018-12-13 2018-12-13 引导加载程序的更新方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811523414.7A CN109697079A (zh) 2018-12-13 2018-12-13 引导加载程序的更新方法及装置

Publications (1)

Publication Number Publication Date
CN109697079A true CN109697079A (zh) 2019-04-30

Family

ID=66231617

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811523414.7A Pending CN109697079A (zh) 2018-12-13 2018-12-13 引导加载程序的更新方法及装置

Country Status (1)

Country Link
CN (1) CN109697079A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688136A (zh) * 2019-09-25 2020-01-14 北京经纬恒润科技有限公司 一种应用程序更新方法及装置
CN110764772A (zh) * 2019-09-02 2020-02-07 广东天波信息技术股份有限公司 兼容多种nfcc的方法及装置
CN110968535A (zh) * 2019-11-29 2020-04-07 上海庆科信息技术有限公司 控制指令的处理方法、装置、处理器及电子装置
CN111209059A (zh) * 2020-01-14 2020-05-29 中国北方车辆研究所 一种嵌入式软件多版本控制系统及方法
CN111522615A (zh) * 2020-04-23 2020-08-11 平安国际智慧城市科技股份有限公司 命令行界面的更新方法、装置、设备及存储介质
CN111813430A (zh) * 2020-07-08 2020-10-23 杭州安森智能信息技术有限公司 机器人集群智能化更新与部署的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567184A (zh) * 2003-07-03 2005-01-19 英业达股份有限公司 引导程序更新恢复系统及其方法
US20070022184A1 (en) * 2005-07-21 2007-01-25 Rakesh Sharma Method and apparatus for a secure network install
CN102364891A (zh) * 2011-09-13 2012-02-29 杭州华三通信技术有限公司 嵌入式以太网设备升级软件的方法及嵌入式以太网设备
CN104572141A (zh) * 2013-10-10 2015-04-29 上海信耀电子有限公司 车用电控单元ecu的引导程序的在线更新方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1567184A (zh) * 2003-07-03 2005-01-19 英业达股份有限公司 引导程序更新恢复系统及其方法
US20070022184A1 (en) * 2005-07-21 2007-01-25 Rakesh Sharma Method and apparatus for a secure network install
CN102364891A (zh) * 2011-09-13 2012-02-29 杭州华三通信技术有限公司 嵌入式以太网设备升级软件的方法及嵌入式以太网设备
CN104572141A (zh) * 2013-10-10 2015-04-29 上海信耀电子有限公司 车用电控单元ecu的引导程序的在线更新方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110764772A (zh) * 2019-09-02 2020-02-07 广东天波信息技术股份有限公司 兼容多种nfcc的方法及装置
CN110764772B (zh) * 2019-09-02 2023-04-25 广东天波信息技术股份有限公司 兼容多种nfcc的方法及装置
CN110688136A (zh) * 2019-09-25 2020-01-14 北京经纬恒润科技有限公司 一种应用程序更新方法及装置
CN110688136B (zh) * 2019-09-25 2023-12-22 北京经纬恒润科技股份有限公司 一种应用程序更新方法及装置
CN110968535A (zh) * 2019-11-29 2020-04-07 上海庆科信息技术有限公司 控制指令的处理方法、装置、处理器及电子装置
CN111209059A (zh) * 2020-01-14 2020-05-29 中国北方车辆研究所 一种嵌入式软件多版本控制系统及方法
CN111209059B (zh) * 2020-01-14 2023-03-03 中国北方车辆研究所 一种嵌入式软件多版本控制系统及方法
CN111522615A (zh) * 2020-04-23 2020-08-11 平安国际智慧城市科技股份有限公司 命令行界面的更新方法、装置、设备及存储介质
CN111522615B (zh) * 2020-04-23 2023-08-15 深圳赛安特技术服务有限公司 命令行界面的更新方法、装置、设备及存储介质
CN111813430A (zh) * 2020-07-08 2020-10-23 杭州安森智能信息技术有限公司 机器人集群智能化更新与部署的方法及系统

Similar Documents

Publication Publication Date Title
CN109697079A (zh) 引导加载程序的更新方法及装置
US9507604B2 (en) Boot method and boot system
TWI363298B (en) Communication device and firmware update method thereof
CN104572229B (zh) 嵌入式系统的固件升级方法以及固件升级装置
US7809836B2 (en) System and method for automating bios firmware image recovery using a non-host processor and platform policy to select a donor system
CN100525206C (zh) 自动恢复设备故障的实现方法及系统
CN106020875B (zh) 嵌入式终端的固件更新管理方法和装置
US10162646B2 (en) System for programmably configuring a motherboard
US20140053149A1 (en) Fast and automatic deployment method for cluster system
CN103761088A (zh) 一种适用于arm架构移动设备的多操作系统切换方法
CN111930396B (zh) 一种基于notify机制的4G路由器中通讯模组的升级方法
TW201621647A (zh) 作業系統更新方法
US20230229481A1 (en) Provisioning dpu management operating systems
CN112631625A (zh) 嵌入式设备的系统升级方法、装置及嵌入式设备
CN109710297B (zh) 一种设备整体或分模块进行升级和回退方法
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
CN105335166A (zh) 嵌入式设备的系统及嵌入式设备远程升级的方法
US11106450B2 (en) Information extraction apparatus, and automatic firmware update system and method for embedded system
CN112162794A (zh) 一种单板启动方法、装置、单板以及网络设备
CN106484442B (zh) 服务器系统及更新开机映像档的方法
JP2006277216A (ja) マルチos搭載可能なプラットホームにおける自動fwアップデート方法
JP2023068538A (ja) 情報処理装置及びその制御方法、並びにプログラム
Cisco Loading System Images, Microcode Images, and Configuration Files
Cisco Loading System Images, Microcode Images, and Configuration Files
Cisco Loading System Images, Microcode Images, and Configuration Files

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190430