CN108255511B - 一种光电吊舱系统Zynq芯片分级打包快速升级方法 - Google Patents
一种光电吊舱系统Zynq芯片分级打包快速升级方法 Download PDFInfo
- Publication number
- CN108255511B CN108255511B CN201711380685.7A CN201711380685A CN108255511B CN 108255511 B CN108255511 B CN 108255511B CN 201711380685 A CN201711380685 A CN 201711380685A CN 108255511 B CN108255511 B CN 108255511B
- Authority
- CN
- China
- Prior art keywords
- module
- upgrading
- application module
- zynq
- guide
- 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
Links
Images
Abstract
本发明涉及一种光电吊舱系统Zynq芯片的分级打包快速升级方法,包括步骤:1、生成光电吊舱应用模块;2、生成Zynq硬件平台的引导模块;3、将应用模块和引导模块进行固化;4、Zynq硬件平台上电启动,运行引导过程;5.根据外部升级指令升级所述应用模块。本发明通过分级打包的方式在FPGA模块与应用模块之间增加二级引导模块进行隔离,在只升级应用模块的情况下无需对FPGA模块进行升级,大大减少了升级数据量,软件升级效率提升90%以上。
Description
技术领域
本发明属于光电技术领域,具体而言涉及一种光电吊舱系统Zynq芯片分级打包快速升级方法。
背景技术
目前的光电吊舱产品中采用Zynq芯片进行目标识别跟踪处理,由于芯片装入光电吊舱产品后,一般对外不预留JTAG加载口,因此只能通过串口等方式进行在线升级。由于Zynq可执行模块中包括FPGA与应用模块,FPGA模块与应用模块大小相差较多,往往FPGA模块达到10MB左右,应用模块仅为300KB左右,传统的在线升级方式在应用模块更改而FPGA模块未更改的情况下也需要对FPGA模块进行在线升级,升级数据量大,传输时间长,严重影响升级效率。
发明内容
为了解决现有技术中的上述技术问题,本发明提出了一种光电吊舱系统Zynq芯片分级打包快速升级方法,解决光电吊舱系统Zynq芯片模块升级时间过长的问题,提高Zynq芯片软件升级效率。
本发明的技术方案如下:
一种光电吊舱系统Zynq芯片的分级打包快速升级方法,包括以下步骤:
步骤1、生成光电吊舱的应用模块P_A;
步骤2、生成用于引导光电吊舱的Zynq硬件平台实现系统功能的引导模块P_F,所述引导模块P_F分为两级,分别进行引导;
步骤3、将应用模块P_A和引导模块P_F固化到Zynq硬件平台的FLASH的相应地址中;
步骤4、光电吊舱的Zynq硬件平台上电启动,所述引导模块P_F分两级将FPGA模块FP、应用模块P_A引导到Zynq硬件平台相应的空间地址上;所述光电吊舱实现系统功能,并等待系统升级指令;
步骤5、根据外部升级指令实现光电吊舱系统的升级。
进一步地,所述应用模块P_A,用于配置执行光电吊舱流程控制和光电吊舱的功能升级。
进一步地,所述应用模块P_A的产生方式为:首先,通过仿真器将光电吊舱流程控制和光电吊舱的功能升级程序加载到Zynq硬件平台上对应的空间地址上;然后,将对应的空间地址上的数据导出并保存生成所述应用模块P_A。
进一步地,导出数据的地址长度为固定长度,其长度大于所述应用模块P_A的长度;生成的应用模块P_A分配Zynq硬件平台DDR地址ADDR_A。
进一步地,所述两级引导模块分别为一级引导模块F1和二级引导模块F2;
所述一级引导模块F1为FSBL模块,用来引导用户自定义的FPGA模块FP和二级引导模块F2;所述用户自定义的FPGA模块FP实现光电吊舱的复杂算法和接口功能;所述二级引导模块F2对所述应用模块进行引导;所述引导是指代码搬移及运行指针跳转。
进一步地,所述一级引导模块F1分配Zynq芯片的片内地址RAM_F1,所述二级引导模块分配Zynq硬件平台DDR地址ADDR_F2。
进一步地,步骤4中的引导过程包括:
1)一级引导模块F1将FPGA模块FP、二级引导模块F2分别搬至片上空间运行;
2)二级引导模块F2将应用模块由FLASH存储空间搬移至DDR,并将模块指针指向应用模块首地址指针ADDR_A。
进一步地,所述外部升级指令包括两种,一种是对引导模块P_F升级的指令,对引导模块P_F中的FPGA模块进行升级;另一种是对应用模块的P_A升级的指令,升级所述应用模块。
进一步地,所述升级包括正常功能升级,升级过程包括,当接收到对引导模块P_F升级的外部指令时,在Zynq硬件平台运行的应用模块P_A完整接收待升级的引导模块P_F’将其固化至FLASH对应的地址中。
进一步地,所述升级还包括快速功能升级,其升级过程包括,当接收到对应用模块P_A升级的外部指令时,在Zynq硬件平台运行的应用模块P_A完整接收待升级的应用模块P_A’将其固化至FLASH对应的地址中。
根据上述技术方案,本发明的有益效果为:
本发明通过分级打包的方式在FPGA模块与应用模块之间增加二级引导模块进行隔离,在只升级应用模块的情况下无需对FPGA模块进行升级,大大减少了升级数据量,软件升级效率提升90%以上。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为Zynq芯片的分级打包快速升级方法流程图。
具体实施方式
下面结合附图对本发明具体实施方式进行详细说明。
一种光电吊舱系统Zynq芯片的分级打包快速升级方法,如图1所示,包括以下步骤:
步骤1、生成光电吊舱应用模块。
所述应用模块实现光电吊舱流程控制和光电吊舱的功能升级,通过仿真器加载方式将所述应用模块加载到Zynq硬件平台上,将所述应用模块对应的空间数据导出生成应用模块P_A;所述空间数据的长度大于所述应用模块的长度,为固定长度;生成的应用模块P_A分配Zynq硬件平台DDR地址ADDR_A。
步骤2、生成Zynq硬件平台的引导模块,所述引导模块分为两级,分别进行引导。
一级引导模块F1为Zynq官方提供的FSBL(First Stage BootLoader)模块,引导用户自定义的FPGA模块FP和二级引导模块F2;所述用户自定义的FPGA模块FP实现光电吊舱的复杂算法和接口功能;所述二级引导模块F2对所述应用模块进行引导;所述引导是指代码搬移及运行指针跳转。
所述一级引导模块、二级引导模块分配不同的运行地址;一级引导模块分配Zynq芯片的片内地址RAM_F1,二级引导模块分配Zynq硬件平台DDR地址ADDR_F2。
将一级引导模块F1、FPGA模块FP、二级引导模块F2进行打包,生成引导模块P_F。
步骤3、将应用模块P_A和引导模块P_F进行固化。
根据所述应用模块P_A和引导模块P_F的长度在FLASH中建立相应的存储空间,确保所述应用模块的P_A和引导模块P_F在FLASH的存储空间中存储地址不重叠,并且从FLASH的首地址开始存储引导模块P_F,所述应用模块P_A和引导模块P_F在FLASH的存储地址中留有较大的存储空间余量,或者是将应用模块P_A存储到FLASH存储空间的末段。
步骤4、Zynq硬件平台上电启动,运行引导过程。
首先,一级引导模块F1将FPGA模块FP、二级引导模块F2分别搬至片上空间运行;
然后,二级引导模块F2将应用模块由FLASH存储空间搬移至DDR,并将模块指针指向应用模块首地址指针ADDR_A,应用模块启动等待升级指令。
步骤5、根据外部升级指令升级所述应用模块。
所述外部升级指令包括两种,一种是对引导模块P_F升级的指令,对引导模块P_F中的FPGA模块进行升级;另一种是对应用模块P_A升级的指令,升级所述应用模块。
当接收到对引导模块P_F升级的外部指令时,所述应用模块完整接收待升级的引导模块P_F’将其固化至FLASH中;升级时间需要几十分钟。
当接收到对应用模块P_A升级的外部指令时,所述应用模块完整接收待升级的应用模块P_A’将其固化至FLASH中,升级时间在几分钟内。
通常FPGA模块固化后不需要升级,而应用模块的升级频率比较高,在只需升级应用模块时,接收对应用模块P_A升级的外部指令,可快速对Zynq硬件平台进行升级。
升级完成后,Zynq硬件平台重新上电,执行新应用模块的功能。
经过以上步骤,根据本发明的Zynq芯片分级打包快速升级方法,快速实现应用模块的升级更新。
综上所述,本发明设计的光电吊舱系统Zynq芯片的分级打包快速升级方法,通过分级打包的方式在FPGA模块与应用模块之间增加二级引导模块进行隔离,在只升级应用模块的情况下无需对FPGA模块进行升级,大大减少了升级数据量,软件升级效率提升90%以上。
上述具体实施方式仅用于解释和说明本发明的技术方案,但并不能构成对权利要求的保护范围的限定。本领域技术人员应当清楚,在本发明的技术方案的基础上做任何简单的变形或替换而得到的新的技术方案,均将落入本发明的保护范围之内。
Claims (7)
1.一种光电吊舱系统Zynq芯片的分级打包快速升级方法,其特征在于,包括以下步骤:
步骤1、生成光电吊舱的应用模块P_A;
所述应用模块P_A,用于配置执行光电吊舱流程控制和光电吊舱的功能升级;
步骤2、生成用于引导光电吊舱的Zynq硬件平台实现系统功能的引导模块P_F,所述引导模块P_F分为两级,分别进行引导;
一级引导模块F1为FSBL模块,引导用户自定义的FPGA模块FP和二级引导模块F2;所述用户自定义的FPGA模块FP用于实现光电吊舱的复杂算法和接口功能;所述二级引导模块F2对所述应用模块P_A进行引导;所述引导是指代码搬移及运行指针跳转;
所述一级引导模块F1、二级引导模块F2分配不同的运行地址;一级引导模块F1分配Zynq芯片的片内地址RAM_F1,二级引导模块F2分配Zynq硬件平台DDR地址ADDR_F2;
将一级引导模块F1、FPGA模块FP、二级引导模块F2进行打包,生成引导模块P_F;
步骤3、将应用模块P_A和引导模块P_F固化到Zynq硬件平台的FLASH的相应地址中;
步骤4、光电吊舱的Zynq硬件平台上电启动,所述引导模块P_F分两级将FPGA模块FP、应用模块P_A引导到Zynq硬件平台相应的空间地址上;所述光电吊舱实现系统功能,并等待系统升级指令;
步骤5、根据外部升级指令实现光电吊舱系统的升级。
2.根据权利要求1所述的分级打包快速升级方法,其特征在于,
所述应用模块P_A的产生方式为:首先,通过仿真器将光电吊舱流程控制和光电吊舱的功能升级程序加载到Zynq硬件平台上对应的空间地址上;然后,将对应的空间地址上的数据导出并保存生成所述应用模块P_A。
3.根据权利要求2所述的分级打包快速升级方法,其特征在于,
导出数据的地址长度为固定长度,其长度大于所述应用模块P_A的长度;生成的应用模块P_A分配Zynq硬件平台DDR地址ADDR_A。
4.根据权利要求1所述的分级打包快速升级方法,其特征在于,
步骤4中的引导过程包括:
1)一级引导模块F1将FPGA模块FP、二级引导模块F2分别搬至片上空间运行;
2)二级引导模块F2将应用模块由FLASH存储空间搬移至DDR,并将模块指针指向应用模块首地址指针ADDR_A。
5.根据权利要求1所述的分级打包快速升级方法,其特征在于,
所述外部升级指令包括两种,一种是对引导模块P_F升级的指令,对引导模块P_F中的FPGA模块进行升级;另一种是对应用模块的P_A升级的指令,升级所述应用模块。
6.根据权利要求5所述的分级打包快速升级方法,其特征在于,
所述升级包括正常功能升级,升级过程包括,当接收到对引导模块P_F升级的外部指令时,在Zynq硬件平台运行的应用模块P_A完整接收待升级的引导模块P_F’将其固化至FLASH对应的地址中。
7.根据权利要求6所述的分级打包快速升级方法,其特征在于,
所述升级还包括快速功能升级,其升级过程包括,当接收到对应用模块P_A升级的外部指令时,在Zynq硬件平台运行的应用模块P_A完整接收待升级的应用模块P_A’将其固化至FLASH对应的地址中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711380685.7A CN108255511B (zh) | 2017-12-20 | 2017-12-20 | 一种光电吊舱系统Zynq芯片分级打包快速升级方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711380685.7A CN108255511B (zh) | 2017-12-20 | 2017-12-20 | 一种光电吊舱系统Zynq芯片分级打包快速升级方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108255511A CN108255511A (zh) | 2018-07-06 |
CN108255511B true CN108255511B (zh) | 2021-11-16 |
Family
ID=62723615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711380685.7A Active CN108255511B (zh) | 2017-12-20 | 2017-12-20 | 一种光电吊舱系统Zynq芯片分级打包快速升级方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255511B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425018B (zh) * | 2008-12-05 | 2011-11-23 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
CN101794248B (zh) * | 2010-04-02 | 2013-10-23 | 福州思迈特数码科技有限公司 | 构建多重引导存储结构与备份的方法 |
CN104281463A (zh) * | 2013-07-12 | 2015-01-14 | 中国航天科工集团第三研究院第八三五八研究所 | 一种可选择版本的dsp处理器程序加载方法 |
JP2015210808A (ja) * | 2014-04-30 | 2015-11-24 | 大橋 正 | ウェブからの電子機器へのソフトウェア更新方式 |
CN105573800B (zh) * | 2015-12-22 | 2018-09-18 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于zynq的单板或多板系统及在线更新方法 |
CN106569833B (zh) * | 2016-11-14 | 2020-04-10 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN107357604A (zh) * | 2017-05-04 | 2017-11-17 | 许继集团有限公司 | 一种应用于集成保护的多模块运行方法及装置 |
-
2017
- 2017-12-20 CN CN201711380685.7A patent/CN108255511B/zh active Active
Non-Patent Citations (1)
Title |
---|
"Design and Implementation of Bootloader Based on CCP Protocol";Wu Youyu 等;《2017 10th International Conference on Intelligent Computation Technology and Automation (ICICTA)》;20171102;第140-143页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108255511A (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10732943B2 (en) | Programming model of neural network-oriented heterogeneous computing platform | |
CN107656773B (zh) | 一种多核dsp启动方法 | |
CN102053831B (zh) | 一种Linux操作系统的定制方法及系统 | |
CN103744713A (zh) | 基于fpga的嵌入式双核系统的自主配置方法 | |
CN103473102B (zh) | 多操作系统的系统启动引导方法和工具 | |
CN103718159B (zh) | 图像处理软件开发方法、图像处理软件开发装置 | |
CN105022630A (zh) | 一种组件管理系统及组件管理方法 | |
CN109739508B (zh) | 源代码编译方法、装置、系统及存储介质 | |
CN106528065B (zh) | 一种线程获取方法及设备 | |
CN103324474A (zh) | 基于Linux操作系统跨体系构造ISO的方法及模块 | |
CN104111857A (zh) | 一种多机型bios参数自动配置的方法 | |
CN103513966A (zh) | 基于组件的php开发框架 | |
CN115291946A (zh) | 鸿蒙系统移植方法、装置、电子设备及可读介质 | |
CN108255511B (zh) | 一种光电吊舱系统Zynq芯片分级打包快速升级方法 | |
CN105630562A (zh) | 一种电池管理系统初始化的方法和装置 | |
CN103150189B (zh) | 一种智能电能表参数的设置方法 | |
CN106484375B (zh) | 一种指令块加载方法、软交换设备及系统 | |
CN104572140A (zh) | 一种操作系统移植的方法、装置及系统 | |
US9239720B2 (en) | Device and method for generating application model based on layered structure | |
CN110347444A (zh) | 一种ssd多状态切换的启动方法及其系统 | |
CN106681761B (zh) | 一种交互式升级的方法及系统 | |
CN103955376A (zh) | 一种dsp自启动二次按需加载方法 | |
CN104281463A (zh) | 一种可选择版本的dsp处理器程序加载方法 | |
US20210141723A1 (en) | Memory usage in managed runtime applications | |
US8694975B2 (en) | Programming system in multi-core environment, and method and program of the same |
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 |