ZYNQ系统的应用程序的快速更新方法及装置制造方法及图纸

技术编号:38331186 阅读:12 留言:0更新日期:2023-07-29 09:14
本申请公开了一种ZYNQ系统的应用程序的快速更新方法,其包括在设备端的非易失性存储器的第一地址区域固定引导程序镜像文件,所述引导程序镜像文件由第一引导程序和更新引导程序合成;在所述设备端的非易失性存储器的不同于第一地址区域的第二地址区域固定初始应用程序镜像文件,所述初始应用程序镜像文件由第二引导程序、FPGA程序和初始应用程序合成;启动应用程序的更新进程,将第一子地址区域内的所述第二引导程序擦除以及将第三子地址区域内的初始应用程序擦除;将更新的第二引导程序写入所述第一子地址区域内以及将更新的应用程序写入所述第三子地址区域。本申请可以快速地更新ZYNQ系统的应用程序。本申请还公开了方法相关联的装置。方法相关联的装置。方法相关联的装置。

【技术实现步骤摘要】
ZYNQ系统的应用程序的快速更新方法及装置


[0001]本专利技术涉及软件应用程序的更新方法,尤其涉及基于ZYNQ芯片的ZYNQ系统的应用程序的更新方法。

技术介绍

[0002]ZYNQ系统全称为ZYNQ

7000全可编程SoC,它是赛灵思公司(Xilinx)推出的新一代全可编程片上系统,它将处理器的软件可编程性与FPGA的硬件可编程性进行整合。由于ZYNQ为SOC芯片,内部集成ARM和FPGA,替代了很多之前使用DSP+FPGA的平台。目前ZYNQ芯片在很多航空、航天、兵器和自动驾驶的领域均有使用。
[0003]通常ZYNQ系统的程序镜像文件为boot.BIN文件,该文件需要通过ZYNQSDK开发工具进行合成,同时该镜像需要通过JTAG下载器才能固化在ZYNQ的FLASH内部。基于上述方式,很多产品在装配完成后无法实现整机状态下的程序更新,需要进行拆盖才能通过JTAG对设备的应用程序进行更新。
[0004]而绝大多数的设备对外都会预留串口/网口/CAN口等通讯口,却不会保留JTAG口,如果采用ZYNQSDK进行程序更新就需要设备拆盖,造成很多不便。因此需要设计一种方法能够利用设备对外通讯口进行程序更新从而解决上述问题。
[0005]ZYNQ系统的一个完整镜像boot.BIN包括PS端(处理系统端,即ARM的SOC部分)FSBL.ELF文件、PL端(可编程逻辑端,即FPGA端).bit文件和PS端应用程序.ELF文件。其中FSBL.ELF为芯片厂家自带的一级引导程序C代码,.bit文件为FPGA的代码,PS应用程序.ELF一般为应用程序的C代码。
[0006]在ZYNQ系统开发中,首先开发PL端代码,再开发PS端应用程序代码。程序调试开发完成之后,需要将程序固化在FLASH上。绝大多数的ZYNQ应用中,FPGA负责实现复杂接口功能和一些耗时的硬件驱动功能,PS端实现应用软件的时序逻辑和算法。对于绝大多数的设备,程序更新只需要更新PS端的C代码,而PL端代码无需进行更改。
[0007]但是为了保证程序镜像的完整性,每次都需要将完整的镜像重新烧写到FLASH中,一个完整的ZYNQ系统的镜像都是6MB以上,其中绝大部分代码为PL代码,纯粹的应用程序PS代码一般在10%以下,一个完整镜像使用串口230400bps的速率至少需要5分钟以上的时间才可以传输完毕,传输时间较长。
[0008]同时现有的程序更新工具,在传输镜像文件的时候并不具备错帧重传机制和镜像回传确认机制。

技术实现思路

[0009]本申请的目的在于解决上述电子产品ZYNQ系统装机后应用程序的更新的一个或多个问题,提供一种应用程序快速更新方法。
[0010]本申请的一些实施例提供了一种ZYNQ系统的应用程序的快速更新方法,其包括在设备端的非易失性存储器的第一地址区域固定引导程序镜像文件,所述引导程序镜像文件
由第一引导程序和更新引导程序合成;在所述设备端的非易失性存储器的不同于第一地址区域的第二地址区域固定初始应用程序镜像文件,所述初始应用程序镜像文件由第二引导程序、FPGA程序和初始应用程序合成;其中,所述第二地址区域包括第一子地址区域、第二子地址区域和第三子地址区域,在第一子地址区域固定所述第二引导程序,在第二子地址区域固定所述FPGA程序,以及在第三子地址区域固定所述初始应用程序;加载第一引导程序文件以启动系统并加载所述更新引导程序文件以启动更新,如果与上位机握手成功后则启动应用程序的更新进程,所述应用程序的更新进程包括:将所述第一子地址区域内的所述第二引导程序擦除以及将所述第三子地址区域内的初始应用程序擦除;将更新的第二引导程序写入所述第一子地址区域内以及将更新的应用程序写入所述第三子地址区域;以及将所述更新的第二引导程序、FPGA程序以及更新的应用程序合成为更新后应用程序镜像文件。
[0011]在一些实施例中,所述更新的第二引导程序与所述第二引导程序有相同的起始地址;所述更新的应用程序与所述初始应用程序有相同的起始地址。
[0012]在一些实施例中,所述将所述第一子地址区域内的所述第二引导程序擦除的步骤与所述将更新的第二引导程序写入所述第一子地址区域内的步骤同步进行。
[0013]在一些实施例中,所述将所述第三子地址区域内的初始应用程序擦除的步骤与所述将更新的应用程序写入所述第三子地址区域的步骤同步进行。
[0014]在一些实施例中,将所述更新后的镜像文件整体回传至上位机以验证更新的正确性。
[0015]在一些实施例中,在所述第一引导程序中包括回退机制,当所述设备端与所述上位机握手不成功时,则触发回退机制跳转到更新后应用程序镜像文件,对更新后第二引导程序进行加载。
[0016]在一些实施例中,在所述上位机形成待更新应用程序镜像文件,所述待更应用程序镜像文件中包括待更新第二引导程序、FPGA程序以及待更新应用程序,其中,所述待更新第二引导程序的地址区域与所述第一子地址区域的地址区域相同,所述待更新应用程序的地址区域与所述第三子地址区域的地址区域相同。
[0017]在一些实施例中,所述第一引导程序还包括串口/网口/CAN口通讯功能、镜像文件接收功能、和镜像文件FLASH烧写功能。
[0018]根据本申请的一些实施例的方法通过首先在ZYNQ系统的FLASH芯片中提前预留一个引导程序镜像,再预留一个完整的初始应用程序镜像。之后便可以通过程序更新上位机对初始应用程序进行更新。同时本专利实现了初始应用程序中只更新处理系统端的代码,而不更新可编程逻辑端的代码,实现了应用程序的快速更新。
[0019]根据本申请的实施例中的方法在FLASH中提前驻留一个引导程序镜像,而初始应用程序固化在引导程序镜像后面的FLASH扇区,引导程序镜像和初始应用程序镜像的扇区地址不交叉。
[0020]根据本申请的实施例提供了ZYNQ程序更新上位机,上位机只需要加载处理系统端的更新应用程序文件,便可以自动合成拟更新应用程序镜像文件,自动提取引导程序镜像文件中的处理系统部分,通过串口/网口/CAN口将PS部分文件传输到ZYNQ上。
[0021]在本申请的一些实施例中,传输过程中采用了可靠性传输方法,具备镜像文件错
帧重传和镜像文件回传校验功能。
[0022]本申请的另一些实施例提供了ZYNQ系统的应用程序的快速更新装置,其包括第一程序模块,部署于安装有所述ZYNQ系统的设备端;其中,所述第一程序模块与第一引导程序合成引导程序镜像文件,所述引导程序镜像文件固定于设备端的非易失性存储器的第一地址区域固定;运行所述第一程序模块后执行以下程序步骤:向上位机发送握手帧以尝试与上位机握手;接收来自上位机的握手应答帧,等待上位机传输的拟更新应用程序镜像文件的中的更新第二引导程序和更新应用程序;擦除在所述设备端的非易失性存储器的不同于第一地址区域的第二地址区域固定的初始应用程序镜像文件的第二引导程序和初始应用程序;其中,所述初始应用程序镜像文件由本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ZYNQ系统的应用程序的快速更新方法,其特征在于:包括在设备端的非易失性存储器的第一地址区域固定引导程序镜像文件,所述引导程序镜像文件由第一引导程序和更新引导程序合成;在所述设备端的非易失性存储器的不同于第一地址区域的第二地址区域固定初始应用程序镜像文件,所述初始应用程序镜像文件由第二引导程序、FPGA程序和初始应用程序合成;其中,所述第二地址区域包括第一子地址区域、第二子地址区域和第三子地址区域,在第一子地址区域固定所述第二引导程序,在第二子地址区域固定所述FPGA程序,以及在第三子地址区域固定所述初始应用程序;加载第一引导程序文件以启动系统并加载所述更新引导程序文件以启动更新,如果与上位机握手成功后则启动应用程序的更新进程,所述应用程序的更新进程包括:将所述第一子地址区域内的所述第二引导程序擦除以及将所述第三子地址区域内的初始应用程序擦除;将更新的第二引导程序写入所述第一子地址区域内以及将更新的应用程序写入所述第三子地址区域;以及将所述更新的第二引导程序、FPGA程序以及更新的应用程序合成为更新后应用程序镜像文件。2.根据权利要求1的ZYNQ系统的应用程序的快速更新方法,其特征在于:所述更新的第二引导程序与所述第二引导程序有相同的起始地址;所述更新的应用程序与所述初始应用程序有相同的起始地址。3.根据权利要求1的ZYNQ系统的应用程序的快速更新方法,其特征在于:所述将所述第一子地址区域内的所述第二引导程序擦除的步骤与所述将更新的第二引导程序写入所述第一子地址区域内的步骤同步进行。4.根据权利要求1的ZYNQ系统的应用程序的快速更新方法,其特征在于:所述将所述第三子地址区域内的初始应用程序擦除的步骤与所述将更新的应用程序写入所述第三子地址区域的步骤同步进行。5.根据权利要求1的ZYNQ系统的应用程序的快速更新方法,其特征在于:将所述更新后的镜像文件整体回传至上位机以验证更新的正确性。6.根据权利要求1的ZYNQ系统的应用程序的快速更新方法,其特征在于:在所述第一引导程序中包括回退机制,当所述设备端与所述上位机握手不成功时,则触发回退机制跳转到更新后应用程序镜像文件,对更新后第二引导程序进行加载。7.根据权利要求1的ZYNQ系统的应用程序的快速更新...

【专利技术属性】
技术研发人员:张楠
申请(专利权)人:华科智控北京科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1