CN108415718B - 一种应用于星载软件在线更新的BootLoader设计方法 - Google Patents

一种应用于星载软件在线更新的BootLoader设计方法 Download PDF

Info

Publication number
CN108415718B
CN108415718B CN201810262213.XA CN201810262213A CN108415718B CN 108415718 B CN108415718 B CN 108415718B CN 201810262213 A CN201810262213 A CN 201810262213A CN 108415718 B CN108415718 B CN 108415718B
Authority
CN
China
Prior art keywords
update
flash
data packet
program
data
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.)
Active
Application number
CN201810262213.XA
Other languages
English (en)
Other versions
CN108415718A (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.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
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 Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201810262213.XA priority Critical patent/CN108415718B/zh
Publication of CN108415718A publication Critical patent/CN108415718A/zh
Application granted granted Critical
Publication of CN108415718B publication Critical patent/CN108415718B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

本发明公开了一种应用于星载软件在线更新的BootLoader设计方法,基于Cortex‑M4的微处理器,将片上FLASH分为BootLoader程序区、标志位区、用户代码区,利用外部扩展的NOR FLASH和SRAM(Staitic Random‑Access Memory,j静态随机存取存储器)来接收和存储地面站传输待更新的程序文件,并根据地面站的指令判断是否进行更新。本发明将BootLoader与IAP(In Application Programming,在应用编程)结合,通过地面站发送更新数据包给通信机,然后发给星载计算机完成星载软件的在线更新或分时更新,同时提供星载软件的回溯操作,从而大大提高了星载软件的可靠性、健壮性和后期软件的可维护性。

Description

一种应用于星载软件在线更新的BootLoader设计方法
技术领域
本发明涉及嵌入式启动技术领域与微小卫星的星载软件维护和提高其可靠性的领域,尤其涉及一种应用于星载软件在线更新的BootLoader设计方法。
背景技术
随着嵌入式产品中高端的微处理器ARM(Advanced RISC Machine)的加入以及软件的不断开发,使得整个嵌入式系统拥有了完整的架构,嵌入式在生活中应用的越来越广泛,其在航天领域也得到了广泛的应用。嵌入式中的微处理器的启动代码即BootLoader程序在不同的硬件架构中不尽相同,它不仅要完成设备启动后存储器、堆栈、寄存器、全局变量和基本硬件模块的初始化,还可以对其扩展,完成更多的功能。所以启动代码的设计直接影响了整个开发的运行进程。
目前我国航天技术得到巨大发展,空间任务的日趋多样化,具有低成本、功能密度高、研制周期短、发射方式灵活等特点的微小卫星已成为航天领域的新热点。微小卫星星务管理系统以星载计算机为主完成星务管理任务,它是卫星电子系统的核心部分,不仅担负着卫星数据的处理功能,而且还需要完成星上设备状态与工作温度的监控、卫星姿态控制、传感器数据采集以及执行各种搭载实验等任务。对于星载软件的可靠性和可维修性要求非常高,目前卫星都是针对特定的载荷在轨实现单一的飞行任务,无法完成注入新任务和功能更新,对其可靠性大都是采用双模冗余或三模冗余的措施,这样的实现有很大的限制。
本发明设计的一种应用于微小卫星的星载软件远程在线更新的BootLoader设计方法,是远程更新技术建立在嵌入式系统的IAP技术上,能够实现星载软件远程在线更新,大大提高了星载软件的可靠性、可维护性和健壮性。
发明内容
为了克服现有技术存在的缺陷,本发明提出题一种应用于星载软件在线更新的BootLoader设计方法。本发明将BootLoader与IAP结合,通过地面站向通信机模块传输,通信机与星载计算机通信完成远程在线更新系统,极大的提高了星载软件的可靠性、可维护性和健壮性。
本发明采用的技术方案为:一种应用于微小卫星的星载软件远程在线更新的BootLoader设计方法,包括步骤:
步骤1:根据星载计算机上STM32F407ZGT6处理器,片上FLASH具有有1M的内存空间,用来存储程序并运行程序,将其分为三个区,即BootLoader区、标志位区、用户代码区,同时对于外部NOR FLASH存储器分为三个区,即存储用户代码1区、存储用户代码2区、剩余区,然后启动BootLoader程序;
步骤2:在BootLoader程序中初始化串口、I2C总线、外部SRAM、外部NOR FLASH、片上FLASH、定时器,完成初始化工作后,判断标志位区的更新标志是否接收到远程更新指令;
步骤3:若通信机模块接收到更新指令,发送应答信息给地面站,接着判断该指令是开始新一轮的更新还是承接前一次的继续更新,如果是新一轮的更新则向地面站请求更新数据包,数据包号为1,如果是承接上一次的继续更新,则向地面站请求数据包,数据包号为上一次最后接收到的数据包号增加1;
步骤4:向地面站请求更新数据包,数据包分为两种,一种为更新程序的数据包,另外一种为更新终止数据包,在5s内若请求到数据包则判断数据包类型,如果是更新程序的数据包,则继续执行下面步骤,如果是终止数据包,则终止此次更新,将收到的所有数据写入到NOR FLASH存储区,记录此时各地址信息,并发送终止应答给地面站,最后跳转至FLASH用户代码区运行,若在5s内没有请求到如何更新数据包,则重新请求,限制请求3次,若一直没有请求到更新数据包,则发送失败应答给地面站,并退出本次更新,跳转至用户代码区运行;
步骤5:判断是否请求完所有的更新数据包,若没有则执行步骤4,若接收到了所有的更新数据包,则将所有数据存入对应NOR FLASH用户代码存储区,同时擦除FLASH用户代码区并写入最新的程序数据;
步骤6:发送更新完成应答给地面站,并跳转至FLASH用户代码区,运行最新的用户代码,至此更新过程完成;
步骤7:如果用户程序要回溯到上一个版本,不用地面站再次上传上一个版本的更新数据包,因为在外部NOR FLASH的用户代码区有其备份,可直接存入FLASH用户代码区,从而就实现了代码的回溯。
进一步地,其中星载计算机采用I2C总线与通信机模块通信,对于更新程序是在地面编译好后的二进制文件,通过地面站发送到通信机模块,然后交由星载计算机处理与存储。
进一步地,所述步骤1中,由于嵌入式系统在上电或复位的时候,都是从地址0x0处开始执行代码,BootLoader是嵌入式系统在上电或复位后执行的第一段代码,所以应放在地址0x0处,由STM32F407ZGT6的存储器映射,可得0x08000000映射到了地址0x00000000,所以可以把BootLoader程序存放在此处,且分配64K的内存空间;FLASH中用户程序存放区是其运行地址,最终程序需要跳转到此处执行;标志位区是用于保存在更新过程中的各种更新状态;对于外部NOR FLASH是用来存放更新的用户程序的二进制文件,分别有两个存储区,交叉更新,待校验完所有接收的更新数据后再写入用户代码运行地址;外部的SRAM要用来接收更新数据包,由于内部RAM空间比较小,而更新数据包的空间比较大,则需要借助外部SRAM来接收更新数据包,然后写入NOR FLASH的用户代码区中。
进一步地,所述BootLoader程序和用户程序的加载地址和运行地址都已经分区设计好,所以在生成为可执行文件时是需要链接在各自的加载地址处,这由链接脚本来完成。
进一步地,所述步骤3中,更新的程序二进制文件是很大的,所以要分包处理,每个数据包都含有报头和数据两个区域,在报头中应含有帧头、包序号、包类型、包长度、校验码,数据区域为更新程序的二进制数据或终止的特定数据,处理器每次接收到数据进行校验,若发生错误需要重传该数据包。
进一步地,所述步骤4中,对于终止此次更新的数据包的接收,由于卫星过站时间有限,而更新程序的数据包比较大,一次无法全部上传,所以要在下一次过站时继续上一次更新过程继续更新,因为一旦掉电或复位,SRAM中的数据将丢失,这就要求将SRAM中的数据保存至NOR FLASH,同时要记录好当前存储过后的地址位置,避免在下一次存储的时候将已经存入NOR FLASH的数据擦除,而是紧接着上一次的位置继续存储数据包。
进一步地,所述步骤7中,对于软件版本的回溯,需要在每次更新用户程序的时候,外部NOR FLASH中存储的与正在运行的用户程序的备份不能擦除,这就要就做好版本的控制,和擦除正确的NOR FLASH用户程序存储数据包。
本发明的有益效果为:
(1)本发明将BootLoader与IAP结合,可实现卫星卫星远程程序更新,提高了星载软件的可维护性、可靠性和健壮性。极大程度减少了维护成本和周期。
(2)在步骤1中创新地将各存储器划分为不同的区域,能够有效的管理各用户程序。
(3)本发明提出的终止此次更新过程,使一次更新过程分时完成,能够完成比较大的更新数据包的传输而不用担心此次过站的时间限制。
(4)在步骤7中创造性的提出了一种程序回溯的方法,若发现新程序有编程上的缺陷可以直接恢复运行原有的程序,无需再次上传等复杂步骤,大大增强了更新过程的稳定性。
附图说明
图1是STM32F407ZGT6通用启动过程;
图2是STM32F407ZGT6正常启动过程
图3是STM32F407ZGT6加入BootLoader程序后的启动过程;
图4是片上FLASH存储器划分图;
图5是外部NOR FLASH存储器划分图;
图6是方法流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示为STM32F407ZGT6处理器的复位流程,在处理器复位后,在开始执行程序前,处理器会从存储器中的0x0000000地址和0x000000004读取两个字,根据处理器的中断处理模式,中断向量表必须位于存储器的开头部分,中断向量表中最开始的两个字为主栈指针(MSP)的初始值,以及代表复位处理起始地址的复位向量。处理器读出这两个字后,就会将这两个值赋给MSP和程序计数器(PC)。
如图2为一般程序的正常启动过程,由STM32F407ZGT6的存储器映射,可得0x08000000映射到了地址0x00000000,首先程序从0x08000000和0x08000004最地址读取MSP值和PC值,然后跳转至PC值所指地址处执行代码,也就是执行复位中断服务函数,在复位中断服务函数执行完后会跳转至主函数中执行,主函数为一个死循环,当有中断发生时,硬件将PC指针强制指向0x08000004中断向量表开始处,在中断向量表中查找到发生中断的中断服务函数的入口地址后跳转至中断服务函数执行,执行完中断服务函数就跳转回主函数继续运行。而加入BootLoader程序后,程序的运行过程如图3所示,BootLoader的主函数的启动过程和一般程序的正常启动过程一致,但是BootLoader程序要实现更新程序数据包的接收,并在接收完成后或者不需要更新,跳转至用户代码区进行运行用户代码。用户代码要实现重新初始化主堆栈和中断向量表的偏移,进入用户代码主函数后若发生中断,硬件仍然将PC指针强制指向0x08000004地址处,但中中断向量表中查找到中断服务函数入口地址后使跳转至新的中断服务函数执行中断服务,执行完后跳转至用户代码主函数。
如图4-6所示,对应用于微小卫星的星载软件远程在线更新的BootLoader设计方法进行阐述,主要包括以下步骤:
步骤1:根据星载计算机的STM32F407ZGT6片上FLASH有1M的内存空间,用来存储程序并运行程序,如图4所示将其分为三个区,即BootLoader区、标志位区、用户代码区,同时如图5所示对于外部NOR FLASH存储器分为三个区,即存储用户代码1区、存储用户代码2区、剩余区,然后启动BootLoader程序;
步骤2:在BootLoader程序中初始化串口、I2C总线、外部SRAM、外部NOR FLASH、片上FLASH、定时器,完成初始化工作后,判断标志位区的更新标志是否接收到远程更新指令;
步骤3:若通信机模块接收到更新指令,发送应答信息给地面站,接着判断该指令是开始新一轮的更新还是承接前一次的继续更新,如果是新一轮的更新则向地面站请求更新数据包,数据包号为1,如果是承接上一次的继续更新,则向地面站请求数据包,数据包号为上一次最后接收到的数据包号增加1;
步骤4:向地面站请求更新数据包,数据包分为两种,一种为更新程序的数据包,另外一种为更新终止数据包,在5s内若请求到数据包则判断数据包类型,如果是更新程序的数据包,则继续执行下面步骤,如果是终止数据包,则终止此次更新,将收到的所有数据写入到NOR FLASH存储区,记录此时各地址信息,并发送终止应答给地面站,最后跳转至FLASH用户代码区运行,若在5s内没有请求到如何更新数据包,则重新请求,限制请求3次,若一直没有请求到更新数据包,则发送失败应答给地面站,并退出本次更新,跳转至用户代码区运行;
步骤5:判断是否请求完所有的更新数据包,若没有则执行步骤4,若接收到了所有的更新数据包,则将所有数据存入对应NOR FLASH用户代码存储区,同时擦除FLASH用户代码区并写入最新的程序数据;
步骤6:发送更新完成应答给地面站,并跳转至FLASH用户代码区,运行最新的用户代码,至此更新过程完成;
步骤7:如果用户程序要回溯到上一个版本,不用地面站再次上传上一个版本的更新数据包,因为在外部NOR FLASH的用户代码区有其备份,可直接存入FLASH用户代码区,从而就实现了代码的回溯。
进一步地,其中星载计算机采用I2C总线与通信机模块通信,对于更新程序是在地面编译好后的二进制文件,通过地面站发送到通信机模块,然后交由星载计算机处理与存储。
进一步地,所述步骤1中,由于嵌入式系统在上电或复位的时候,都是从地址0x0处开始执行代码,BootLoader是嵌入式系统在上电或复位后执行的第一段代码,所以应放在地址0x0处,由于STM32F407ZGT6的存储器映射,可得0x08000000映射到了地址0x00000000,所以可以把BootLoader程序存放在此处,且分配64K的内存空间;FLASH中用户程序存放区是其运行地址,最终程序需要跳转到此处执行;标志位区是用于保存在更新过程中的各种更新状态;对于外部NOR FLASH是用来存放更新的用户程序的二进制文件,分别有两个存储区,交叉更新,待校验完所有接收的更新数据后再写入用户代码运行地址;外部的SRAM要用来接收更新数据包,由于内部RAM空间比较小,而更新数据包的空间比较大,则需要借助外部SRAM来接收更新数据包,然后写入NOR FLASH的用户代码区中。
进一步地,所述BootLoader程序和用户程序的加载地址和运行地址都已经分区设计好,所以在生成为可执行文件时是需要链接在各自的加载地址处,这由链接脚本来完成。
进一步地,所述步骤3中,更新的程序二进制文件是很大的,所以要分包处理,每个数据包都含有报头和数据两个区域,在报头中应含有帧头、包序号、包类型、包长度、校验码,数据区域为更新程序的二进制数据或终止的特定数据,处理器每次接收到数据进行校验,若发生错误需要重传该数据包。
进一步地,所述步骤4中,对于终止此次更新的数据包的接收,由于卫星过站时间有限,而更新程序的数据包比较大,一次无法全部上传,所以要在下一次过站时继续上一次更新过程继续更新,因为一旦掉电或复位,SRAM中的数据将丢失,这就要求将SRAM中的数据保存至NOR FLASH,同时要记录好当前存储过后的地址位置,避免在下一次存储的时候将已经存入NOR FLASH的数据擦除,而是紧接着上一次的位置继续存储数据包。
进一步地,所述步骤7中,对于软件版本的回溯,需要在每次更新用户程序的时候,外部NOR FLASH中存储的与正在运行的用户程序的备份不能擦除,这就要就做好版本的控制,和擦除正确的NOR FLASH用户程序存储数据包。
本发明提供了一种应用于微小卫星的星载软件远程在线更新的BootLoader设计方法,能够使微小卫星在轨实现在线更新更新,极大提高了星载软件的可靠性、健壮性。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种应用于星载软件在线更新的BootLoader设计方法,其特征在于,包括步骤:
步骤1:根据星载计算机上包含片上FLASH和外部NOR FLASH存储器的STM32F407ZGT6处理器芯片,用片上FLASH来存储程序并运行程序,将其分为三个区,即BootLoader区、标志位区、用户代码区,同时对于外部NOR FLASH存储器分为三个区,即存储用户代码1区、存储用户代码2区、剩余区,然后启动BootLoader程序;
步骤2:在BootLoader程序中初始化串口、I2C总线、外部SRAM、外部NOR FLASH、片上FLASH、定时器,完成初始化工作后,判断标志位区的更新标志是否接收到远程更新指令;
步骤3:若通信机模块接收到更新指令,发送应答信息给地面站,接着判断该指令是开始新一轮的更新还是承接前一次的继续更新,如果是新一轮的更新则向地面站请求更新数据包,数据包号为1,如果是承接上一次的继续更新,则向地面站请求数据包,数据包号为上一次最后接收到的数据包号增加1;
步骤4:向地面站请求更新数据包,数据包分为两种,一种为更新程序的数据包,另外一种为更新终止数据包,在5s内若请求到数据包则判断数据包类型,如果是更新程序的数据包,则继续执行下面步骤,如果是终止数据包,则终止此次更新,将收到的所有数据写入到NOR FLASH存储区,记录此时各地址信息,并发送终止应答给地面站,最后跳转至FLASH用户代码区运行,若在5s内没有请求到如何更新数据包,则重新请求,限制请求3次,若一直没有请求到更新数据包,则发送失败应答给地面站,并退出本次更新,跳转至用户代码区运行;
步骤5:判断是否请求完所有的更新数据包,若没有则执行步骤4,若接收到了所有的更新数据包,则将所有数据存入对应NOR FLASH用户代码存储区,同时擦除FLASH用户代码区并写入最新的程序数据;
步骤6:发送更新完成应答给地面站,并跳转至FLASH用户代码区,运行最新的用户代码,至此更新过程完成;
步骤7:如果用户程序要回溯到上一个版本,不用地面站再次上传上一个版本的更新数据包,因为在外部NOR FLASH的用户代码区有其备份,可直接存入FLASH用户代码区,从而就实现了代码的回溯。
2.根据权利要求1所述的方法,其特征在于,其中星载计算机采用I2C总线与通信机模块通信,对于更新程序是在地面编译好后的二进制文件,通过地面站发送到通信机模块,然后交由星载计算机处理与存储。
3.根据权利要求1所述的方法,其特征在于,由STM32F407ZGT6的存储器映射,可得0x08000000映射到了地址0x00000000,把BootLoader程序存放在0x08000000,且分配64K的内存空间;FLASH中用户程序存放区是其运行地址,最终程序需要跳转到用户程序存放区处执行;标志位区是用于保存在更新过程中的各种更新状态;对于外部NOR FLASH是用来存放更新的用户程序的二进制文件,分别有两个存储区,交叉更新,待校验完所有接收的更新数据后再写入用户代码运行地址;外部的SRAM要用来接收更新数据包,然后写入NOR FLASH的用户代码区中。
4.根据权利要求3所述的方法,其特征在于,所述BootLoader程序和用户程序的加载地址和运行地址都已经分区设计好,所以在生成为可执行文件时是需要链接在各自的加载地址处,这由链接脚本来完成。
5.根据权利要求1所述的方法,其特征在于,所述步骤3中,更新的程序二进制文件是很大的,所以要分包处理,每个数据包都含有报头和数据两个区域,在报头中含有帧头、包序号、包类型、包长度、校验码,数据区域为更新程序的二进制数据或终止的数据,处理器每次接收到数据进行校验,若发生错误需要重传该数据包。
6.根据权利要求5所述的方法,其特征在于,所述步骤4中,对于终止此次更新的数据包的接收,由于卫星过站时间有限,而更新程序的数据包比较大,一次无法全部上传,所以要在下一次过站时继续上一次更新过程继续更新,因为一旦掉电或复位,SRAM中的数据将丢失,这就要求将SRAM中的数据保存至NOR FLASH,同时要记录好当前存储过后的地址位置,避免在下一次存储的时候将已经存入NOR FLASH的数据擦除,而是紧接着上一次的位置继续存储数据包。
7.根据权利要求1所述的方法,其特征在于,所述步骤7中,对于软件版本的回溯,需要在每次更新用户程序的时候,外部NOR FLASH中存储的与正在运行的用户程序的备份不能擦除,这就要就做好版本的控制和擦除正确的NOR FLASH用户程序存储数据包。
CN201810262213.XA 2018-03-28 2018-03-28 一种应用于星载软件在线更新的BootLoader设计方法 Active CN108415718B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810262213.XA CN108415718B (zh) 2018-03-28 2018-03-28 一种应用于星载软件在线更新的BootLoader设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810262213.XA CN108415718B (zh) 2018-03-28 2018-03-28 一种应用于星载软件在线更新的BootLoader设计方法

Publications (2)

Publication Number Publication Date
CN108415718A CN108415718A (zh) 2018-08-17
CN108415718B true CN108415718B (zh) 2021-06-08

Family

ID=63132656

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810262213.XA Active CN108415718B (zh) 2018-03-28 2018-03-28 一种应用于星载软件在线更新的BootLoader设计方法

Country Status (1)

Country Link
CN (1) CN108415718B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109683934A (zh) * 2018-12-21 2019-04-26 北京电子工程总体研究所 一种返回式卫星的星上软件参数远程固化方法
CN110289902A (zh) * 2018-12-29 2019-09-27 中国科学院软件研究所 一种星上软件的更新系统
CN110113530B (zh) * 2019-05-07 2021-02-09 中国科学院上海技术物理研究所 一种空间红外相机指令链重配置方法及装置
CN111273937B (zh) * 2020-01-18 2023-04-07 四川九洲空管科技有限责任公司 一种基于stm32f746处理器的远程升级方法
CN113552594A (zh) * 2021-07-13 2021-10-26 广东汇天航空航天科技有限公司 差分数据传输方法及系统、地面站、机载终端、存储介质
CN114090043A (zh) * 2021-11-24 2022-02-25 哈尔滨工业大学 通用的星载软件在轨动态重构方法、系统及介质
CN115902980B (zh) * 2023-02-15 2023-05-23 东方空间(西安)宇航技术有限公司 可在线更新的飞行目标天基监视与预测方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073978A1 (en) * 2005-09-27 2007-03-29 Samsung Electronics Co., Ltd. Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
CN102270162A (zh) * 2011-07-29 2011-12-07 中国航天科技集团公司第五研究院第五一三研究所 一种应用于sparcv8结构计算机的容错引导方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073978A1 (en) * 2005-09-27 2007-03-29 Samsung Electronics Co., Ltd. Method and system for booting and automatically updating software, and recovering from update error, and computer readable recording medium storing method
CN102270162A (zh) * 2011-07-29 2011-12-07 中国航天科技集团公司第五研究院第五一三研究所 一种应用于sparcv8结构计算机的容错引导方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Design Optimization and Implementation of Bootloader in Embedded System;Chen Sha;《2015 International Conference on Computer Science and Applications》;IEEE;20151231;第151-156页 *
基于Bootloader的可靠嵌入式软件远程更新机制;王恒;《微计算机信息》;20070715;第23卷(第7-2期);第57-59页 *

Also Published As

Publication number Publication date
CN108415718A (zh) 2018-08-17

Similar Documents

Publication Publication Date Title
CN108415718B (zh) 一种应用于星载软件在线更新的BootLoader设计方法
CN110231952B (zh) 一种ecu程序备份及循环升级控制方法及装置
CN106569847B (zh) 一种用于车载系统基于移动网络实现iap远程升级的方法
CN108052355B (zh) 星载载荷单元软件在轨重组方法
US7664923B2 (en) Method and system for updating software
CN109189445A (zh) 一种物联网设备程序升级的方法
CN112947977B (zh) 一种软件在线升级方法及系统
US8082469B2 (en) Virtual computer system, error recovery method in virtual computer system, and virtual computer control program
CN107704285B (zh) 现场可编程门阵列多版本配置芯片、系统和方法
CN101650662A (zh) 一种嵌入式系统的存储器件、固件启动及升级方法
CN111796848A (zh) Bootloader软件更新方法、装置、嵌入式控制器以及存储介质
CN101815988A (zh) 固件映像更新和管理
CN103677869A (zh) 无线传感器网络节点远程代码更新系统及方法
WO2014183557A1 (zh) 一种星敏感器在轨维护方法
CN106909352A (zh) 一种嵌入式设备的固件升级方法
CN110308920B (zh) 一种不影响正常运行的在轨修改星上产品软件的方法
CN111240720A (zh) 引导程序升级方法、装置及存储介质
CN105830021A (zh) 可更新集成电路无线电
CN107783775A (zh) 基于rtos嵌入式远程在线升级函数方法
US20070233750A1 (en) Data control apparatus and method
US9223697B2 (en) Computer reprogramming method, data storage medium and motor vehicle computer
US20030005212A1 (en) Method and apparatus for dynamically modifying a stored program
CN110688135A (zh) 一种控制器的程序刷写方法、装置及介质
US10817213B2 (en) Data storage device and operating method for data storage device
CN100359485C (zh) 嵌入式系统的测试装置及测试方法

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
GR01 Patent grant
GR01 Patent grant