CN1567195A - 在嵌入式系统中实现引导程序热升级的方法 - Google Patents

在嵌入式系统中实现引导程序热升级的方法 Download PDF

Info

Publication number
CN1567195A
CN1567195A CN 03137422 CN03137422A CN1567195A CN 1567195 A CN1567195 A CN 1567195A CN 03137422 CN03137422 CN 03137422 CN 03137422 A CN03137422 A CN 03137422A CN 1567195 A CN1567195 A CN 1567195A
Authority
CN
China
Prior art keywords
module
bootrom
program
master boot
described basic
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.)
Granted
Application number
CN 03137422
Other languages
English (en)
Other versions
CN100389389C (zh
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB031374220A priority Critical patent/CN100389389C/zh
Publication of CN1567195A publication Critical patent/CN1567195A/zh
Application granted granted Critical
Publication of CN100389389C publication Critical patent/CN100389389C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开了一种嵌套式引导程序热升级方法。其步骤是将所述系统的引导程序模块分成基本引导模块和非固化的主引导模块,基本引导模块在主机上电或复位后引导,并对所述系统的底层硬件进行初始化。然后,基本引导模块判断是否需要对所述主引导模块进行更新,如果需要更新,则基本引导模块从外部数据设备上下载更新的主引导模块。最后,下载的主引导模块启动从而完成引导程序的动态升级。

Description

在嵌入式系统中实现引导程序热升级的方法
发明领域
本发明涉及一种程序升级方法,特别涉及一种在嵌入式系统中实现引导程序热升级的方法。
背景技术
在嵌入式系统中,需要有固化的BootRom程序(嵌入式系统中的引导程序,固化在ROM芯片中,系统掉电或者复位后不丢失的和不会被破坏,在系统启动时,最先执行该程序,并引导其他程序加载并运行。)来引导主程序。在程序开发阶段,或者是在程序使用过程中发现严重问题后需要对引导程序作修改,修改BootRom程序需要重新将修改好的程序烧制到BootRom芯片中,这样如果长期的频繁修改固化程序,会对产品的稳定造成很大的冲击,给用户的使用带来极大的不方便。另一方面,基于认识面的限制,用户需求的不断变更,以及不同用户的不同需求,固化BootRom程序不可能也不能做到一成不变,以适应各种各样的需求。这样,产品的稳定性、实用性、便捷性以及满足多种需求的特性与固化的BootRom程序之间便产生了矛盾。
在嵌入式系统中,BootRom的程序和应用程序均是建立在嵌入式操作系统上,操作系统采用的不一致导致程序不能共用。本方案的实现只与底层的具体的硬件类型有关,不涉及任何的嵌入操作系统,程序编译可以是任何实时系统编译器,本方案推荐采用GCC(一种通用C/C++程序编译器)编译连接器。
图1是常规嵌入式软件的结构示意图。如图1所示,现有的嵌入式软件建立在嵌入式操作系统上,底层硬件由BSP即嵌入式板间支持包屏蔽,应用模块位于BSP的外侧。BootRom程序中的应用模块主要功能是完成应用程序的加载,例如将需要的应用程序加载到固化芯片或者存储介质如硬盘中,同时对需要的硬件提供一系列必要的初始化和处理,并将应用程序代码调入内存中,最后将控制权交给应用程序。
图2是常规嵌入式程序启动引导流程的示意图。如图2所示,BootRom程序和应用程序的相互关系以及运行流程如下:
1.上电或者复位后,BootRom程序自举。
2.底层硬件作必要的初始化,安装操作系统内核,并将程序自举到内存中运行。
3.启用文件或者数据传输模块例如tftp(一般的文件传输协议)、ftp(文件传送[输]协议)、xmodem(一种利用串口进行文件传输的协议,协议模块分为Server(服务器)端和Client(客户)端,Client端申请要加载的文件,Server端应答并将文件分割成数据包传递给Client端)协议模块,通过连接线或者网络从相应的server上获取应用程序或者其他需要的加载文件并存放到相应的存储介质上。
4.BootRom程序将诸如FLASH(快闪存储器)或者硬盘的存储介质中所存放的应用程序安装到内存。如果程序是压缩的,还需要解压缩。
5.BootRom程序将运行控制权交给应用程序,完成其任务使命。
在实际应用中,实时操作系统可以采用不同的操作系统,例如商用操作系统Psos(一种商用嵌入式操作系统),Vxworks(一种商用嵌入式操作系统)、共享源码公开操作系统Linux等。
但是,在现有技术中,针对构建在商用操作系统上的大型软件,BootRom程序需要作很多额外的工作,这些工作依据不同的产品规格和需求来确定。BootRom程序对具体的操作系统和底层硬件有很大的依赖,这样,如果操作系统自身有Bug(程序错误)或者硬件设计有缺陷,那么,BootRom程序运行就不可靠,这样在实际的开发、测试、使用验证中就会出现更改升级或更新升级BootRom程序的需求。但是,BootRom程序具有引导程序的特殊性,即,它不能随便更改。如果需要更改,则要将程序重新烧制到ROM中,而实际中,ROM程序的烧制要依靠另外的工具,极为不方便,而且操作复杂,容易出错,给产品应用程序的开发效率和用户的使用方便性带来极大的阻碍。
发明内容
针对现有技术中存在的上述缺点,本发明的目的在于提供一种能够实时动态加载或升级嵌入式系统中的固化引导程序的方法。
为了实现上述目的,本发明提供了一种在嵌入式系统中实现引导程序热升级的方法,所述系统的引导程序模块包括基本引导模块和非固化的主引导模块,该方法包括以下步骤:1)所述基本引导模块在主机上电或复位后引导,并对所述系统的底层硬件进行初始化;2)所述基本引导模块判断是否需要对所述主引导模块进行更新;3)如果需要更新,则所述基本引导模块从外部数据设备上下载更新的主引导模块;以及4)所述下载的主引导模块启动以完成动态升级。
所述固化的基本引导模块和所述非固化的主引导模块可以保存在嵌入式系统的同一存储装置内,也可以分别保存在不同的存储装置内。
上述步骤2)中包括根据所述基本引导模块与所述主引导模块之间存在的一个判断标记进行判断的步骤。
上述步骤3)中包括通过至少含有串口或网口的简单外部端口连接从外部数据设备上下载更新的主引导模块的步骤。
上述步骤4)中包括对下载的所述主引导模块进行解压缩的步骤。
在上述方法中,所述基本引导模块还提供有支持读写各种类型的含有固化引导程序的芯片的接口函数。
在上述方法中,所述基本引导模块和主引导模块均在内存中运行,并且内存的分配在所述基本引导模块中指定。另外,所述基本引导模块中还指定了所述主引导模块在内存映像中的首地址。
通过利用本发明所述的方法,就可以实现对嵌入式系统中的引导程序的实时动态加载或升级。这里的实时动态是指在产品上直接依靠简单的外部端口连接(例如串口、网口等)将程序文件传输并可擦写地固化到预定的固化存储介质上。本文中将这种升级方法简称为热升级。上述热升级方法简单、实用、性能可靠、可扩展性以及可使用连续性强,不依赖任何操作系统,对底层硬件的依赖程度达到最小。
附图说明
图1是常规嵌入式软件的结构示意图;
图2是常规嵌入式程序启动引导流程的示意图;
图3是本发明实施例中BootRom芯片空间划分的示意图;
图4是本发明实施例中支持热升级嵌入式软件程序运行的内存分配示意图;
图5是根据本发明实施例所述的热升级流程的示意图。
具体实施方式
以下将结合附图对本发明的实施例进行详细说明。
图3是本发明实施例中引导程序的BootRom芯片空间划分的示意图。如图3所示,在本发明实施例所述的热升级方法中,BootRom模块被分成两部分:小BootRom模块和主BootRom模块,其中小BootRom模块是一个编译链接好的二进制文件,经过烧片机的烧片程序转化后生成可供烧制的文件;主BootRom模块是编译链接好的程序文件经过压缩(例如Arj,一个高速、可靠、极其流行的命令行文件压缩工具,在这里嵌入式系统对其进行了移植。)并用自定义的加载文件格式生成工具加上文件头以后形成的自定义的加载文件,含有版本信息。小BootRom模块驻留在BootRom芯片的空间内,完成CPU初始化、内存初始化、串口初始化、提供串口通信和解压缩(Arj)功能等。小BootRom模块的特点是功能单一,操作简单,另外程序不依赖任何操作系统,只对底层的最小硬件系统有所依赖。代码编译采用统一的GCC编译链接器编译链接。在BootRom芯片剩余空间(以下将这个空间称为魔术字空间)内保存有一个魔术字(BOOTROM_MAGIC_WORD),该魔术字用于判定是否需要从加载Server上加载主BootRom模块,其具体实现方式将在后面做出详细说明。BootRom芯片中其余的空间用于存放主BootRom模块。主BootRom模块搬移到内存后解压缩并执行,完成操作系统的初始化、操作系统各个模块的加载以及自举。这样,由于小BootRom模块完成的是最基础的功能,当需要升级或者更新BootRom时只需要升级主BootRom模块部分,有效地提高了BootRom升级的安全性,即使一次升级不成功仍旧可以通过重新上电或复位单板,小BootRom模块重新启动,单板进行第二次乃至第三次加载直到成功为止。同时,为了保存加载的程序代码,BootRom子模块(确切地讲是小BootRom中的子模块)还必须提供支持读写各种类型BootRom芯片的接口函数,例如:用于提供擦除功能的erase函数、用于提供写数据功能的write函数、用于提供校验写入的数据功能的verify函数,等等。加载功能(例如XModem串口)是系统支撑模块中的一个重要特性,它驻留在BootRom的分空间(BootRom的分空间分配如图4所示,其中地址1和地址2之间的空间为BootRom分空间,地址1和地址2按需求具体设定)内,是实现BootRom热升级特性的重要手段。在小BootRom模块完成硬件初始化、串口初始化、串口打印驱动等工作之后,此加载功能将进行主BootRom程序的加载。
小BootRom模块和主BootRom模块均需要搬移到内存中运行,并且内存的分配是在小BootRom模块中指定的。图4是本发明实施例中支持热升级嵌入式软件程序运行的内存分配示意图。如图4所示,小BootRom模块的内存区和主BootRom模块的内存区不能重叠。主BootRom模块启动后可以利用小BootRom模块所使用的内存区。注意,对于内存区的分配和利用是有时间阶段性的,当小Bootrom的内存区在主Bootrom程序启动并完成使命之后,其所占用的内存可以释放作它用。相应的主Bootrom所占用的内存也会在主机程序运行起来后被释放。
另外,主BootRom模块的代码映像内存首地址需要在小BootRom模块中指定。
接下来将参考图5对本发明实施例所述的热升级流程进行详细说明。如图5所示,在本实施例中,热升级流程主要包括以下步骤:
步骤1:上电或者复位,此时硬件所有的模块处于初始状态,CPU从设定的ROM起始地址取指令运行。注意,此时读取的指令就是小Bootrom程序的指令。
步骤2:在小Bootrom程序中,对诸如内存、PCI总线(X86)的硬件作简单而必要的初始化。PPC(PowerPC)中还需对一些模块进行初始配置。另外,如果在小Bootrom中加载,还需对相应的接收硬件作初始化。
顺便一提,除了用于初始化硬件系统的模块以外,小BootRom模块中的其它模块(例如串口通信模块、Arj模块、热升级操作时序模块,等等)均被设计成共享式模块。底层不同之处采用适配接口能方便的移植到不同硬件体系的构架中,例如X86构架、PPC构架等。因为这些模块程序并没有涉及到操作系统,因此能方便的加以移植。但是对于硬件初始化部分则要针对处理,这是不能跳过的。
步骤3:由小Bootrom模块读取保存在上述魔术字空间(由图3中的MagicWord空间表示)之内的数据。如果读出的数据和一个预先定义的魔术字(注:该魔术字是一个或者一组特定的数据,这组数据比较特殊,例如0x96695aa5,一般其他数据和该数据恰巧相同的概率非常小)不相同,则表示主Bootrom程序没有,或者有错误。此时需要启动小Bootrom中的加载模块以请求加载主Bootrom程序(例如,简单直接地通过Xmodem串口通信模块进行加载)。注意,虽然上述数据保存在魔术字空间内,但里面的数据不一定与所述预先定义的魔术字相同,例如未加载主Bootrom程序之前,或者主Bootrom程序在加载后被破坏,则都会导致数据和所述预先定义的魔术字不吻合,这时就可以认为主Bootrom程序非法。实际上,所述预先定义的魔术字就是一个检验主Bootrom程序是否合法的标志。另一方面,如果读出的数据和所述预先定义的魔术字相同,则表示已经存在有主Bootrom程序(或者表示主Bootrom程序是合法的)。此时,小Bootrom程序将发出提示信息,以提示用户是否需要重新加载新的主Bootrom程序,如果用户在一定时间内没有做出反应,则直接进入后面的步骤5以将现有的主Bootrom程序调入内存中运行。若用户输入信息表示需要重新加载新的主Bootrom程序,则进入步骤4。
步骤4:当需要从小Bootrom中加载新的主Bootrom程序时,小Bootrom将调用加载模块,例如串口协议XModem加载模块,从Sever端加载主Bootrom程序。主Bootrom程序采用压缩方式,这样可以节省空间,当然也可以不压缩。加载完成后,加载的程序将得到校验,如果没有出错,则调用存储模块(前面提到过能提供对固化空间的擦写校验功能的模块),将程序写入固定的主Bootrom区间并在所述魔术字空间内写入一个预先定义的魔术字(例如:可以定义四字节长度的魔术字0x96695aa5或者更长的魔术字,但魔术字的字长受存储空间限制),表示已加载了主Bootrom程序。如果出错,则重新执行步骤4。
步骤5:当不需要从小Bootrom中加载新的主Bootrom程序时,小Bootrom将从存储介质中读出现有的主Bootrom程序并对其进行校验(注:在被调入内存之前,主Bootrom程序需要经过一定的校验手段,以防止内容出错,由于具体的校验方法都是公知的现有技术,故此省略说明),如果校验出错,则跳入步骤4;如果没错,则调用解压模块将其解压到内存中的主Bootrom运行空间内(当然,在主Bootrom不是压缩程序的情况下,就无需对其进行解压缩)。然后,小Bootrom将控制权交给主Bootrom程序,并完成使命。
步骤6:主Bootrom启动后,它将完成另外一些功能(这些功能由产品需求而定,例如:不同的启动设置,运行不同版本的主机程序,还有可以进行特定硬件的配置、自动硬件检测等),并从主机程序保存空间取出主机程序释放到内存中的主机程序运行空间。
步骤7:主Bootrom程序将控制权交给主机程序,并完成使命。
在主机应用模块中的加载模块可对小BootRom模块和主BootRom模块进行实时加载,该加载模块可采用集中控制分布式方式来提供和管理统一的加载文件需求。在加载配置中,对文件的类型、名称、需求模块号、以及存储方式和存储地址都有精确的定义。这样,当软件需要修改或升级的时候,将升级程序文件从Server加载到集中控制管理模块,管理模块再将其分发到主BootRom的需求的模块上,并将其写入由加载配置确定好的预定存储的地方。当程序被复位或者断电重启时,升级或更改后的新的引导程序将运行。这样,就完整的实现了引导程序的热升级。
应该注意,虽然对本发明的说明是根据其具体实施例来进行的,但是它并不意味着对本发明的限制。对本领域的普通技术人员来说,在不脱离本发明的精神和范围的情况下,可以对其做出各种修改和变换。例如,虽然在本发明的实施例中,主BootRom模块和小BootRom模块同时存放在一块BootRom芯片中,但在实际应用中,也可以将它们分别存放在不同的固化存储器(如Flash存储器)中。Flash存储器的大小一般均在4M以上,而普通的BootRom存储芯片容量大小固定为512K,所以Flash存储器足以满足要求。另外,主机加载模块也可以采用其他方式加载,例如可以采用各需求模块申请报文通过加载模块转发报文然后直接从Server中加载的分布式集中转发模式。总之,不背离本发明精神的各种改型均在本发明所附的权利要求的保护范围之内。

Claims (10)

1.一种在嵌入式系统中实现引导程序热升级的方法,所述系统的引导程序模块包括基本引导模块和非固化的主引导模块,该方法包括以下步骤:
1)所述基本引导模块在主机上电或复位后引导,并对所述系统的底层硬件进行初始化;
2)所述基本引导模块判断是否需要对所述主引导模块进行更新;
3)如果需要更新所述主引导模块,则所述基本引导模块从外部数据设备上下载更新的主引导模块;以及
4)所述下载的主引导模块启动以完成动态升级。
2.根据权利要求1所述的方法,其特征在于,所述基本引导模块和所述主引导模块保存在同一存储装置内。
3.根据权利要求1所述的方法,其特征在于,所述基本引导模块和所述主引导模块保存在不同的存储装置内。
4.根据权利要求2或3所述的方法,其特征在于,所述存储装置为半导体存储装置。
5.根据权利要求4所述的方法,其特征在于,所述步骤2)中进一步包括根据所述基本引导模块与所述主引导模块之间存在的一个判断标记进行判断以确定是否需要下载更新的主引导模块的步骤。
6.根据权利要求4所述的方法,其特征在于,所述步骤3)中进一步包括由所述基本引导模块通过至少含有串口或网口的简单外部端口连接以从外部数据设备上下载更新的主引导模块的步骤。
7.根据权利要求4所述的方法,其特征在于,所述步骤4)中进一步包括对下载的所述主引导模块进行解压缩的步骤。
8.根据权利要求4所述的方法,其特征在于,所述基本引导模块还提供有支持读写各种类型的含有固化引导程序的芯片的接口函数。
9.根据权利要求8所述的方法,其特征在于所述基本引导模块和主引导模块均在内存中运行,并且内存的分配在所述基本引导模块中指定。
10.根据权利要求9所述的方法,其特征在于所述基本引导模块中指定有所述主引导模块在内存映像中的首地址。
CNB031374220A 2003-06-20 2003-06-20 在嵌入式系统中实现引导程序热升级的方法 Expired - Lifetime CN100389389C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031374220A CN100389389C (zh) 2003-06-20 2003-06-20 在嵌入式系统中实现引导程序热升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031374220A CN100389389C (zh) 2003-06-20 2003-06-20 在嵌入式系统中实现引导程序热升级的方法

Publications (2)

Publication Number Publication Date
CN1567195A true CN1567195A (zh) 2005-01-19
CN100389389C CN100389389C (zh) 2008-05-21

Family

ID=34470402

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031374220A Expired - Lifetime CN100389389C (zh) 2003-06-20 2003-06-20 在嵌入式系统中实现引导程序热升级的方法

Country Status (1)

Country Link
CN (1) CN100389389C (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359469C (zh) * 2005-07-22 2008-01-02 上海华为技术有限公司 单片机升级方法
CN100373337C (zh) * 2006-01-20 2008-03-05 北京朗通环球科技有限公司 一种嵌入式系统的引导系统
CN100386728C (zh) * 2006-03-24 2008-05-07 清华大学 植入式医疗仪器的软件在线升级方法
CN100561433C (zh) * 2006-09-30 2009-11-18 四川长虹电器股份有限公司 嵌入式系统及其升级方法
CN102135894A (zh) * 2010-10-13 2011-07-27 华为技术有限公司 一种多核在线补丁方法和装置
CN102467397A (zh) * 2010-11-17 2012-05-23 中兴通讯股份有限公司 嵌入式系统的引导方法及装置
CN102830986A (zh) * 2011-06-17 2012-12-19 中兴通讯股份有限公司 一种在双boot程序环境下启动系统的方法和装置
CN104965744A (zh) * 2015-07-10 2015-10-07 上海斐讯数据通信技术有限公司 一种系统升级方法及嵌入式系统
CN105144096A (zh) * 2013-03-15 2015-12-09 密克罗奇普技术公司 最小化在可热插拔程序存储器中的操作系统内核更新期间的切换时间
CN105677376A (zh) * 2014-11-19 2016-06-15 中兴通讯股份有限公司 引导程序传输方法、嵌入式系统及引导程序传输系统
CN106155752A (zh) * 2016-08-03 2016-11-23 北京蛙视通信技术股份有限公司 一种嵌入式操作系统启动的方法及装置
CN106990982A (zh) * 2017-03-20 2017-07-28 北京新能源汽车股份有限公司 程序更新方法及装置
CN107203796A (zh) * 2017-06-09 2017-09-26 张晶婕 一种可自动控制出糖的果糖机控制系统及其控制方法
CN108304200A (zh) * 2017-01-12 2018-07-20 阿里巴巴集团控股有限公司 一种驱动程序升级的方法、装置以及电子设备
CN111258604A (zh) * 2020-01-14 2020-06-09 深圳市有为信息技术发展有限公司 Bootloader升级系统和方法
CN111488168A (zh) * 2019-12-25 2020-08-04 湖北航天飞行器研究所 一种基于boot二次加载的武器系统控制软件安全升级方法
CN111752588A (zh) * 2020-06-02 2020-10-09 深圳麦格米特电气股份有限公司 一种应用程序的更新方法和电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6128734A (en) * 1997-01-17 2000-10-03 Advanced Micro Devices, Inc. Installing operating systems changes on a computer system
US6275931B1 (en) * 1998-06-22 2001-08-14 Elsag International N.V. Method and apparatus for upgrading firmware boot and main codes in a programmable memory

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100359469C (zh) * 2005-07-22 2008-01-02 上海华为技术有限公司 单片机升级方法
CN100373337C (zh) * 2006-01-20 2008-03-05 北京朗通环球科技有限公司 一种嵌入式系统的引导系统
CN100386728C (zh) * 2006-03-24 2008-05-07 清华大学 植入式医疗仪器的软件在线升级方法
CN100561433C (zh) * 2006-09-30 2009-11-18 四川长虹电器股份有限公司 嵌入式系统及其升级方法
CN102135894A (zh) * 2010-10-13 2011-07-27 华为技术有限公司 一种多核在线补丁方法和装置
US9430399B2 (en) 2010-10-13 2016-08-30 Huawei Technologies Co., Ltd. Multi-core online patching method and apparatus
CN102135894B (zh) * 2010-10-13 2015-11-25 华为技术有限公司 一种多核在线补丁方法和装置
CN102467397A (zh) * 2010-11-17 2012-05-23 中兴通讯股份有限公司 嵌入式系统的引导方法及装置
CN102830986A (zh) * 2011-06-17 2012-12-19 中兴通讯股份有限公司 一种在双boot程序环境下启动系统的方法和装置
CN105144096A (zh) * 2013-03-15 2015-12-09 密克罗奇普技术公司 最小化在可热插拔程序存储器中的操作系统内核更新期间的切换时间
CN105677376A (zh) * 2014-11-19 2016-06-15 中兴通讯股份有限公司 引导程序传输方法、嵌入式系统及引导程序传输系统
CN104965744A (zh) * 2015-07-10 2015-10-07 上海斐讯数据通信技术有限公司 一种系统升级方法及嵌入式系统
CN106155752A (zh) * 2016-08-03 2016-11-23 北京蛙视通信技术股份有限公司 一种嵌入式操作系统启动的方法及装置
CN108304200A (zh) * 2017-01-12 2018-07-20 阿里巴巴集团控股有限公司 一种驱动程序升级的方法、装置以及电子设备
CN108304200B (zh) * 2017-01-12 2022-02-22 阿里巴巴集团控股有限公司 一种驱动程序升级的方法、装置以及电子设备
CN106990982A (zh) * 2017-03-20 2017-07-28 北京新能源汽车股份有限公司 程序更新方法及装置
CN106990982B (zh) * 2017-03-20 2021-07-02 北京新能源汽车股份有限公司 程序更新方法及装置
CN107203796A (zh) * 2017-06-09 2017-09-26 张晶婕 一种可自动控制出糖的果糖机控制系统及其控制方法
CN111488168A (zh) * 2019-12-25 2020-08-04 湖北航天飞行器研究所 一种基于boot二次加载的武器系统控制软件安全升级方法
CN111488168B (zh) * 2019-12-25 2023-09-12 湖北航天飞行器研究所 一种基于boot二次加载的武器系统控制软件安全升级方法
CN111258604A (zh) * 2020-01-14 2020-06-09 深圳市有为信息技术发展有限公司 Bootloader升级系统和方法
CN111752588A (zh) * 2020-06-02 2020-10-09 深圳麦格米特电气股份有限公司 一种应用程序的更新方法和电子设备

Also Published As

Publication number Publication date
CN100389389C (zh) 2008-05-21

Similar Documents

Publication Publication Date Title
CN100389389C (zh) 在嵌入式系统中实现引导程序热升级的方法
US7908466B2 (en) Method and apparatus for booting a microprocessor system using boot code stored on a serial flash memory array having a random-access interface
RU2419839C2 (ru) Система и способ обновления программы для мобильного терминала с поддержкой ота
US7698698B2 (en) Method for over-the-air firmware update of NAND flash memory based mobile devices
US6330715B1 (en) Method and apparatus for managing software in a network system
US7181610B2 (en) Method and system to encapsulate a driver written for an operating system (OS) runtime environment in an OS independent environment firmware extension
JP4901095B2 (ja) 不揮発性ストレージにカスタム・ソフトウェア・イメージ・アップデートを適用するフェイルセーフな方法
CN101751273B (zh) 用于嵌入式系统的安全引导装置及方法
CN101154187B (zh) 用于为程序打补丁的方法、装置、服务处理器和系统
KR20030044901A (ko) 부팅 보호 방법 및 장치
JP2007213571A (ja) 新奇的なメモリアーキテクチャ内の直接メモリアクセスを用いてシステムを起動する方法
CN111857776B (zh) Dsp板卡类的应用程序的在线升级方法
US20020065958A1 (en) System and method for implementing a self-activating embedded application
CN108762797A (zh) 一种ssd固件在线更新方法、系统及ssd
WO2022105595A1 (zh) 嵌入式设备的系统升级方法、装置及嵌入式设备
US20030188146A1 (en) Method of ordered execution of firmware modules in a pre-memory execution environment
WO2022227409A1 (zh) 一种嵌入式终端远程软件更新方法
CN101615129B (zh) 应用于分布式系统中的升级方法及版本管理客户端
KR100729525B1 (ko) 펌웨어 업데이트 방법 및 시스템
KR20050088193A (ko) 고장 허용 갱신 에이전트를 구비한 모바일 핸드세트
TWI813887B (zh) 從分離的bios映像檔啟動的方法及系統
CN114416031B (zh) 面向AIoT场景支持RISC-V处理器的操作系统
CN111930402B (zh) 集群服务器的固件升级方法和集群服务器
CN1797336A (zh) 可自动更新嵌入式系统的系统软件的装置及方法
CN112148377B (zh) EFI Shell环境下防止SSD异常掉电的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170928

Address after: 053000 No. 126, Yanggu village, Zaoqiang Town, Zaoqiang County, Hengshui, Hebei

Patentee after: Duan Hongxin

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180524

Address after: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Patentee after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

Address before: 053000 Yanggu town 126, Zaoqiang Town, Zaoqiang, Hengshui, Hebei

Patentee before: Duan Hongxin

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180628

Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd.

Address before: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza,

Patentee before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20080521