CN108255511A - 一种光电吊舱系统Zynq芯片分级打包快速升级方法 - Google Patents
一种光电吊舱系统Zynq芯片分级打包快速升级方法 Download PDFInfo
- Publication number
- CN108255511A CN108255511A CN201711380685.7A CN201711380685A CN108255511A CN 108255511 A CN108255511 A CN 108255511A CN 201711380685 A CN201711380685 A CN 201711380685A CN 108255511 A CN108255511 A CN 108255511A
- Authority
- CN
- China
- Prior art keywords
- module
- zynq
- guiding
- level
- application module
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
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 (10)
1.一种光电吊舱系统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、根据外部升级指令实现光电吊舱系统的升级。
2.根据权利要求1所述的分级打包快速升级方法,其特征在于,
所述应用模块P_A,用于配置执行光电吊舱流程控制和光电吊舱的功能升级。
3.根据权利要求1或2所述的分级打包快速升级方法,其特征在于,
所述应用模块P_A的产生方式为:首先,通过仿真器将光电吊舱流程控制和光电吊舱的功能升级程序加载到Zynq硬件平台上对应的空间地址上;然后,将对应的空间地址上的数据导出并保存生成所述应用模块P_A。
4.根据权利要求3所述的分级打包快速升级方法,其特征在于,
导出数据的地址长度为固定长度,其长度大于所述应用模块P_A的长度;生成的应用模块P_A分配Zynq硬件平台DDR地址ADDR_A。
5.根据权利要求1所述的分级打包快速升级方法,其特征在于,
所述两级引导模块分别为一级引导模块F1和二级引导模块F2;
所述一级引导模块F1为FSBL模块,用来引导用户自定义的FPGA模块FP和二级引导模块F2;所述用户自定义的FPGA模块FP实现光电吊舱的复杂算法和接口功能;所述二级引导模块F2对所述应用模块进行引导;所述引导是指代码搬移及运行指针跳转。
6.根据权利要求5所述的分级打包快速升级方法,其特征在于,
所述一级引导模块F1分配Zynq芯片的片内地址RAM_F1,所述二级引导模块分配Zynq硬件平台DDR地址ADDR_F2。
7.根据权利要求1所述的分级打包快速升级方法,其特征在于,
步骤4中的引导过程包括:
1)一级引导模块F1将FPGA模块FP、二级引导模块F2分别搬至片上空间运行;
2)二级引导模块F2将应用模块由FLASH存储空间搬移至DDR,并将模块指针指向应用模块首地址指针ADDR_A。
8.根据权利要求1所述的分级打包快速升级方法,其特征在于,
所述外部升级指令包括两种,一种是对引导模块P_F升级的指令,对引导模块P_F中的FPGA模块进行升级;另一种是对应用模块的P_A升级的指令,升级所述应用模块。
9.根据权利要求8所述的分级打包快速升级方法,其特征在于,
所述升级包括正常功能升级,升级过程包括,当接收到对引导模块P_F升级的外部指令时,在Zynq硬件平台运行的应用模块P_A完整接收待升级的引导模块P_F’将其固化至FLASH对应的地址中。
10.根据权利要求8所述的分级打包快速升级方法,其特征在于,
所述升级还包括快速功能升级,其升级过程包括,当接收到对应用模块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 true CN108255511A (zh) | 2018-07-06 |
CN108255511B 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) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425018A (zh) * | 2008-12-05 | 2009-05-06 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
CN101794248A (zh) * | 2010-04-02 | 2010-08-04 | 福州思迈特数码科技有限公司 | 构建多重引导存储结构与备份的方法 |
CN104281463A (zh) * | 2013-07-12 | 2015-01-14 | 中国航天科工集团第三研究院第八三五八研究所 | 一种可选择版本的dsp处理器程序加载方法 |
US20150317148A1 (en) * | 2014-04-30 | 2015-11-05 | Tadashi Ohashi | Apparatus for software product' upgrade and downgrade of electric equipment from web |
CN105573800A (zh) * | 2015-12-22 | 2016-05-11 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于zynq的单板或多板系统及在线更新方法 |
CN106569833A (zh) * | 2016-11-14 | 2017-04-19 | 积成电子股份有限公司 | 一种具有二级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
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101425018A (zh) * | 2008-12-05 | 2009-05-06 | 深圳创维数字技术股份有限公司 | 基于分段式的嵌入式固件升级方法及装置 |
CN101794248A (zh) * | 2010-04-02 | 2010-08-04 | 福州思迈特数码科技有限公司 | 构建多重引导存储结构与备份的方法 |
CN104281463A (zh) * | 2013-07-12 | 2015-01-14 | 中国航天科工集团第三研究院第八三五八研究所 | 一种可选择版本的dsp处理器程序加载方法 |
US20150317148A1 (en) * | 2014-04-30 | 2015-11-05 | Tadashi Ohashi | Apparatus for software product' upgrade and downgrade of electric equipment from web |
CN105573800A (zh) * | 2015-12-22 | 2016-05-11 | 中船重工(武汉)凌久电子有限责任公司 | 一种基于zynq的单板或多板系统及在线更新方法 |
CN106569833A (zh) * | 2016-11-14 | 2017-04-19 | 积成电子股份有限公司 | 一种具有二级boot的dsp程序在线升级方法 |
CN106648803A (zh) * | 2016-12-30 | 2017-05-10 | 南京科远自动化集团股份有限公司 | 一种dsp芯片在线升级方法 |
CN107357604A (zh) * | 2017-05-04 | 2017-11-17 | 许继集团有限公司 | 一种应用于集成保护的多模块运行方法及装置 |
Non-Patent Citations (2)
Title |
---|
JUDYZHONG: ""如何使用FPGA的Multiboot功能实现系统升级更新"", 《HTTP://XILINX.EETREND.COM/D6-XILINX/BLOG/2015-10/9495.HTML》 * |
WU YOUYU 等: ""Design and Implementation of Bootloader Based on CCP Protocol"", 《2017 10TH INTERNATIONAL CONFERENCE ON INTELLIGENT COMPUTATION TECHNOLOGY AND AUTOMATION (ICICTA)》 * |
Also Published As
Publication number | Publication date |
---|---|
CN108255511B (zh) | 2021-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102541572B (zh) | 一种实现操作系统内核引导的方法、系统及装置 | |
CN107766132A (zh) | 多任务调度方法、应用服务器及计算机可读存储介质 | |
CN101996087B (zh) | 多核处理器阵列程序的动态加载方法 | |
CN106707848A (zh) | 一种控制系统的控制程序组织结构和下载方法 | |
CN103914416B (zh) | 调节直接存储器存取描述符的执行 | |
CN106528065B (zh) | 一种线程获取方法及设备 | |
CN105630559B (zh) | 板卡固件烧录方法及其系统 | |
CN108628641A (zh) | 一种基于嵌入式系统的快速启动方法 | |
CN105589729A (zh) | 一种基于嵌入式虚拟机的动态编译的方法及装置 | |
CN104133676A (zh) | 一种基于脚本的功能执行方法和设备 | |
CN106406953A (zh) | 一种存储系统软件在线升级方法 | |
CN110337036A (zh) | 机顶盒的升级方法、装置及存储介质 | |
CN106708573A (zh) | 一种用于Hadoop集群自动安装的系统及方法 | |
CN104144179B (zh) | Onu设备的升级系统及方法 | |
CN103092634A (zh) | 一种多flash设备的机顶盒软件升级方法 | |
CN109062577A (zh) | 一种前端脚本拆分与解构优化方法及系统 | |
CN108255511A (zh) | 一种光电吊舱系统Zynq芯片分级打包快速升级方法 | |
CN103902303A (zh) | 基于配置表的程序固化方法 | |
CN106020892A (zh) | 一种非linux系统软件boot参数传递方法及系统 | |
CN104571951A (zh) | Emmc/ufs卡及其提高emmc/ufs卡读性能的方法 | |
CN111240707A (zh) | 一种通过pxe网络灌装存储系统的方法和装置 | |
CN103955376A (zh) | 一种dsp自启动二次按需加载方法 | |
CN110874214B (zh) | 一种功能调用方法、装置、电子设备和存储介质 | |
CN101131638A (zh) | 业务对象内存表示和持久化表示的解耦合装置及方法 | |
CN104317720A (zh) | 一种基于Robotium自动化脚本的移动终端自动化测试系统及方法 |
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 |