CN109117167A - 一种基于zynq芯片的启动软件更新方法 - Google Patents

一种基于zynq芯片的启动软件更新方法 Download PDF

Info

Publication number
CN109117167A
CN109117167A CN201810772397.4A CN201810772397A CN109117167A CN 109117167 A CN109117167 A CN 109117167A CN 201810772397 A CN201810772397 A CN 201810772397A CN 109117167 A CN109117167 A CN 109117167A
Authority
CN
China
Prior art keywords
starting
card
software
zynq chip
emmc
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
CN201810772397.4A
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.)
Wuhan Jingce Electronic Group Co Ltd
Wuhan Jingce Electronic Technology Co Ltd
Original Assignee
Wuhan Jingce Electronic Group 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 Wuhan Jingce Electronic Group Co Ltd filed Critical Wuhan Jingce Electronic Group Co Ltd
Priority to CN201810772397.4A priority Critical patent/CN109117167A/zh
Publication of CN109117167A publication Critical patent/CN109117167A/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
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

本发明公开了一种基于ZYNQ芯片的启动软件更新方法,包括将待写入的软件程序拷贝到SD卡中,连接SD卡和ZYNQ芯片;设置ZYNQ芯片的启动模式为SD卡启动,运行SD卡启动ZYNQ芯片;读取SD卡上的软件程序,将待写入的软件分别拷贝到eMMC和Flash中;更改ZYNQ芯片的启动方式,重新启动ZYNQ芯片,实现启动软件的更新。本发明技术方案针对现有技术中基于ZNYQ的设备在进行启动程序录入、更新时步骤繁琐、需要特别配置烧录机或者PC的情况,通过将待更新的程序写入SD卡,利用SD卡实现启动程序的自动更新,可以大大减少设备的启动程序的更新速度和成本。

Description

一种基于ZYNQ芯片的启动软件更新方法
技术领域
本发明属于ZYNQ芯片的软件启动领域,具体涉及一种基于ZYNQ芯片的启动软件更新方法。
背景技术
Zynq-7000可扩展处理平台是采用赛灵思新一代FPGA(Artix-7与Kintex-7FPGA)所采用的同一28nm可编程技术的最新产品系列。ZYNQ芯片的可编程逻辑可由用户自行配置,并通过“互连”模块连接在一起。这种处理方式可以提供用户自定义的任意逻辑功能,从而扩展处理系统的性能及功能。不过,与采用嵌入式处理器的FPGA不同,Zynq-7000产品系列的处理系统不仅能在开机时启动,而且还可根据需要配置可编程逻辑。采用这种方法,软件编程模式与全功能的标准ARM处理SoC毫无二致。
现有技术中,基于ZYNQ芯片开发的产品,有一种启动方式是SPI Flash+eMMC的模式。具体来说,上述启动过程中,需要将包含FSBL与u_boot的BOOT.BIN程序存储在Flash上;同时,Linux内核镜像Image.ub,FPGA bit文件、文件系统,以及其他配置文件存放在eMMC存储介质上。基于该运行方式的设备,在进行程序烧录时,需要使用PC电脑采用网络连接的方式,才能进行程序烧录,该方式每次烧录都需要都要设备与PC相连,然后通过PC上的烧录程序进行烧录操作。内存里待更新的软件首先需要PC通过网络传入到ZYNQ芯片上,然后经过烧录程序处理后,才能写入Flash和eMMC,等待设备的下次启动开始运行。
这种更新方式存在诸多的不足,尤其是在大规模生产出货时,效率比较低,需要耗费大量的时间或者是配置大量的设备。其次,设备出货到现场后,如果设备宕机,无法与PC进行通信的情况下,需要比较繁琐的操作才能进行程序的更换,实现设备的再启动。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种ZYNQ芯片的启动软件更新方法。本发明技术方案针对现有技术中基于ZNYQ的设备在进行启动程序录入、更新时步骤繁琐、需要特别配置烧录机或者PC的情况,通过将待更新的程序写入SD卡,利用SD卡实现启动程序的自动更新,可以大大减少设备的启动程序的更新速度和成本。
为实现上述目的,按照本发明的一个方面,提供了一种基于ZYNQ芯片的启动软件更新方法,其特征在于,包括
S1将待写入的软件程序拷贝到SD卡中,连接SD卡和ZYNQ芯片;
S2设置ZYNQ芯片的启动模式为SD卡启动,运行SD卡启动ZYNQ芯片;
S3读取SD卡上的软件程序,将待写入的软件分别拷贝到eMMC和Flash中;
S4更改ZYNQ芯片的启动方式,重新启动ZYNQ芯片,实现启动软件的更新。
作为本发明技术方案的一个优选,步骤S1包括,
S11配置待写入eMMC和Flash中的软件,以及SD卡的启动软件;
S12在SD卡上设置文件目录,将启动软件和待写入eMMC和Flash中的软件拷贝到对应目录下并保存;
S13采用硬连接的方式将SD卡与ZYNQ芯片连接起来。
作为本发明技术方案的一个优选,步骤S2包括,
S21将ZYNQ芯片的启动方式设为SD卡启动;
S22ZYNQ芯片判断当前启动方式,并获取对应启动软件存储位置;
S23运行SD卡的启动软件,启动ZYNQ芯片。
作为本发明技术方案的一个优选,步骤S3包括,
S31按照文件目录读取SD卡上的软件程序;
S32判断eMMC是否分区和格式化,是则进入步骤S33,否则对eMMC进行分区和格式化后进入步骤S33;
S33将待写入eMMC的软件对应更新到eMMC并保存;
S34擦除Flash文件,将SD卡中对应目录下的软件写入Flash并保存。
作为本发明技术方案的一个优选,步骤S4包括,
S41关闭ZYNQ芯片使其停止运行;
S42更改ZYNQ芯片的启动方式为Flash启动;
S43利用更新到eMMC和Flash中的启动软件启动ZYNQ芯片;
S44完成ZYNQ芯片的启动软件更新。
作为本发明技术方案的一个优选,步骤S3中,优选将eMMC挂载到Linux系统后,再将待写入eMMC的软件拷贝到eMMC并保存。
作为本发明技术方案的一个优选,SD卡中存储的软件程序优选包括启动ZYNQ芯片时运行SD卡所需的内核文件,以及待更新到eMMC和/或Flash的ZYNQ芯片启动软件。
作为本发明技术方案的一个优选,SD卡中优选包括两个目录分别用于存储启动ZYNQ芯片时运行SD卡所需的内核文件,以及待更新到eMMC和/或Flash的ZYNQ芯片启动软件。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
1)本发明技术方案,把需要更新的软件拷贝到SD/TF卡上,然后把设备拨码为SD卡启动模式,设备通过SD启动后,自动把需要更新的程序拷贝到FLASH和eMMC上,实现自动软件更新的目的,整个过程无需外接PC设备。因此本发明技术方案,通过将待更新的程序写入SD卡,利用SD卡实现启动程序的自动更新,可以大大减少设备启动程序的更新速度和成本。
2)本发明技术方案,在未配置PC或者烧录机的设备使用环境,只需要一个SD卡即可实现对ZYNQ芯片的启动软件程序进行更新,从而在一些受限环境下也可以方便的进行软件更新,避免拆卸设备或重新搭建软件更新环境,减少更换软件的时间,提高生产效率。
3)本发明技术方案,由于无需PC设备(或烧录机),也不用额外开发上层软件用于下发待更新软件,不存在PC(或烧录机)与设备之间的通讯,无需定义设备与PC之间的协议,设备侧也不用开发软件用于接收PC下发的待升级软件,从而减少额外软件开发带来的人工成本。
附图说明
图1是本发明技术方案实施例的硬件连接框架图;
图2是本发明技术方案实施例的程序写入框架图;
图3是本发明技术方案实施例的程序写入流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本发明进一步详细说明。
本发明技术方案的实施例中提供了一种ZYNQ芯片的启动软件的自动更新方法。由于现有技术中大量设备都采用了ZYNQ芯片,但是ZYNQ芯片的启动软件在第一次写入或者进一步更新的时候,需要通过PC或者烧录机以及ZYNQ芯片来实现,其过程繁琐,步骤复杂。本实施例中,采用SD卡的形式,将需要更新到含有ZYNQ芯片设备(以下简称设备)中的启动程序先拷贝到SD卡中,然后利用ZYNQ芯片的启动模式,实现将SD卡中的启动程序自动更新到存储有ZYNQ芯片当前启动程序的eMMC和Flash中,实现ZYNQ芯片的启动程序的自动更新。本实施例中,ZYNQ芯片的启动程序包括两个部分,一部分存储在eMMC上,另一部分存储在Flash上。
如图1所示,ZYNQ芯片与SD卡、Flash设备以及eMMC的硬件连接框架结构图,其中拨码开关用于改变ZYNQ设备的启动方式。具体来说,本实施例的ZYNQ芯片的启动软件的自动更新方法,包括有以下步骤:
首先,在SD卡(包括TF卡在内的各类可扩展性存储卡)上建立文件存储目录,以存储需要更新到含有ZYNQ芯片的设备中的软件,即待写入的软件程序。本实施例中优选至少建立两个目录,一个用于存储SD卡的运行软件,在ZYNQ芯片启动的时候,根据芯片的启动模式,启动SD卡;另一个目录下存储有需要拷贝(更新)到eMMC的软件程序。在利用SD卡对ZYNQ的启动程序进行更新的时候,会按照SD卡中文件目录进行更新。本实施例中,首先准备SD卡启动软块,包含基于SD卡运行的BOOT.BIN,Image.ub与文件拷贝的shell脚本文件,SPIFlash与eMMC需要在内核配置时,分别按照MTD与MMCBLK进行管理,BOOT.BIN与Image.ub存放在SD卡的根目录,在SD看上另外建立一个目录,用于存放需要拷贝到eMMC上的文件。
第二步,将存储有待写入的软件程序的SD卡与ZYNQ芯片连接起来,本实施例中采用的是硬连接的方式。SD卡上的文件准备好后与ZYNQ芯片相连接,并将其启动方式设为SD卡启动模式。一般在ZYNQ芯片上会预设有SD卡的卡槽接口,将SD卡插入卡槽接口即可。同时,在设备断电的情况下,将ZYNQ芯片的启动方式设为SD卡启动,这样的话,在ZYNQ芯片再次启动时,芯片自行读取SD卡的运行软件,然后根据运行软件的指令将另一个目录下存储的软件程序按照目录和名称更新到对应的位置。
第三步,ZYNQ芯片以SD卡的方式启动后,在将启动软件更新到对应区域之前,首先检查eMMC是否已经进行分区和格式化。对eMMC进行分区是对eMMC的存储空间进行划分,然后按照分区来存储软件程序。本实施例中,优选将启动软件存储到第一分区,格式化为FAT32的格式。如果检测到eMMC没有进行分区和格式化,就需要先对其进行分区和格式化。作为本实施例的优选,设备上电、linux系统加载完成后,优选运行文件拷贝的shell脚本,该脚本优选按照linux的shell脚本规则编写的脚本文件。脚本运行运行后,优选在linux的文件系统dev目录下找到eMMC设备,并判断是否分区与格式化,如果未分区,则优选用shell命令fdisk对eMMC设备进行分区,然后用格式化命令(如mkdosfs命令)进行格式化。进一步地,优选把EMMC设备用mount命令挂载到linux的文件系统上;然后把SD卡上需要拷贝到eMMC上的文件,如使用cp命令按照目录将软件拷贝到eMMC上。对于Flash设备,本实施例中,Flash设备在linux系统在/dev/mtd0位置,先对flash设备进行擦除操作,然后用flashcp把BOOT.BIN拷贝到Flash设备上,完成拷贝操作后,设备系统断电。本实施例中,在完成eMMC的分区和更新后,优选拷贝ZYNQ新品的启动程序的Image.ub,FPGA的bit文件,文件系统,配置文件等到eMMC上;同时,将BOOT.BIN拷贝到NAND FLASH上。如图2和图3所示。
第四步,在设备断电的状态下,将ZYNQ芯片的启动方式更改为SPI+eMMC启动模式,然后设备上电,ZYNQ芯片识别当前启动方式,读取eMMC和Flash中存储的启动软件程序并启动运行,完成ZYNQ芯片的启动软件的更新。
总结来说,本发明技术方案的实施例,就是新版的ZYNQ芯片启动程序,通过SD卡直接拷贝到对应的eMMC和Flash上去,以实现ZYNQ芯片启动程序的自动更新。相较于现有技术中需要通过烧录机或者PC等设备,经过繁琐复杂的步骤(新的启动程序需要经过ZYNQ芯片运行处理后才能写入eMMC和Flash,在ZYNQ芯片下次启动的时候才能够利用新的启动程序进行启动)才能实现更新,利用本实施例中的方法,可以在不需要其他辅助设备和复杂操作的情况下,插入载有新版启动程序的SD卡即可实现ZYNQ芯片启动程序的自动更新。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于ZYNQ芯片的启动软件更新方法,其特征在于,包括
S1将待写入的软件程序拷贝到SD卡中,连接SD卡和ZYNQ芯片;
S2设置ZYNQ芯片的启动模式为SD卡启动,运行SD卡启动ZYNQ芯片;
S3读取SD卡上的软件程序,将待写入的软件分别拷贝到eMMC和Flash中;
S4更改ZYNQ芯片的启动方式,重新启动ZYNQ芯片,实现启动软件的更新。
2.根据权利要求1所述的一种基于ZYNQ芯片的启动软件更新方法,其中,所述步骤S1包括,
S11配置待写入eMMC和Flash中的软件,以及SD卡的启动软件;
S12在SD卡上设置文件目录,将启动软件和待写入eMMC和Flash中的软件拷贝到对应目录下并保存;
S13采用硬连接的方式将SD卡与ZYNQ芯片连接起来。
3.根据权利要求1或2所述的一种基于ZYNQ芯片的启动软件更新方法,其中,所述步骤S2包括,
S21将ZYNQ芯片的启动方式设为SD卡启动;
S22ZYNQ芯片判断当前启动方式,并获取对应启动软件存储位置;
S23运行SD卡的启动软件,启动ZYNQ芯片。
4.根据权利要求1~3任一项所述的一种基于ZYNQ芯片的启动软件更新方法,其中,所述步骤S3包括,
S31按照文件目录读取SD卡上的软件程序;
S32判断eMMC是否分区和格式化,是则进入步骤S33,否则对eMMC进行分区和格式化后进入步骤S33;
S33将待写入eMMC的软件对应更新到eMMC并保存;
S34擦除Flash文件,将SD卡中对应目录下的软件写入Flash并保存。
5.根据权利要求1~4任一项所述的一种基于ZYNQ芯片的启动软件更新方法,其中,所述步骤S4包括,
S41关闭ZYNQ芯片使其停止运行;
S42更改ZYNQ芯片的启动方式为Flash启动;
S43利用更新到eMMC和Flash中的启动软件启动ZYNQ芯片;
S44完成ZYNQ芯片的启动软件更新。
6.根据权利要求1~5任一项所述的一种基于ZYNQ芯片的启动软件更新方法,其中,所述步骤S3中,优选将eMMC挂载到Linux系统后,再将待写入eMMC的软件拷贝到eMMC并保存。
7.根据权利要求1~6任一项所述的一种基于ZYNQ芯片的启动软件更新方法,其中,所述SD卡中存储的软件程序优选包括启动ZYNQ芯片时运行SD卡所需的内核文件,以及待更新到eMMC和/或Flash的ZYNQ芯片启动软件。
8.根据权利要求1~7任一项所述的一种基于ZYNQ芯片的启动软件更新方法,其中,所述SD卡中优选包括两个目录分别用于存储启动ZYNQ芯片时运行SD卡所需的内核文件,以及待更新到eMMC和/或Flash的ZYNQ芯片启动软件。
CN201810772397.4A 2018-07-13 2018-07-13 一种基于zynq芯片的启动软件更新方法 Pending CN109117167A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810772397.4A CN109117167A (zh) 2018-07-13 2018-07-13 一种基于zynq芯片的启动软件更新方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810772397.4A CN109117167A (zh) 2018-07-13 2018-07-13 一种基于zynq芯片的启动软件更新方法

Publications (1)

Publication Number Publication Date
CN109117167A true CN109117167A (zh) 2019-01-01

Family

ID=64862941

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810772397.4A Pending CN109117167A (zh) 2018-07-13 2018-07-13 一种基于zynq芯片的启动软件更新方法

Country Status (1)

Country Link
CN (1) CN109117167A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837390A (zh) * 2019-11-05 2020-02-25 易思维(杭州)科技有限公司 一种Zynq平台远程升级方法
CN113157287A (zh) * 2021-04-30 2021-07-23 深圳市格灵精睿视觉有限公司 文件烧录方法、装置及计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520981A (zh) * 2011-11-24 2012-06-27 深圳市路畅科技有限公司 一种基于inand/nand的多分区存储设备的生产方法
CN105590072A (zh) * 2015-12-18 2016-05-18 上海华测导航技术股份有限公司 一种实现嵌入式系统自动烧录的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102520981A (zh) * 2011-11-24 2012-06-27 深圳市路畅科技有限公司 一种基于inand/nand的多分区存储设备的生产方法
CN105590072A (zh) * 2015-12-18 2016-05-18 上海华测导航技术股份有限公司 一种实现嵌入式系统自动烧录的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110837390A (zh) * 2019-11-05 2020-02-25 易思维(杭州)科技有限公司 一种Zynq平台远程升级方法
CN110837390B (zh) * 2019-11-05 2023-04-07 易思维(杭州)科技有限公司 一种Zynq平台远程升级方法
CN113157287A (zh) * 2021-04-30 2021-07-23 深圳市格灵精睿视觉有限公司 文件烧录方法、装置及计算机可读存储介质
CN113157287B (zh) * 2021-04-30 2023-03-10 深圳市格灵精睿视觉有限公司 文件烧录方法、装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN103365696B (zh) Bios镜像文件获取方法及装置
CN102799464B (zh) 虚拟机创建方法及系统、虚拟机重装方法及系统
CN105808292A (zh) 嵌入式终端设备的固件升级方法
CN102880498A (zh) 在安卓系统的装置上虚拟sd卡的方法
CN109634645A (zh) 固件升级方法及终端
CN103761088A (zh) 一种适用于arm架构移动设备的多操作系统切换方法
CN108268299A (zh) 一种基于OpenStack云平台的Docker共享存储解决方法
CN102945179A (zh) 基于mtd分区的软件升级方法和装置
CN103514015A (zh) 一种从存储介质中启动操作系统的方法和装置
CN107870769A (zh) 操作系统的安装方法及装置
CN111596930B (zh) 根文件系统镜像制作方法、装置、存储介质及嵌入式设备
CN100472447C (zh) 一种实现软件更新的方法及装置
CN109117167A (zh) 一种基于zynq芯片的启动软件更新方法
CN109683967A (zh) 固件支持方法、装置、移动终端及可读存储介质
CN110837387B (zh) 一种移动电源租借系统、自动营收系统及其更新方法
CN102075710A (zh) 一种电视机的启动运行方法及电视机
CN115408013A (zh) Zynq UltraScale+MPSoC平台的固件和文件自动烧写方法
CN114385251A (zh) 基于存储器的操作系统引导方法、系统、终端及存储介质
CN103389909B (zh) 一种渲染农场节点虚拟化部署系统及其应用
CN113687837A (zh) 启动方式的转换方法及系统、虚拟机运行方法
CN113791862A (zh) 国产CPU和OS环境中基于Docker的java应用瘦身部署方法及系统
CN201869296U (zh) 一种电视机
CN116594639A (zh) 系统安装包的管理方法、设备、存储介质及程序产品
CN113031999A (zh) 服务器部件固件升级的控制方法、装置、设备及存储介质
CN112527366B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190101

RJ01 Rejection of invention patent application after publication