CN114281394A - 一种快速在线升级程序的方法、系统、设备及介质 - Google Patents
一种快速在线升级程序的方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN114281394A CN114281394A CN202111475003.7A CN202111475003A CN114281394A CN 114281394 A CN114281394 A CN 114281394A CN 202111475003 A CN202111475003 A CN 202111475003A CN 114281394 A CN114281394 A CN 114281394A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- upgrade
- data packet
- program
- computer
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种快速在线升级程序的方法,上位机通过以太网通信将要升级的程序包下发给下位机,下位机将升级程序包通过串口或者SRIO发给目标数据存储板,目标数据存储板接收数据完成后,校验升级程序包的正确性,如果出错则重新传送升级程序包,如果正确则将升级程序包数据写入QSPI Flash中,完成程序的更新升级。本方法在上位机、下位机及目标板卡之间设计了一套升级方法流程,通过软件上设计的升级服务协议、异常恢复措施等包含着各种校验的方法从而提高了程序升级过程的可靠性;而且,本方法不需要借助仿真器或者编程器,可以不受环境的限制,从而提高了系统升级、生产调试以及工程维护的便捷性和可维护性。
Description
技术领域
本发明涉及设备软件的更新升级技术领域,尤其涉及一种快速在线升级程序的方法、系统、设备及介质。
背景技术
在生产制造领域,为了达到更高的生产质量和效率,需要技术人员、生产工人等的更加辛勤地工作,当然,更需要工业设备的性能变得更加优良。
因此,在面对用户越来越多、要求越来越高的新需求以及软件自身的错误等问题时,需要及时对工业设备的程序进行升级和维护,改善工业设备的性能,延长工业设备的生命周期,以便达到更高的生产质量和效率。
然而,现有的升级工业设备程序的方法需要先拆卸设备,再通过仿真器或者编程器烧写程序,这种方式在实际应用中,维护非常不便且操作困难。
发明内容
针对背景技术中提到的现有技术的至少一个缺陷或改进需求,第一方面,本发明提供一种快速在线升级程序的方法,包括如下步骤:
S1.接收上位机发送的升级数据包并校验所述升级数据包的正确性;
S2.若校验错误,则结束本次升级;若校验正确,则向目标数据存储板发送升级请求报文;
S3.接收所述目标数据存储板返回的回复升级请求报文,校验其正确性,并从中获取升级数据包序号信息,依据所述升级数据包序号信息将相应的升级数据包及升级开始报文发送给所述目标数据存储板;
S4.所述目标数据存储板根据所述升级开始报文校验传输过程的正确性,若校验错误,则接收带有需要重新传输的升级数据包序号信息的应答报文;若校验正确,则将接收到的升级数据包缓存在第一存储空间;重复此过程,直至整个升级数据包发送完成;
S5.根据所述升级请求报文校验整个升级数据包的传输完成情况以及正确性,并将校验无差错的升级数据包存入第二存储空间;
S6.收到所述目标数据存储板返回的升级完成报文,校验无误后向所述目标数据存储板发出重启指令,完成程序在线升级,然后向所述上位机发出升级完成通知。
根据本发明提供的快速在线升级程序的方法,所述接收上位机发送的升级数据包并校验所述升级数据包的正确性的步骤前还包括如下步骤:
S01.接收所述上位机发起的程序升级请求指令并解析;
S02.通过周期性的自检及状态查询命令,获取所述目标数据存储板当前的状态,在确认与升级相关的各模块均工作正常后,向所述上位机发出可以升级的应答。
根据本发明提供的快速在线升级程序的方法,所述根据所述升级请求报文校验整个升级数据包的传输完成情况以及正确性的步骤具体为:
根据所述升级请求报文中携带的所述升级数据包的大小和包数信息,判断整个升级数据包的传输完成情况;根据所述升级请求报文中携带的所述升级数据包的和校验码信息,对缓存在所述第一存储空间的升级数据包进行和校验,以判断整个升级数据包的正确性。
根据本发明提供的快速在线升级程序的方法,所述并将校验无差错的升级数据包存入第二存储空间具体包括步骤:
S51.对所述第二存储空间进行擦除;
S52.将校验无差错的升级数据包依次写入所述第二存储空间,直至全部写入;
S53.将所述第二存储空间的数据回读,与所述第一存储空间的数据进行比对;
S54.全部比对无误后,向下位机发送所述升级完成报文。
根据本发明提供的快速在线升级程序的方法,所述接收上位机发送的升级数据包并校验所述升级数据包的正确性具体为:
所述上位机发送开始升级请求指令,通过以太网将所述升级数据包发送到所述下位机;所述上位机发送下载结束指令,通知所述下位机校验所述升级数据包的正确性;在所述下位机检查所述升级数据包的计算校验和并得出比较结果后,通知所述上位机所述升级数据包已传输完成。
根据本发明提供的快速在线升级程序的方法,所述第一存储空间为DDR3内存,所述第二存储空间为QSPI Flash。
根据本发明提供的快速在线升级程序的方法,所述升级数据包包括FSBL升级程序包、FPGA升级程序包、应用升级程序包和操作系统升级程序包中的一种或多种。
第二方面,本发明提供一种快速在线升级程序的系统,该系统能够实现上述任一项所述的快速在线升级程序的方法的步骤。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时能够实现上述任一项所述的快速在线升级程序的方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时能够实现上述任一项所述的快速在线升级程序的方法的步骤。
本发明在上位机、下位机及目标板卡之间设计了一套升级方法流程,通过软件上设计的升级服务协议、异常恢复措施等包含着各种校验的方法从而提高了程序升级过程的可靠性;而且,本方法不需要借助仿真器或者编程器,可以不受环境的限制,从而提高了系统升级、生产调试以及工程维护的便捷性和可维护性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见的,下面的附图是本发明的一些较佳实施例的附图,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种快速在线升级程序的系统的硬件环境结构示意图;
图2是本发明实施例提供的一种快速在线升级程序的系统的国产化SoC硬件框架图;
图3是本发明实施例提供的一种快速在线升级程序的方法的流程示意图之一;
图4是本发明实施例提供的一种快速在线升级程序的方法的流程示意图之二;
图5是本发明实施例提供的适于实现上文描述的方法的电子设备的方框示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合一些附图对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
Zynq是Xilinx公司推出的一个可扩展处理平台,其将通用基础双ARMCortex-A9MPCore处理器系统作为“主系统”,结合低功耗28nm工艺技术,以实现高度的灵活性、强大的配置功能和高性能。由于该新型器件的可编程逻辑部分基于赛灵思28nm 7系列FPGA,因此该系列产品的名称中添加了”7000”,以保持与7系列FPGA的一致性,同时也方便日后本系列新产品的命名。
Zynq 7000由ARM cortex-A9 MPCore处理器+28nm 7系列FPGA构成,内部集成PS(Processing System)和PL(programmable Logic)。另外其采用HPL 28nm(HighPerformance Low Power,高性能低功耗28nm)和HKMG(High-K Metal Gate,高K金属栅极)工艺,保证了其高性能的同时具有更低的功耗。
现有的FPGA升级的方法是需要先拆卸设备,将FPGA生成的bitstream文件,通过Xilinx SDK的Create Boot Image工具,和FSBL文件及应用文件一起打包生成BOOT.bin,然后通过SDK工具的Program Flash依靠仿真器或者编程器将BOOT.bin烧写进FLASH,重启后完成升级。这种现有的FPGA升级的方法维护非常不便且操作困难。
为了克服现有技术中的以上缺陷,本发明在上位机、下位机及目标板卡之间设计了一套升级方法流程,通过软件上设计的升级服务协议、异常恢复措施等包含着各种校验的方法从而提高了程序升级过程的可靠性;而且,本方法不需要借助仿真器或者编程器,可以不受环境的限制,从而提高了系统升级、生产调试以及工程维护的便捷性和可维护性。
本实施例使用的国产化SoC的FMQL7045片上系统与进口的Zynq 7000系列相近,可代替进口的SoC通过本发明的快速在线升级程序的方法实现工业设备FPGA的快速在线升级的国产化。
一、快速在线升级程序的方法
本实施例介绍一种基于串口或SRIO的国产化SoC的FMQL7045片上系统的FPGA的快速在线升级方法,将分别从系统硬件设计和系统软件设计两个方面来描述快速在线升级程序的方法的实现机制。
(一)系统硬件设计
FPGA的在线升级系统硬件环境总体结构如图1所示。网络调试上位机通过以太网通信将要升级的程序包下发给图像处理板(即下位机),图像处理板将升级程序包通过串口或者SRIO发送给目标板卡(即目标数据存储板),目标板卡接收数据完成后,校验升级程序包的正确性,如果出错则重新传送升级程序包,如果正确则将升级程序包的数据写入QSPIFlash中。可以根据实际需要选择升级相应的程序,包括FSBL程序、FPGA程序、应用程序以及操作系统程序等。根据实际需求打包制作相应的升级程序包,由网络调试上位机下发进行在线升级。
目标板卡的硬件系统主要由国产化SoC的FMQL7045片上系统、DDR3内存、片外QSPIFlash和Uart接口电路等部件组成,硬件框架图如图2所示。国产化SoC包含处理器系统(Processing System,缩写为PS)和可编程逻辑器件(Programmable Logic,缩写为PL)两部分。片外QSPI Flash作为非易失性存储,用于存储BOOT程序、应用程序以及FPGA程序等,程序运行在DDR3内存中。UART和SRIO接口用于传送升级程序包。
(二)系统软件设计
本实施例的FPGA在线升级方法在系统运行的过程中可以在无需断电的情况下实时进行。软件上通过模块化的方式进行设计,由升级数据接收模块、QSPI Flash校验烧写模块、自检及状态上报模块等组成了完整的在线升级系统。
2.1 UART驱动或SRIO驱动
国产化SoC的PS处理器内部集成了两个UART串口控制器,波特率可按实际要求设置,本方法中使用的波特率是460800,基本可以满足系统对升级时间的要求。UART驱动主要包括了UART模块的硬件初始化、自检报文发送、命令报文发送与接收处理、升级数据接收处理。初始化配置硬件引脚,通信波特率,工作模式等。自检、命令及升级数据的接收采用串口中断方式处理,这种方式既可以节省CPU的资源,也能够保证及时进行响应。通过加入报文校验机制、报文重发机制,提高了在线升级过程中的正确性和可靠性。无论是采用UART还是SRIO都可以满足系统功能设计的需要,选择其中之一即可。相对而言,SRIO的传输方式较UART更快,可以根据实际应用的需要选择最适合的传输方式。
2.2 QSPI Flash驱动
QSPI Flash一共有512个扇区,每个扇区大小为64KB,一共32MB存储空间。QSPIFlash驱动主要包含硬件初始化、全片擦除、扇区擦除、写入数据接口、读出数据接口等。擦除后,通过读出数据校验是否擦除成功。写入数据后,通过读出数据接口将数据读出后与写入前的数据进行比对校验是否成功。
2.3自检及状态上报模块
目标数据存储板通过自检报文与下位机即图像处理板保持通信。下位机定时向目标存储板发送报文,目标存储板收到报文后,将当前程序版本号、版本日期和各模块当前的工作状态等信息回发给下位机。
自检及状态上报报文如下:
2.3.1接收报文:55AA 02Len 00 01 00 00 00 00 00 00 00 00Xor F0
2.3.2发送报文:55BB 02Len 00 01x1 x2 x3 x4 x5 x6 x7 x8 Xor F0
各字节含义参见表1。
表1自检及状态报文各字节含义对照表
模块状态信息x1每位所代表的含义参见表2。
表2状态模块各位含义对照表
2.4升级数据接收模块
升级数据接收模块负责接收从下位机即图像处理板发往目标数据存储板的升级程序包。升级数据接收模块包括升级请求报文、升级数据包报文、接收反馈报文等。具体流程为升级数据接收模块收到升级请求后,通过和校验判断升级请求报文是否正确接收,如正确则从升级请求报文中将必要的关键信息取出。升级请求报文格式如下:
2.4.1升级请求报文:55AA 05 09 04 01x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 XorF0
其中09 04 01表示发送的是升级请求,x1 x2表示需要传送的数据的总的包数,x3x4 x5 x6表示整个升级文件数据的大小,x7 x8 x9 x10表示整个文件的校验和,用于在收取完成整个升级数据包后校验升级数据包的正确性。
2.4.2升级数据包报文:55AA 05D1 D2 D3 D4 78 9-16382Xor F0
其中78表示是升级数据包报文,D1 D2表示本包数据长度,D3 D4表示发送包的序号,从01开始计数。可在程序中设置每包数据长度大小,最高为16384byte,当升级数据包报文为16384时,除去协议头、协议尾及D1到D4,其中有16374为升级数据。
2.4.3接收反馈报文用于升级数据接收模块向下位机即图像处理板回发应答,在接收到升级请求报文和升级数据包报文时调用发送。
接收反馈报文:55AA 05 0A 05CMD D1 D2 D3 D4 D5 D6 Xor F0
其中0A 05代表报文类型,D1 D2 D3 D4表示数据接收模块下一个要接收的数据包的序号,低字节在前,以1为起始序号;
CMD含义如下:
01:升级数据接收中反馈报文
02:升级出错反馈报文
03:升级完成反馈报文
如下位机接收到55AA 05 0A 05 01 01 00 00 00 00 00Xor F0,则表示需要向升级数据接收模块开始发送第一包升级数据。每包数据在接收完成后会校验当前这一包数据的正确性,如果校验出错,则按当前数据包序号向下位机回发报文,如果校验成功,则向下位机发送含下一包数据序号的回发报文。
如下位机接收到55AA 05 0A 05 02 00 00 00 00 00 00Xor F0,则表示升级出错,需要重新从头开始发送整个升级数据包。
如下位机接收到55AA 05 0A 05 03 00 00 00 00 00 00Xor F0,则表示升级数据校验无误,并已烧写到QSPI Flash,升级完成。
2.5 QSPI Flash校验烧写模块
QSPI Flash校验烧写模块负责将接收到的升级数据包烧写进QSPI Flash。这个模块主要工作分为三个部分,首先擦除Flash,擦除完成后读取校验是否擦除成功;其次,将接收到的升级数据写入到对应位置的Flash;最后,写入完成后再将数据读出,与写之前的数据进行比对,校验是否成功写入。
2.6程序启动流程
程序上电启动的流程如下所述:
首先,执行片内BootROM程序,芯片里的ROM固化了一段不可修改的程序,上电即执行,它将初始化CPU,完成对QSPI Flash、Uart等外设控制器的初始化。
其次,加载FSBL(First Stage Boot Loader)程序到OCM(On Chip Memory)上运行,FSBL完成时钟、DDR3等的初始化。
最后,根据Vivado的配置,完成PS端的初始化。然后使用比特流文件对PL进行配置,再加载应用程序到DDR3空间,加载完成后跳转执行。
2.7快速在线升级程序的流程
可参考图3和图4,其全流程的主要步骤如下:
步骤1:上位机发起程序升级请求命令,下位机接收到命令后,进入在线升级模式,解析命令中的文件类型、名称、大小等参数。
步骤2:下位机通过周期性的自检及状态查询命令,获取目标数据存储板当前的状态,包括Flash、DDR3及SRIO和Uart等的相关状态,在确认与升级相关的各模块均工作正常后,向上位机发出可以升级的应答。
步骤3:上位机发送开始升级请求命令,通过以太网将升级数据包发送到下位机,直至升级包传输完成。上位机发送下载结束命令,通知下位机校验升级包的正确性,下位机检查升级包计算校验和得出比较结果后,通知上位机升级数据包传输完成。
步骤4:如果上位机收到步骤3中下位机任一环节的否定应答,则上位机发送下载取消命令,结束本次升级,同时返回升级失败的提示。
步骤5:如果以上步骤3中的校验结果均正常,下位机则准备开始将升级数据包发送给目标数据存储板。下位机首先发送升级请求命令到目标数据存储板,目标数据存储板收到升级请求后,校验报文的正确性,由升级前的空闲状态进入升级状态,然后向下位机发出请求第一包升级数据的报文回应。
步骤6:下位机收到目标数据存储板回发的回复升级请求报文,校验该报文的正确性及获取该报文中的关键信息(如需要发送的升级数据包的序号信息),根据获取的数据包序号,开始将相应的升级数据包及升级开始报文发往目标数据存储板。
步骤7:目标数据存储板收取下位机发送的升级数据包,每包传输完成后根据报文中携带的和校验信息判断传输过程中的正确性。如果校验错误,则向目标数据存储板发送带有需要重新传输的升级数据包序号的应答报文;如果校验无误,则将收取到的升级数据包存储在规定地址的DDR3内存空间处,重复此过程,直至整个升级数据包发送完成。
步骤8:根据升级请求报文中携带的升级数据包的大小和包数等相关信息判断整个升级数据包的传输完成情况,再根据升级请求报文中携带的升级数据包的和校验码等相关信息对缓存在DDR3内存空间的升级数据包进行和校验,以判断整个升级数据包的正确性。
步骤9:对升级数据包校验无误后,开始准备将升级数据包写入QSPI Flash地址空间。先对QSPI Flash相应的空间进行擦除,然后将升级数据包依次写入QSPI Flash,全部写入完成后,再将相应QSPI Flash地址空间的数据读出,与DDR3中的数据进行比对。比对完成无误后,向下位机发送升级完成报文。
步骤10:下位机收到目标数据存储板发回的升级完成报文,校验无误后向目标数据存储板发出复位命令通知重启,完成程序在线升级,然后下位机向上位机发出升级完成通知,上位机收到通知后,向用户提示升级成功。
二、快速在线升级程序的系统
在一个实施例中提供一种快速在线升级程序的系统,该系统能够实现上述的快速在线升级程序的方法的任一步骤。
三、快速在线升级程序的设备
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,本实施例中所描述的电子设备1000,包括:处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1003中,存储有系统1000操作所需的各种程序和数据。处理器1001、ROM1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM 1002和/或RAM 1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM 1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。系统1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备和模块等可以通过计算机程序模块来实现。
四、快速在线升级程序的介质
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/系统中所包含的;也可以是单独存在,而未装配入该设备/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003以外的一个或多个存储器。
需要说明的是,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,上述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。还要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (10)
1.一种快速在线升级程序的方法,其特征在于,包括如下步骤:
S1.接收上位机发送的升级数据包并校验所述升级数据包的正确性;
S2.若校验错误,则结束本次升级;若校验正确,则向目标数据存储板发送升级请求报文;
S3.接收所述目标数据存储板返回的回复升级请求报文,校验其正确性,并从中获取升级数据包序号信息,依据所述升级数据包序号信息将相应的升级数据包及升级开始报文发送给所述目标数据存储板;
S4.所述目标数据存储板根据所述升级开始报文校验传输过程的正确性,若校验错误,则接收带有需要重新传输的升级数据包序号信息的应答报文;若校验正确,则将接收到的升级数据包缓存在第一存储空间;重复此过程,直至整个升级数据包发送完成;
S5.根据所述升级请求报文校验整个升级数据包的传输完成情况以及正确性,并将校验无差错的升级数据包存入第二存储空间;
S6.收到所述目标数据存储板返回的升级完成报文,校验无误后向所述目标数据存储板发出重启指令,完成程序在线升级,然后向所述上位机发出升级完成通知。
2.根据权利要求1所述的快速在线升级程序的方法,其特征在于,所述接收上位机发送的升级数据包并校验所述升级数据包的正确性的步骤前还包括如下步骤:
S01.接收所述上位机发起的程序升级请求指令并解析;
S02.通过周期性的自检及状态查询命令,获取所述目标数据存储板当前的状态,在确认与升级相关的各模块均工作正常后,向所述上位机发出可以升级的应答。
3.根据权利要求1所述的快速在线升级程序的方法,其特征在于,所述根据所述升级请求报文校验整个升级数据包的传输完成情况以及正确性的步骤具体为:
根据所述升级请求报文中携带的所述升级数据包的大小和包数信息,判断整个升级数据包的传输完成情况;根据所述升级请求报文中携带的所述升级数据包的和校验码信息,对缓存在所述第一存储空间的升级数据包进行和校验,以判断整个升级数据包的正确性。
4.根据权利要求1所述的快速在线升级程序的方法,其特征在于,所述并将校验无差错的升级数据包存入第二存储空间具体包括步骤:
S51.对所述第二存储空间进行擦除;
S52.将校验无差错的升级数据包依次写入所述第二存储空间,直至全部写入;
S53.将所述第二存储空间的数据回读,与所述第一存储空间的数据进行比对;
S54.全部比对无误后,向下位机发送所述升级完成报文。
5.根据权利要求1所述的快速在线升级程序的方法,其特征在于,所述接收上位机发送的升级数据包并校验所述升级数据包的正确性具体为:
所述上位机发送开始升级请求指令,通过以太网将所述升级数据包发送到所述下位机;所述上位机发送下载结束指令,通知所述下位机校验所述升级数据包的正确性;在所述下位机检查所述升级数据包的计算校验和并得出比较结果后,通知所述上位机所述升级数据包已传输完成。
6.根据权利要求1-5任一项所述的快速在线升级程序的方法,其特征在于,所述第一存储空间为DDR3内存,所述第二存储空间为QSPI Flash。
7.根据权利要求6所述的快速在线升级程序的方法,其特征在于,所述升级数据包包括FSBL升级程序包、FPGA升级程序包、应用升级程序包和操作系统升级程序包中的一种或多种。
8.一种快速在线升级程序的系统,其特征在于,该系统能够实现权利要求1-7任一项所述的快速在线升级程序的方法的步骤。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时能够实现权利要求1-7任一项所述的快速在线升级程序的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时能够实现权利要求1-7任一项所述的快速在线升级程序的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111475003.7A CN114281394A (zh) | 2021-12-06 | 2021-12-06 | 一种快速在线升级程序的方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111475003.7A CN114281394A (zh) | 2021-12-06 | 2021-12-06 | 一种快速在线升级程序的方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114281394A true CN114281394A (zh) | 2022-04-05 |
Family
ID=80870906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111475003.7A Pending CN114281394A (zh) | 2021-12-06 | 2021-12-06 | 一种快速在线升级程序的方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114281394A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114706607A (zh) * | 2022-06-07 | 2022-07-05 | 成都航天通信设备有限责任公司 | 一种用于全可编程片上系统的软件在线升级系统及方法 |
CN114978896A (zh) * | 2022-04-18 | 2022-08-30 | 中国电子科技集团公司第二十九研究所 | 一种异构平台嵌入式软件在线重构方法 |
CN115686586A (zh) * | 2022-11-16 | 2023-02-03 | 深圳市拓邦自动化技术有限公司 | 终端设备程序升级方法、装置及用电设备 |
CN116302020A (zh) * | 2023-05-25 | 2023-06-23 | 北京中科网威信息技术有限公司 | Fpga的逻辑程序升级方法、装置、设备及介质 |
CN116501359A (zh) * | 2023-06-29 | 2023-07-28 | 深圳和润达科技有限公司 | 对设备进行自适应远程升级的方法、装置、系统及介质 |
CN118093440A (zh) * | 2024-04-24 | 2024-05-28 | 中电科申泰信息科技有限公司 | 一种基于串口的QSPI Flash程序固化系统及其方法 |
-
2021
- 2021-12-06 CN CN202111475003.7A patent/CN114281394A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114978896A (zh) * | 2022-04-18 | 2022-08-30 | 中国电子科技集团公司第二十九研究所 | 一种异构平台嵌入式软件在线重构方法 |
CN114978896B (zh) * | 2022-04-18 | 2024-01-23 | 中国电子科技集团公司第二十九研究所 | 一种异构平台嵌入式软件在线重构方法 |
CN114706607A (zh) * | 2022-06-07 | 2022-07-05 | 成都航天通信设备有限责任公司 | 一种用于全可编程片上系统的软件在线升级系统及方法 |
CN115686586A (zh) * | 2022-11-16 | 2023-02-03 | 深圳市拓邦自动化技术有限公司 | 终端设备程序升级方法、装置及用电设备 |
CN116302020A (zh) * | 2023-05-25 | 2023-06-23 | 北京中科网威信息技术有限公司 | Fpga的逻辑程序升级方法、装置、设备及介质 |
CN116501359A (zh) * | 2023-06-29 | 2023-07-28 | 深圳和润达科技有限公司 | 对设备进行自适应远程升级的方法、装置、系统及介质 |
CN116501359B (zh) * | 2023-06-29 | 2023-09-15 | 深圳和润达科技有限公司 | 对设备进行自适应远程升级的方法、装置、系统及介质 |
CN118093440A (zh) * | 2024-04-24 | 2024-05-28 | 中电科申泰信息科技有限公司 | 一种基于串口的QSPI Flash程序固化系统及其方法 |
CN118093440B (zh) * | 2024-04-24 | 2024-07-02 | 中电科申泰信息科技有限公司 | 一种基于串口的QSPI Flash程序固化系统及其方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114281394A (zh) | 一种快速在线升级程序的方法、系统、设备及介质 | |
CN106569847B (zh) | 一种用于车载系统基于移动网络实现iap远程升级的方法 | |
CN103930878B (zh) | 用于存储器验证的方法、装置及系统 | |
CN107179909A (zh) | 软件升级方法、装置及计算机可读存储介质 | |
EP3542276B1 (en) | Flow control in remote direct memory access data communications with mirroring of ring buffers | |
CN103761122A (zh) | 一种芯片固件的升级方法和系统 | |
CN112947977B (zh) | 一种软件在线升级方法及系统 | |
CN107908417B (zh) | 固件升级方法及电子设备 | |
CN105320531A (zh) | 一种基于MicroBlaze软核的FPGA软件在线升级方法 | |
CN112181455B (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
CN117687664A (zh) | 一种dsp的在线升级配置方法及装置 | |
CN113703803A (zh) | 基于fpga的远程升级系统、方法及介质 | |
CN115840579A (zh) | Fpga远程更新方法、系统、贴片机及存储介质 | |
US11586504B2 (en) | Electronic apparatus and boot method thereof | |
CN114489732A (zh) | 一种更新设备的fpga固件的方法、装置及电子设备 | |
CN110457058A (zh) | 控制节点在线升级方法、装置、上位机、系统及电子设备 | |
CN110134423B (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
CN116700765A (zh) | 伺服驱动器的固件升级方法及装置、伺服驱动器 | |
CN116204214A (zh) | Bmc升级方法、装置、系统、电子设备及存储介质 | |
CN114115955B (zh) | 服务器资源盒子fpga固件升级方法、系统、终端及存储介质 | |
CN116302020A (zh) | Fpga的逻辑程序升级方法、装置、设备及介质 | |
CN112445508B (zh) | 一种基于can总线的arm应用程序在线升级的方法 | |
CN117908910A (zh) | 一种mcu升级方法、装置、电子设备及存储介质 | |
CN113190259B (zh) | 数据烧写方法、装置、互联网模组及存储介质 | |
CN213211012U (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 |