CN110837390B - 一种Zynq平台远程升级方法 - Google Patents

一种Zynq平台远程升级方法 Download PDF

Info

Publication number
CN110837390B
CN110837390B CN201911069832.8A CN201911069832A CN110837390B CN 110837390 B CN110837390 B CN 110837390B CN 201911069832 A CN201911069832 A CN 201911069832A CN 110837390 B CN110837390 B CN 110837390B
Authority
CN
China
Prior art keywords
upgrade
zynq platform
image file
zynq
platform
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
CN201911069832.8A
Other languages
English (en)
Other versions
CN110837390A (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.)
Yi Si Si Hangzhou Technology Co ltd
Original Assignee
Isvision Hangzhou Technology 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 Isvision Hangzhou Technology Co Ltd filed Critical Isvision Hangzhou Technology Co Ltd
Priority to CN201911069832.8A priority Critical patent/CN110837390B/zh
Publication of CN110837390A publication Critical patent/CN110837390A/zh
Application granted granted Critical
Publication of CN110837390B publication Critical patent/CN110837390B/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
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明公开了一种Zynq平台远程升级方法,包括以下步骤:1)Zynq平台进入FSBL执行流程,执行步骤2)、3);2)Zynq平台向上位机发送升级请求数据包;上位机接收所述升级请求数据包后,匹配对应的升级镜像文件并发送到Zynq平台;3)Zynq平台接收校验码和升级镜像文件,校对升级镜像文件,将接收到的升级镜像文件写入FLASH中;4)Zynq平台继续执行后续的启动流程,从FLASH中加载Uboot镜像;若加载成功则跳转至DDR中执行Uboot代码;若不成功,则跳转回步骤2),Zynq平台重新发送升级请求数据包,本方法在FSBL执行流程中就完成了对升级数据镜像接收、存储,大幅度降低了升级流程对Zynq平台运行状态的依赖性,使用主串口+备用串口的数据传输方式,保证了数据的稳定传输。

Description

一种Zynq平台远程升级方法
技术领域
本发明涉及嵌入式系统升级领域,具体涉及一种Zynq平台远程升级方法。
背景技术
Zynq平台是Xilinx公司推出的全可编程片上系统,因其设计的灵活性好、性能优异、实时性高等特点,被广范应用于便携式设备中,随着嵌入式设备软件系统的发展,Zynq平台的升级方法也日趋多样化,现有的升级方法可以分为:SD卡升级和远程升级,其中SD卡升级需要在设备生产阶段就将升级代码固化,在设备出厂后,无法进行在线修改、升级,一旦出现升级需求,就需要拆机更换部件板或替换程序存储芯片,因此,为了能够满足客户持续变化的需求,改善系统的性能,嵌入式设备需要具备远程升级功能,远程升级使用上下位机协同实现,现有的Zynq平台远程升级方法,是在Zynq平台启动完成后,由上位机发送升级文件至下位机完成镜像升级,其存在以下问题:升级流程依赖于Zynq平台的正常启动,而Zynq平台启动过程需要历经Boot ROM->FSBL->Uboot->Kernel->LINUX->APP等多个阶段,由于启动过程中存在前后依赖性,所以任意阶段启动失败均不能进入升级流程;
同时,现有的升级系统,上下位机之间仅通过单端口传输数据,数据传输链路单一,升级数据传输依赖于以太网卡、WIFI网卡等设备驱动的正常加载,不能建立稳定的数据链路。
发明内容
针对上述问题,本发明提出一种Zynq平台远程升级方法,本方法在FSBL执行流程中就完成了对升级数据镜像接收、存储,大幅度降低了升级流程对Zynq平台运行状态的依赖性,使用主串口+备用串口的数据传输方式,保证了数据的稳定传输。
一种Zynq平台远程升级方法,包括以下步骤:
1)嵌入式设备在上电启动时,Zynq平台依次加载并执行Boot ROM代码和FSBL代码,进入FSBL执行流程,执行步骤2)、3);
2)Zynq平台向上位机发送升级请求数据包;
所述升级请求数据包中包括:待升级Zynq平台的产品型号、产品ID、芯片ID;待升级镜像名、镜像版本号;
上位机接收所述升级请求数据包后,匹配对应的升级镜像文件并发送到Zynq平台;
3)Zynq平台接收校验码和升级镜像文件,根据校验码校对升级镜像文件,若校对成功,则将接收到的升级镜像文件写入FLASH中;若校对失败,上位机重新发送校验码和升级镜像文件,Zynq平台根据新的校验码对新的升级镜像文件进行再次校对;直到将升级镜像文件写入到FLASH中;
4)Zynq平台继续执行后续的启动流程,从FLASH中加载Uboot镜像;若加载成功则跳转至DDR中执行Uboot代码;若不成功,则跳转回步骤2),Zynq平台重新发送升级请求数据包。
进一步,步骤4)判断加载成功的方式为:Zynq平台分别验证镜像运行平台和验证镜像版本号是否匹配,并通过校验码校验Uboot镜像是否正确,若校验成功,则进行加载;否则,不加载。
进一步,步骤3)中Zynq平台采用分段方式接收所述升级镜像文件,每接收一段升级镜像文件,进行一次数据的校对,若校对成功,则将该段升级镜像文件写入FLASH中;若校对失败,Zynq平台向上位机发送重传请求包,上位机重新发送该段的校验码和升级镜像文件,Zynq平台根据新的校验码对新的升级镜像文件进行再次校对;直到将该段升级镜像文件写入到FLASH中,继续接收、校验下一段升级镜像文件。
优选,一段升级镜像文件的大小为10K~20K。
进一步,校验码为CRC校验码或SHA校验码。
进一步,上位机通过串口与Zynq平台连接,二者之间的数据传输方式包括:TTL、RS232、RS422、串口转以太网、串口转USB、串口转WIFI。
进一步,所述串口设置有多个,标记其中一个为主串口,其他为备用串口;若主串口的数据传输失败,利用备用串口进行数据传输。
进一步,步骤2)中,Zynq平台先通过主串口向上位机发送升级请求数据包;等待上位机返回的升级响应;
若等待时间超过预设时间,则本次响应失败,Zynq平台再次向上位机发送升级请求数据包;
若发送升级请求数据包的次数超出预设次数,则主串口通信失败,Zynq平台通过备用串口向上位机发送升级请求数据包。
优选,所述预设时间的设置范围:10ms~20ms;预设次数的设置范围:2~4次。
本发明方法在设备上电启动后,当Zynq平台进入FSBL执行流程就开始向上位机发送升级请求数据包;在FSBL执行流程中就完成了对升级数据镜像接收、存储,因此,大幅度降低了升级流程对Zynq平台运行状态的依赖性,在Uboot、Kernel、LINUX、APP等镜像均损坏的情况下,嵌入式系统仍能完成镜像升级;同时,本方法可以接收FSBL、Uboot、Kernel、LINUX和APP的升级镜像文件,对执行流程进行升级;
在Zynq升级镜像文件接收过程中,采用分段接收、分段校验的方式,保证了整个升级镜像文件的准确性;
本方法使用主串口+备用串口的数据传输方式,相对以太网口、WIFI等数据传输方案,串口硬件初始化简单,降低了升级流程对设备驱动的依赖性;并建立了多数据链据传输方式,保证了数据的稳定传输。
附图说明
图1为本发明升级过程流程示意图;
图2为实施方式中系统组成示意图。
具体实施方式
以下结合附图和实施例对本发明的技术方案进行详细描述。
一种Zynq平台远程升级方法,如图1所示,当判断出不是通过SD卡升级时,进行以下远程升级步骤:
1)嵌入式设备在上电启动时,Zynq平台依次加载并执行Boot ROM代码和FSBL代码,进入FSBL执行流程,执行步骤2)、3);
2)Zynq平台向上位机发送升级请求数据包;
升级请求数据包中包括:待升级Zynq平台的产品型号、产品ID、芯片ID;待升级镜像名、镜像版本号;
上位机接收升级请求数据包后,匹配对应的升级镜像文件并发送到Zynq平台;
3)Zynq平台接收校验码和升级镜像文件,根据校验码校对升级镜像文件,若校对成功,则将接收到的升级镜像文件写入FLASH中;若校对失败,上位机重新发送校验码和升级镜像文件,Zynq平台根据新的校验码对新的升级镜像文件进行再次校对;直到将升级镜像文件写入到FLASH中;
其中,校验码为CRC校验码或SHA校验码。
4)Zynq平台继续执行后续的启动流程,从FLASH中加载Uboot镜像;若加载成功则跳转至DDR中执行Uboot代码;若不成功,则跳转回步骤2),Zynq平台重新发送升级请求数据包。
具体的,判断加载成功的方式为:Zynq平台分别验证镜像运行平台和验证镜像版本号是否匹配,并通过校验码校验Uboot镜像是否正确,若校验成功,则进行加载;否则,不加载。
为了保证升级镜像文件接收的准确性,本实施例中,步骤3)中Zynq平台采用分段方式接收升级镜像文件,每接收一段升级镜像文件,进行一次数据的校对,若校对成功,则将该段升级镜像文件写入FLASH中;若校对失败,Zynq平台向上位机发送重传请求包,上位机重新发送该段的校验码和升级镜像文件,Zynq平台根据新的校验码对新的升级镜像文件进行再次校对;直到将该段升级镜像文件写入到FLASH中,继续接收、校验下一段升级镜像文件。
其中,一段升级镜像文件的大小可以设置为10K~20K,本实施例中,一段文件设置为10k。
上位机通过串口与Zynq平台连接,二者之间的数据传输可以取自以下方式:TTL、RS232、RS422、串口转以太网、串口转USB、串口转WIFI。
为了保证数据传输的通畅,本实施例采用主串口+备用串口的数据传输方式,即串口设置有多个,如图2所示,标记其中一个为主串口(串口0),其他为备用串口(串口1);若主串口的数据传输失败,利用备用串口进行数据传输。
具体来说,在步骤2)中,Zynq平台先通过主串口向上位机发送升级请求数据包;等待上位机返回的升级响应;
若等待时间超过预设时间,则本次响应失败,Zynq平台再次向上位机发送升级请求数据包;
若发送升级请求数据包的次数超出预设次数,则主串口通信失败,Zynq平台通过备用串口向上位机发送升级请求数据包。
其中,根据需要,设置预设时间的范围:10ms~20ms;预设次数的设置范围:2~4次,本实施中,预设时间:10ms;预设次数:3次。
前面对本发明具体示例性实施方案所呈现的描述是出于说明和描述的目的。前面的描述并不想要成为毫无遗漏的,也不是想要把本发明限制为所公开的精确形式,显然,根据上述教导很多改变和变化都是可能的。选择示例性实施方案并进行描述是为了解释本发明的特定原理及其实际应用,从而使得本领域的其它技术人员能够实现并利用本发明的各种示例性实施方案及其不同选择形式和修改形式。本发明的范围旨在由所附权利要求书及其等价形式所限定。

Claims (9)

1.一种Zynq平台远程升级方法,其特征在于,包括以下步骤:
1)嵌入式设备在上电启动时,Zynq平台依次加载并执行Boot ROM代码和FSBL代码,进入FSBL执行流程,执行步骤2)、3);
2)Zynq平台向上位机发送升级请求数据包;
所述升级请求数据包中包括:待升级Zynq平台的产品型号、产品ID、芯片ID;待升级镜像名、镜像版本号;
上位机接收所述升级请求数据包后,匹配对应的升级镜像文件并发送到Zynq平台;
3)Zynq平台接收校验码和升级镜像文件,根据校验码校对升级镜像文件,若校对成功,则将接收到的升级镜像文件写入FLASH中;若校对失败,上位机重新发送校验码和升级镜像文件,Zynq平台根据新的校验码对新的升级镜像文件进行再次校对;直到将升级镜像文件写入到FLASH中;
4)Zynq平台继续执行后续的启动流程,从FLASH中加载Uboot镜像;若加载成功则跳转至DDR中执行Uboot代码;若加载不成功,则跳转回步骤2),Zynq平台重新发送升级请求数据包。
2.如权利要求1所述Zynq平台远程升级方法,其特征在于:步骤4)判断加载成功的方式为:Zynq平台分别验证镜像运行平台和验证镜像版本号是否匹配,并通过校验码校验Uboot镜像是否正确,若校验成功,则进行加载;否则,不加载。
3.如权利要求1所述Zynq平台远程升级方法,其特征在于:步骤3)中Zynq平台采用分段方式接收所述升级镜像文件,每接收一段升级镜像文件,进行一次数据的校对,若校对成功,则将该段升级镜像文件写入FLASH中;若校对失败,Zynq平台向上位机发送重传请求包,上位机重新发送该段的校验码和升级镜像文件,Zynq平台根据新的校验码对新的升级镜像文件进行再次校对;直到将该段升级镜像文件写入到FLASH中,继续接收、校验下一段升级镜像文件。
4.如权利要求3所述Zynq平台远程升级方法,其特征在于:一段升级镜像文件的大小为10K~20K。
5.如权利要求1到3中任一项所述Zynq平台远程升级方法,其特征在于:校验码为CRC校验码或SHA校验码。
6.如权利要求1所述Zynq平台远程升级方法,其特征在于:上位机通过串口与Zynq平台连接,二者之间的数据传输方式包括:TTL、RS232、RS422、串口转以太网、串口转USB、串口转WIFI。
7.如权利要求6所述Zynq平台远程升级方法,其特征在于:所述串口设置有多个,标记其中一个为主串口,其他为备用串口;若主串口的数据传输失败,利用备用串口进行数据传输。
8.如权利要求7所述Zynq平台远程升级方法,其特征在于:步骤2)中,Zynq平台先通过主串口向上位机发送升级请求数据包;等待上位机返回的升级响应;
若等待时间超过预设时间,则本次响应失败,Zynq平台再次向上位机发送升级请求数据包;
若发送升级请求数据包的次数超出预设次数,则主串口通信失败,Zynq平台通过备用串口向上位机发送升级请求数据包。
9.如权利要求8所述Zynq平台远程升级方法,其特征在于:所述预设时间的设置范围:10ms~20ms;预设次数的设置范围:2~4次。
CN201911069832.8A 2019-11-05 2019-11-05 一种Zynq平台远程升级方法 Active CN110837390B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911069832.8A CN110837390B (zh) 2019-11-05 2019-11-05 一种Zynq平台远程升级方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911069832.8A CN110837390B (zh) 2019-11-05 2019-11-05 一种Zynq平台远程升级方法

Publications (2)

Publication Number Publication Date
CN110837390A CN110837390A (zh) 2020-02-25
CN110837390B true CN110837390B (zh) 2023-04-07

Family

ID=69576337

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911069832.8A Active CN110837390B (zh) 2019-11-05 2019-11-05 一种Zynq平台远程升级方法

Country Status (1)

Country Link
CN (1) CN110837390B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105573800A (zh) * 2015-12-22 2016-05-11 中船重工(武汉)凌久电子有限责任公司 一种基于zynq的单板或多板系统及在线更新方法
CN109117167A (zh) * 2018-07-13 2019-01-01 武汉精测电子集团股份有限公司 一种基于zynq芯片的启动软件更新方法
CN109710295A (zh) * 2018-11-23 2019-05-03 北京计算机技术及应用研究所 一种安全可靠地fpga远程升级方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106775716B (zh) * 2016-12-15 2020-04-17 中国科学院沈阳自动化研究所 一种基于度量机制的可信plc启动方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105573800A (zh) * 2015-12-22 2016-05-11 中船重工(武汉)凌久电子有限责任公司 一种基于zynq的单板或多板系统及在线更新方法
CN109117167A (zh) * 2018-07-13 2019-01-01 武汉精测电子集团股份有限公司 一种基于zynq芯片的启动软件更新方法
CN109710295A (zh) * 2018-11-23 2019-05-03 北京计算机技术及应用研究所 一种安全可靠地fpga远程升级方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
龚行梁 ; 周强 ; 赵天恩 ; 孙浩 ; 文继锋 ; .CAN总线实现的ZYNQ-7000程序在线升级方法.单片机与嵌入式系统应用.2018,(第11期),全文. *

Also Published As

Publication number Publication date
CN110837390A (zh) 2020-02-25

Similar Documents

Publication Publication Date Title
CN108052355B (zh) 星载载荷单元软件在轨重组方法
US20120117557A1 (en) Method and system for upgrading wireless data card
US8136108B2 (en) Updating firmware with multiple processors
CN109358887B (zh) 一种单片机程序的在线升级方法、装置及系统
CN111930406B (zh) 车载终端微控制单元软件升级方法、电子设备及存储介质
CN110083374B (zh) 一种升级回滚方法、系统及终端设备
CN107066300B (zh) 一种存储设备的固件升级方法和存储设备
CN110535954B (zh) 门锁固件的升级方法、升级系统、智能网关和存储介质
CN106598654B (zh) 一种在线更新PowerPC主板引导芯片的方法
CN113094072A (zh) 车辆升级方法、装置、电子装置及存储介质
CN108920168B (zh) 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法
CN110389772B (zh) 双核mcu应用程序升级方法
CN113467813A (zh) 一种控制器在线升级方法、装置、电子设备及存储介质
CN106851625A (zh) 一种蓝牙产品ota升级方法
CN106227571A (zh) 系统升级方法及其移动终端
CN101384063A (zh) 一种终端设备修复升级的方法与系统及其系统的制作方法
CN111158751A (zh) 一种Windows环境部署方法、电子设备及存储介质
CN110837390B (zh) 一种Zynq平台远程升级方法
CN114860278A (zh) 一种语音芯片ota升级方法
CN112612528B (zh) 一种基于Bootloader的系统软件选择性启动和远程更新方法
CN108028767A (zh) 为适配器升级的方法、移动终端和适配器
CN112152846B (zh) 一种基于物联网的计量仪表远程升级方法
CN109358872A (zh) 远程固件升级方法、装置及计算机可读存储介质
CN111078255B (zh) 一种软件升级方法和软件升级系统
CN105337782A (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
CP01 Change in the name or title of a patent holder

Address after: Room 495, building 3, 1197 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province 310051

Patentee after: Yi Si Si (Hangzhou) Technology Co.,Ltd.

Address before: Room 495, building 3, 1197 Bin'an Road, Binjiang District, Hangzhou City, Zhejiang Province 310051

Patentee before: ISVISION (HANGZHOU) TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder