CN114398107B - 一种跨领域多方式加载dsp程序的设计方法及通用平台 - Google Patents

一种跨领域多方式加载dsp程序的设计方法及通用平台 Download PDF

Info

Publication number
CN114398107B
CN114398107B CN202210085205.9A CN202210085205A CN114398107B CN 114398107 B CN114398107 B CN 114398107B CN 202210085205 A CN202210085205 A CN 202210085205A CN 114398107 B CN114398107 B CN 114398107B
Authority
CN
China
Prior art keywords
zynq
loading
dsp
program
boot2
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
CN202210085205.9A
Other languages
English (en)
Other versions
CN114398107A (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.)
CETC 10 Research Institute
Original Assignee
CETC 10 Research Institute
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 CETC 10 Research Institute filed Critical CETC 10 Research Institute
Priority to CN202210085205.9A priority Critical patent/CN114398107B/zh
Publication of CN114398107A publication Critical patent/CN114398107A/zh
Application granted granted Critical
Publication of CN114398107B publication Critical patent/CN114398107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • 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

本发明公开了一种跨领域多方式加载DSP程序的设计方法及通用平台,属于测控通信的信号处理技术领域,包括步骤:通过加载控制开关和/或通过上位机发送加载控制命令,控制从FLASH直接加载DSP程序、或从EMMC通过ZYNQ加载DSP程序、或从上位机在线加载DSP程序。本发明实现了高度集成的通用平台,可以根据不同加载需要进行灵活设置DSP程序加载方式。平台具有标准化和通用性,支持长期的技术可插入、可扩展性,减少硬件冗余设计时间,降低了全生命周期成本。

Description

一种跨领域多方式加载DSP程序的设计方法及通用平台
技术领域
本发明涉及测控通信的信号处理技术领域,更为具体的,涉及一种跨领域多方式加载DSP程序的设计方法及通用平台。
背景技术
在航天测控领域中,受太空或外空间单粒子轰击等影响,DSP程序加载可靠性要求高,应尽量缩短程序加载的路径,一般直接从FLASH获取程序加载DSP;在保密通信领域,DSP程序固化在非失易性存储器中有被窃取的风险,需要通过网络直接加密加载DSP程序;在航电领域,算法程序类型多,要求存储容量大的平台分时加载不同的算法程序;不同领域对于DSP程序加载方式不同,就需要根据不同需求设计不同的通信平台,这些平台之间由于领域限制,不考虑兼容设计,而通常采用适合本领域的加载方法。但是针对加载方式而专门设计不同的平台将花费大量的设计成本,不同平台之间设计不能通用,可移植性差。
随着电子信息系统的综合化集成的发展,不同领域的设备需要跨专业应用,比如当今各个国家都大力发展的空天飞行器,具有低成本、高可靠性的技术特征,能够满足未来廉价、自由进出空间的发展需求,商业和军事应用前景潜力巨大。空天飞行器在起飞阶段,属于航电领域,需要多种算法协同,存储不同应用算法程序,需分时加载;在外太空阶段,属于航天领域,需要防外太空粒子干扰,需本地加载;在飞行器执行军事任务时,属于保密通信领域,需要网络加密远程启动加载程序。因此,急需一种跨领域的适应多方式加载DSP程序的设计方法,满足不同的加载应用场景。
发明内容
本发明的目的在于克服现有技术的不足,提供一种跨领域多方式加载DSP程序的设计方法及通用平台,解决了背景中提出的问题。
本发明的目的是通过以下方案实现的:
一种跨领域多方式加载DSP程序的设计方法,通过加载控制开关和/或通过上位机发送加载控制命令,控制从FLASH直接加载DSP程序、或从EMMC通过ZYNQ加载DSP程序、或从上位机在线加载DSP程序。
进一步地,所述加载控制开关包括拨码开关,ZYNQ通过获取拨码开关的值来获取加载方式。
进一步地,所述上位机发送加载控制命令包括子步骤:由上位机发送加载控制命令给ZYNQ,ZYNQ接收解析并回复准备就绪状态给上位机,然后等待上位机发送待加载的算法APP程序。
进一步地,所述从FLASH直接加载DSP程序包括子步骤:
S1,系统上电后,ZYNQ将DSP对应的地址和数据线分别与FLASH的地址和数据线直接逻辑连接,通过高位地址线选中FLASH第1扇区,复位DSP,开始计时;
S2,DSP从FLASH首地址搬移引导程序BOOT1到内存中运行,正常运行后引导程序BOOT1通过GPIO和加载状态控制器通知ZYNQ加载结果;超时时间内ZYNQ未收到加载结果,则执行引导程序BOOT1的可靠加载方法;引导程序BOOT1加载成功,再搬移算法APP程序到内存,进行算法APP程序校验,校验成功运行算法APP程序,校验失败上报加载出错给ZYNQ。
进一步地,所述从EMMC通过ZYNQ加载DSP程序包括子步骤:
SS1,上电后,ZYNQ从EMMC区域1获取DSP引导程序BOOT2到RAM中,复位DSP,开始计时;
SS2,DSP从RAM首地址搬移引导程序BOOT2到内存中运行,引导程序BOOT2通过GPIO和加载状态控制器通知ZYNQ加载结果;超时时间内ZYNQ未收到加载结果说明引导程序BOOT2加载失败,执行引导程序BOOT2的可靠加载方法;对正常运行起来的引导程序BOOT2将读写控制单元设置为可写;
SS3,ZYNQ收到加载结果后,在读写控制单元为可写的情况下从EMMC依次搬移算法APP程序到RAM中,设置读写控制单元为可读;
SS4,DSP查询到读写控制单元为可读,将RAM中的程序搬移到内存依次存放,设置读写控制单元为可写,循环操作直到最后一包程序搬移到DSP内存;
SS5,DSP校验算法APP程序,将校验结果上报给ZYNQ,校验结果正常则运行算法APP程序,校验结果失败则等待ZYNQ重新再发送一次算法APP程序。
进一步地,所述从上位机在线加载DSP程序包括子步骤:
SSS1,上电后,上位机将DSP引导程序BOOT2通过网口发送到ZYNQ,ZYNQ收到数据校验成功后放入RAM空间,复位DSP芯片,开始计时;
SSS2,DSP通过EMIF总线从RAM首地址自动获取引导程序BOOT2到内存并运行,引导程序BOOT2通过GPIO和加载状态控制器通知ZYNQ加载结果,ZYNQ向上位机上报引导程序BOOT2加载成功结果;超时时间内ZYNQ未收到加载结果,则向上位机上报加载失败结果;引导程序BOOT2正常运行后将读写标志单元设置为可写,等待读写控制单元为可读;
SSS3,上位机收到引导程序BOOT2加载失败的结果将再发送一次DSP引导程序BOOT2给ZYNQ;上位机收到加载成功的结果,进行步骤SSS4;
SSS4,通过网口将算法APP或加密算法APP程序分包发送到ZYNQ,ZYNQ依次存放到RAM中并回复接收结果给上位机;当ZYNQ累计接收到256K字节的算法APP程序时,设置读写控制单元为可读;
SSS5,DSP查询到读写控制单元为可读,将RAM中的程序搬移到内存依次存放,设置读写控制单元为可写并上报接收结果给ZYNQ,ZYNQ向上位机上报传输结果;
SSS6,上位机收到失败的结果将重发程序,累计重发设定次程序仍然失败则结束程序加载;上位机收到成功的结果,继续分包发送后续算法APP程序到ZYNQ,循环往复,直到DSP将全部的算法APP程序接收完成;
SSS7,DSP校验本地算法APP程序,若是加密算法APP程序则与本地解密秘钥执行解密流程,然后将校验结果上报给ZYNQ,校验结果成功则运行算法APP程序,校验结果失败则等待ZYNQ重新再发送一次算法APP程序。
进一步地,所述引导程序BOOT1的可靠加载方法包括子步骤:
步骤一,ZYNQ在两个不同扇区固化引导程序BOOT1互相备份;
步骤二,ZYNQ控制FLASH的高三位地址线,将FLASH分成8个区,选第1和2扇区的首区域固化引导程序BOOT1互相备份;
步骤三,ZYNQ复位DSP后计时,超时时间内ZYNQ未收到引导程序BOOT1正常运行的加载成功GPIO信号,ZYNQ选择第2扇区后复位DSP,让DSP重新加载扇区2的引导程序BOOT1。
进一步地,所述引导程序BOOT2的可靠加载方法包括子步骤:
步骤一,ZYNQ在两个不同区域固化引导程序BOOT2互相备份;
步骤二,ZYNQ复位DSP后计时设定时间,超时时间内ZYNQ未收到引导程序BOOT2正常运行的加载成功GPIO信号,ZYNQ从EMMC区域2获取DSP引导程序BOOT2到RAM中后复位DSP,让DSP从区域2重新加载引导程序BOOT2。
进一步地,所述设定时间为400毫秒。
一种执行如上任一项所述方法的适应航天测控通信领域的通用平台,包括一台上位机、一片ZYNQ芯片、一片DSP芯片,上位机通过网口与ZYNQ连接,ZYNQ通过EMIF总线与DSP互连;ZYNQ外接非失易性存储器EMMC和BPI FLASH模块,外接一个控制默认加载类型的控制开关;DSP外接失易性存储器DDR3。
本发明的有益效果包括:
本发明一方面实现了高度集成的通用平台,根据不同加载需要进行灵活设置DSP程序加载方式。其中,平台具有标准化和通用性,支持长期的技术可插入、可扩展性,减少硬件冗余设计时间,降低了全生命周期成本。
本发明另一面,首次公开了一种跨领域多方式加载DSP程序的设计方法,且利用该方法能够解决背景中提出的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的ZYNQ+DSP架构设计示意图;
图2为本发明实施例中从FLASH加载DSP程序实现方法流程图;
图3为本发明实施例中从EMMC加载DSP程序实现方法流程图;
图4为本发明实施例中从上位机加载DSP程序实现方法流程图;
图5为本发明实施例中引导或算法程序在EMMC和FLASH器件中扇区的存储分配示意图。
具体实施方式
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
下面根据附图1~图5,对本发明的技术构思、解决的技术问题、工作原理、工作过程和有益效果作进一步详细、充分地说明。
DSP数字信号处理器是航天测控通信的信号处理领域的主要工作器件,本发明实施例方法可以通过三种方式加载DSP程序,实现DSP程序根据不同领域需要选择其中一种方式进行程序加载,减少硬件冗余设计时间,是一种通用的加载方法,详细的技术方案是这样的:
参阅图1。一方面,本发明实施例提供一种可适应航天测控通信领域不同需求、跨领域的新一代ZYNQ+DSP通用平台,旨在实现可多种方式加载DSP程序。如图1所示,通用平台主要包括一台上位机、一片ZYNQ芯片、一片DSP芯片组成,上位机通过网口与ZYNQ连接,ZYNQ通过EMIF总线与DSP互连。ZYNQ外接非失易性存储器EMMC和BPI FLASH模块,外接一个可以控制默认加载类型的控制开关;DSP外接失易性存储器DDR3。
另一方面,基于上述通用平台,本发明实施例旨在实现具体加载方式的选择,包括:
步骤一,通过加载控制开关来控制DSP程序默认加载方式。加载控制开关由两排拨码开关实现,ZYNQ通过获取拨码开关的值来获取加载方式。当拨码开关设置为00,加载模式从FLASH加载程序;当拨码开关设置为01,加载模式从EMMC加载程序;当拨码开关设置为10,加载模式从上位机加载程序;当拨码开关设置为11,进行步骤二,由上位机发送命令来控制加载模式。
步骤二,通过上位机发送加载控制命令来控制DSP程序加载方式。上位机发送加载控制命令给ZYNQ,ZYNQ接收解析并回复准备就绪状态给上位机,然后等待上位机发送待加载的算法APP程序。
在上述加载方式的选择的具体实现过程中,包括:从FLASH加载DSP程序实现方法、从EMMC加载DSP程序实现方法、从上位机加载DSP程序实现方法等。
参阅图2。从FLASH加载DSP程序实现方法:系统上电后,ZYNQ将DSP对应的地址和数据线分别与FLASH的地址和数据线直接逻辑连接,通过高位地址线选中FLASH第1扇区,复位DSP,开始400毫秒的计时。DSP自动从FLASH首地址搬移1024字节大小的引导程序BOOT1到内存中运行,正常运行后引导程序BOOT1通过GPIO和加载状态控制器通知ZYNQ加载结果。超时时间内ZYNQ未收到加载结果说明引导程序BOOT1加载失败,执行引导程序BOOT1的可靠加载方法。引导程序BOOT1加载成功,再搬移算法APP程序到内存,进行算法APP程序校验,校验成功运行算法APP程序,校验失败上报加载出错给ZYNQ。
引导程序BOOT1的可靠加载是后续算法APP程序的关键和前提,它的可靠加载方法实现如下:ZYNQ在两个不同扇区固化引导程序BOOT1互相备份。ZYNQ控制FLASH的高三位地址线,将FLASH分成8个区,选第1和2扇区的首区域固化引导程序BOOT1互相备份。ZYNQ复位DSP后计时400毫秒,超时时间内ZYNQ未收到引导程序BOOT1正常运行的加载成功GPIO信号,ZYNQ选择第2扇区后复位DSP,让DSP重新加载扇区2的引导程序BOOT1。
参阅图3。从EMMC加载DSP程序实现方法:系统上电后,ZYNQ从EMMC区域1获取1024字节大小的DSP引导程序BOOT2到RAM中,复位DSP,开始400毫秒的计时。DSP自动从RAM首地址搬移引导程序BOOT2到内存中运行,引导程序BOOT2通过GPIO和加载状态控制器通知ZYNQ加载结果。超时时间内ZYNQ未收到加载结果说明引导程序BOOT2加载失败,执行引导程序BOOT2的可靠加载方法。正常运行起来的引导程序BOOT2将读写控制单元设置为可写。ZYNQ收到加载结果后,在读写控制单元为可写的情况下从EMMC依次搬移每包256K字节的算法APP程序到RAM中,设置读写控制单元为可读。DSP查询到读写控制单元为可读,将RAM中的程序搬移到内存依次存放,设置读写控制单元为可写,循环操作直到最后一包程序搬移到DSP内存。DSP校验算法APP程序,将校验结果上报给ZYNQ,校验结果正常则运行算法APP程序,校验结果失败则等待ZYNQ重新再发送一次算法APP程序。
引导程序BOOT2的可靠加载是后续算法APP程序的关键和前提,它的可靠加载方法实现如下:ZYNQ在两个不同区域固化引导程序BOOT2互相备份。ZYNQ复位DSP后计时400毫秒,超时时间内ZYNQ未收到引导程序BOOT2正常运行的加载成功GPIO信号,ZYNQ从EMMC区域2获取DSP引导程序BOOT2到RAM中后复位DSP,让DSP从区域2重新加载引导程序BOOT2。
参阅图4。从上位机加载DSP程序实现方法:系统上电后,上位机将1024字节大小的DSP引导程序BOOT2通过网口发送到ZYNQ,ZYNQ收到数据校验成功后放入RAM空间,复位DSP芯片,开始400毫秒的计时。DSP通过EMIF总线从RAM首地址自动获取引导程序BOOT2到内存并运行,引导程序BOOT2通过GPIO和加载状态控制器通知ZYNQ加载结果,ZYNQ向上位机上报引导程序BOOT2加载成功结果。超时时间内ZYNQ未收到加载结果说明引导程序BOOT2加载失败,向上位机上报加载失败结果。引导程序BOOT2正常运行后将读写标志单元设置为可写,等待读写控制单元为可读。上位机收到引导程序BOOT2加载失败的结果将再发送一次DSP引导程序BOOT2给ZYNQ;上位机收到加载成功的结果,进行下一步操作,通过网口将算法APP或加密算法APP程序分包每包1024字节发送到ZYNQ,ZYNQ依次存放到RAM中并回复接收结果给上位机;当ZYNQ累计接收到256K字节的算法APP程序时,设置读写控制单元为可读。DSP查询到读写控制单元为可读,将RAM中的程序搬移到内存依次存放,设置读写控制单元为可写并上报接收结果给ZYNQ,ZYNQ向上位机上报传输结果。上位机收到失败的结果将重发程序,累计重发三次程序仍然失败则结束程序加载;上位机收到成功的结果,继续分包发送后续算法APP程序到ZYNQ,循环往复,直到DSP将全部的算法APP程序接收完成。DSP校验本地算法APP程序,若是加密算法APP程序还需与本地解密秘钥执行解密流程,然后将校验结果上报给ZYNQ,校验结果成功则运行算法APP程序,校验结果失败则等待ZYNQ重新再发送一次算法APP程序。
参阅图5。上位机将DSP引导程序BOOT和算法APP程序通过网口分包发送给ZYNQ,ZYNQ逐包接收到自己的RAM中,校验成功后分别固化入EMMC和FLASH相应扇区中,固化空间分配见图2。
实施例1:一种跨领域多方式加载DSP程序的设计方法,其特征在于,通过加载控制开关和/或通过上位机发送加载控制命令,控制从FLASH直接加载DSP程序、或从EMMC通过ZYNQ加载DSP程序、或从上位机在线加载DSP程序。
实施例2:在实施例1的基础上,所述加载控制开关包括拨码开关,ZYNQ通过获取拨码开关的值来获取加载方式。
实施例3:在实施例1的基础上,所述上位机发送加载控制命令包括子步骤:由上位机发送加载控制命令给ZYNQ,ZYNQ接收解析并回复准备就绪状态给上位机,然后等待上位机发送待加载的算法APP程序。
实施例4:在任一个实施例1~3的基础上,所述从FLASH直接加载DSP程序包括子步骤:
S1,系统上电后,ZYNQ将DSP对应的地址和数据线分别与FLASH的地址和数据线直接逻辑连接,通过高位地址线选中FLASH第1扇区,复位DSP,开始计时;
S2,DSP从FLASH首地址搬移引导程序BOOT1到内存中运行,正常运行后引导程序BOOT1通过GPIO和加载状态控制器通知ZYNQ加载结果;超时时间内ZYNQ未收到加载结果,则执行引导程序BOOT1的可靠加载方法;引导程序BOOT1加载成功,再搬移算法APP程序到内存,进行算法APP程序校验,校验成功运行算法APP程序,校验失败上报加载出错给ZYNQ。
实施例5:在任一个实施例1~3的基础上,所述从EMMC通过ZYNQ加载DSP程序包括子步骤:
SS1,上电后,ZYNQ从EMMC区域1获取DSP引导程序BOOT2到RAM中,复位DSP,开始计时;
SS2,DSP从RAM首地址搬移引导程序BOOT2到内存中运行,引导程序BOOT2通过GPIO和加载状态控制器通知ZYNQ加载结果;超时时间内ZYNQ未收到加载结果说明引导程序BOOT2加载失败,执行引导程序BOOT2的可靠加载方法;对正常运行起来的引导程序BOOT2将读写控制单元设置为可写;
SS3,ZYNQ收到加载结果后,在读写控制单元为可写的情况下从EMMC依次搬移算法APP程序到RAM中,设置读写控制单元为可读;
SS4,DSP查询到读写控制单元为可读,将RAM中的程序搬移到内存依次存放,设置读写控制单元为可写,循环操作直到最后一包程序搬移到DSP内存;
SS5,DSP校验算法APP程序,将校验结果上报给ZYNQ,校验结果正常则运行算法APP程序,校验结果失败则等待ZYNQ重新再发送一次算法APP程序。
实施例6:在任一个实施例1~3的基础上,所述从上位机在线加载DSP程序包括子步骤:
SSS1,上电后,上位机将DSP引导程序BOOT2通过网口发送到ZYNQ,ZYNQ收到数据校验成功后放入RAM空间,复位DSP芯片,开始计时;
SSS2,DSP通过EMIF总线从RAM首地址自动获取引导程序BOOT2到内存并运行,引导程序BOOT2通过GPIO和加载状态控制器通知ZYNQ加载结果,ZYNQ向上位机上报引导程序BOOT2加载成功结果;超时时间内ZYNQ未收到加载结果,则向上位机上报加载失败结果;引导程序BOOT2正常运行后将读写标志单元设置为可写,等待读写控制单元为可读;
SSS3,上位机收到引导程序BOOT2加载失败的结果将再发送一次DSP引导程序BOOT2给ZYNQ;上位机收到加载成功的结果,进行步骤SSS4;
SSS4,通过网口将算法APP或加密算法APP程序分包发送到ZYNQ,ZYNQ依次存放到RAM中并回复接收结果给上位机;当ZYNQ累计接收到256K字节的算法APP程序时,设置读写控制单元为可读;
SSS5,DSP查询到读写控制单元为可读,将RAM中的程序搬移到内存依次存放,设置读写控制单元为可写并上报接收结果给ZYNQ,ZYNQ向上位机上报传输结果;
SSS6,上位机收到失败的结果将重发程序,累计重发设定次程序仍然失败则结束程序加载;上位机收到成功的结果,继续分包发送后续算法APP程序到ZYNQ,循环往复,直到DSP将全部的算法APP程序接收完成;
SSS7,DSP校验本地算法APP程序,若是加密算法APP程序则与本地解密秘钥执行解密流程,然后将校验结果上报给ZYNQ,校验结果成功则运行算法APP程序,校验结果失败则等待ZYNQ重新再发送一次算法APP程序。
实施例7:在任一个实施例4的基础上,所述引导程序BOOT1的可靠加载方法包括子步骤:
步骤一,ZYNQ在两个不同扇区固化引导程序BOOT1互相备份;
步骤二,ZYNQ控制FLASH的高三位地址线,将FLASH分成8个区,选第1和2扇区的首区域固化引导程序BOOT1互相备份;
步骤三,ZYNQ复位DSP后计时,超时时间内ZYNQ未收到引导程序BOOT1正常运行的加载成功GPIO信号,ZYNQ选择第2扇区后复位DSP,让DSP重新加载扇区2的引导程序BOOT1。
实施例8:在任一个实施例5的基础上,所述引导程序BOOT2的可靠加载方法包括子步骤:
步骤一,ZYNQ在两个不同区域固化引导程序BOOT2互相备份;
步骤二,ZYNQ复位DSP后计时设定时间,超时时间内ZYNQ未收到引导程序BOOT2正常运行的加载成功GPIO信号,ZYNQ从EMMC区域2获取DSP引导程序BOOT2到RAM中后复位DSP,让DSP从区域2重新加载引导程序BOOT2。
实施例9:在实施例8的基础上,所述设定时间为400毫秒。
实施例10:在任一个实施例1~9的基础上,提供一种适应航天测控通信领域的通用平台,包括一台上位机、一片ZYNQ芯片、一片DSP芯片,上位机通过网口与ZYNQ连接,ZYNQ通过EMIF总线与DSP互连;ZYNQ外接非失易性存储器EMMC和BPI FLASH模块,外接一个控制默认加载类型的控制开关;DSP外接失易性存储器DDR3。
本发明未涉及部分均与现有技术相同或可采用现有技术加以实现。
上述技术方案只是本发明的一种实施方式,对于本领域内的技术人员而言,在本发明公开了应用方法和原理的基础上,很容易做出各种类型的改进或变形,而不仅限于本发明上述具体实施方式所描述的方法,因此前面描述的方式只是优选的,而并不具有限制性的意义。
除以上实例以外,本领域技术人员根据上述公开内容获得启示或利用相关领域的知识或技术进行改动获得其他实施例,各个实施例的特征可以互换或替换,本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (4)

1.一种跨领域多方式加载DSP程序的设计方法,其特征在于,通过加载控制开关和/或通过上位机发送加载控制命令,控制从FLASH直接加载DSP程序、或从EMMC通过ZYNQ加载DSP程序、或从上位机在线加载DSP程序;
所述加载控制开关包括拨码开关,ZYNQ通过获取拨码开关的值来获取加载方式;
所述从FLASH直接加载DSP程序包括子步骤:
S1,系统上电后,ZYNQ将DSP对应的地址和数据线分别与FLASH的地址和数据线直接逻辑连接,通过高位地址线选中FLASH第1扇区,复位DSP,开始计时;
S2,DSP从FLASH首地址搬移引导程序BOOT1到内存中运行,正常运行后引导程序BOOT1通过GPIO和加载状态控制器通知ZYNQ加载结果;超时时间内ZYNQ未收到加载结果,则执行引导程序BOOT1的可靠加载方法;引导程序BOOT1加载成功,再搬移算法APP程序到内存,进行算法APP程序校验,校验成功运行算法APP程序,校验失败上报加载出错给ZYNQ;
所述从EMMC通过ZYNQ加载DSP程序包括子步骤:
SS1,上电后,ZYNQ从EMMC区域1获取DSP引导程序BOOT2到RAM中,复位DSP,开始计时;
SS2,DSP从RAM首地址搬移引导程序BOOT2到内存中运行,引导程序BOOT2通过GPIO和加载状态控制器通知ZYNQ加载结果;超时时间内ZYNQ未收到加载结果说明引导程序BOOT2加载失败,执行引导程序BOOT2的可靠加载方法;对正常运行起来的引导程序BOOT2将读写控制单元设置为可写;
SS3,ZYNQ收到加载结果后,在读写控制单元为可写的情况下从EMMC依次搬移算法APP程序到RAM中,设置读写控制单元为可读;
SS4,DSP查询到读写控制单元为可读,将RAM中的程序搬移到内存依次存放,设置读写控制单元为可写,循环操作直到最后一包程序搬移到DSP内存;
SS5,DSP校验算法APP程序,将校验结果上报给ZYNQ,校验结果正常则运行算法APP程序,校验结果失败则等待ZYNQ重新再发送一次算法APP程序;
所述从上位机在线加载DSP程序包括子步骤:
SSS1,上电后,上位机将DSP引导程序BOOT2通过网口发送到ZYNQ,ZYNQ收到数据校验成功后放入RAM空间,复位DSP芯片,开始计时;
SSS2,DSP通过EMIF总线从RAM首地址自动获取引导程序BOOT2到内存并运行,引导程序BOOT2通过GPIO和加载状态控制器通知ZYNQ加载结果,ZYNQ向上位机上报引导程序BOOT2加载成功结果;超时时间内ZYNQ未收到加载结果,则向上位机上报加载失败结果;引导程序BOOT2正常运行后将读写标志单元设置为可写,等待读写控制单元为可读;
SSS3,上位机收到引导程序BOOT2加载失败的结果将再发送一次DSP引导程序BOOT2给ZYNQ;上位机收到加载成功的结果,进行步骤SSS4;
SSS4,通过网口将算法APP或加密算法APP程序分包发送到ZYNQ,ZYNQ依次存放到RAM中并回复接收结果给上位机;当ZYNQ累计接收到256K字节的算法APP程序时,设置读写控制单元为可读;
SSS5,DSP查询到读写控制单元为可读,将RAM中的程序搬移到内存依次存放,设置读写控制单元为可写并上报接收结果给ZYNQ,ZYNQ向上位机上报传输结果;
SSS6,上位机收到失败的结果将重发程序,累计重发设定次程序仍然失败则结束程序加载;上位机收到成功的结果,继续分包发送后续算法APP程序到ZYNQ,循环往复,直到DSP将全部的算法APP程序接收完成;
SSS7,DSP校验本地算法APP程序,若是加密算法APP程序则与本地解密秘钥执行解密流程,然后将校验结果上报给ZYNQ,校验结果成功则运行算法APP程序,校验结果失败则等待ZYNQ重新再发送一次算法APP程序;
所述引导程序BOOT1的可靠加载方法包括子步骤:
步骤一,ZYNQ在两个不同扇区固化引导程序BOOT1互相备份;
步骤二,ZYNQ控制FLASH的高三位地址线,将FLASH分成8个区,选第1和2扇区的首区域固化引导程序BOOT1互相备份;
步骤三,ZYNQ复位DSP后计时,超时时间内ZYNQ未收到引导程序BOOT1正常运行的加载成功GPIO信号,ZYNQ选择第2扇区后复位DSP,让DSP重新加载扇区2的引导程序BOOT1;
所述引导程序BOOT2的可靠加载方法包括子步骤:
步骤一,ZYNQ在两个不同区域固化引导程序BOOT2互相备份;
步骤二,ZYNQ复位DSP后计时设定时间,超时时间内ZYNQ未收到引导程序BOOT2正常运行的加载成功GPIO信号,ZYNQ从EMMC区域2获取DSP引导程序BOOT2到RAM中后复位DSP,让DSP从区域2重新加载引导程序BOOT2。
2.根据权利要求1所述的跨领域多方式加载DSP程序的设计方法,其特征在于,所述上位机发送加载控制命令包括子步骤:由上位机发送加载控制命令给ZYNQ,ZYNQ接收解析并回复准备就绪状态给上位机,然后等待上位机发送待加载的算法APP程序。
3.根据权利要求1所述的跨领域多方式加载DSP程序的设计方法,其特征在于,所述设定时间为400毫秒。
4.一种执行权利要求1~3任一项所述方法的适应航天测控通信领域的通用平台,其特征在于,包括一台上位机、一片ZYNQ芯片、一片DSP芯片,上位机通过网口与ZYNQ连接,ZYNQ通过EMIF总线与DSP互连;ZYNQ外接非失易性存储器EMMC和BPI FLASH模块,外接一个控制默认加载类型的控制开关;DSP外接失易性存储器DDR3。
CN202210085205.9A 2022-01-25 2022-01-25 一种跨领域多方式加载dsp程序的设计方法及通用平台 Active CN114398107B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210085205.9A CN114398107B (zh) 2022-01-25 2022-01-25 一种跨领域多方式加载dsp程序的设计方法及通用平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210085205.9A CN114398107B (zh) 2022-01-25 2022-01-25 一种跨领域多方式加载dsp程序的设计方法及通用平台

Publications (2)

Publication Number Publication Date
CN114398107A CN114398107A (zh) 2022-04-26
CN114398107B true CN114398107B (zh) 2023-07-28

Family

ID=81232152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210085205.9A Active CN114398107B (zh) 2022-01-25 2022-01-25 一种跨领域多方式加载dsp程序的设计方法及通用平台

Country Status (1)

Country Link
CN (1) CN114398107B (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的单板或多板系统及在线更新方法
CN208477513U (zh) * 2018-07-02 2019-02-05 成都吉纬科技有限公司 一种处理器启动模式自动切换的装置
CN113255254A (zh) * 2021-04-22 2021-08-13 江苏省电力试验研究院有限公司 一种dsp与zynq架构的控制器及数据传输设计方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325903A (zh) * 2015-06-25 2017-01-11 中兴通讯股份有限公司 启动处理方法及装置
CN105867968A (zh) * 2016-03-25 2016-08-17 杭州华三通信技术有限公司 一种加载器及程序加载方法
CN109669704B (zh) * 2018-12-17 2022-04-01 西南电子技术研究所(中国电子科技集团公司第十研究所) 远程传输加载多节点fpga程序加载管理电路
CN112199121B (zh) * 2020-09-28 2023-06-06 西南电子技术研究所(中国电子科技集团公司第十研究所) Dsp按需扩容加载程序方法
CN112711560B (zh) * 2021-02-10 2023-05-26 西南电子技术研究所(中国电子科技集团公司第十研究所) ZYNQ芯片单点连接RapidIO总线的重构方法

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的单板或多板系统及在线更新方法
CN208477513U (zh) * 2018-07-02 2019-02-05 成都吉纬科技有限公司 一种处理器启动模式自动切换的装置
CN113255254A (zh) * 2021-04-22 2021-08-13 江苏省电力试验研究院有限公司 一种dsp与zynq架构的控制器及数据传输设计方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Adapting the DySER Architecture with DSP Blocks as an Overlay for the Xilinx Zynq;Abhishek Kumar Jain, Xiangwei Li, Suhaib A;《International symposium on Highly Efficient Accelerators and Reconfigurable Technologies》;第1-6页 *
An Efficient Method of Parallel Multiplication on a Single DSP Slice for Embedded FPGAs;Zhangqin Huang; Shuo Zhang; Weidong Wang;《IEEE Access》;第6卷(第2019期);第100993 - 101008页 *
基于ZYNQ MPSOC的实时高分辨率SAR成像处理系统;王康景;《中国优秀硕士学位论文全文数据库 (信息科技辑)》(第5期);I136-1217 *
想了解DSP+ZYNQ核间通讯?看完这篇就够了;LoveIC;《https://blog.51cto.com/u_15346322/3937178》;第1-10页 *

Also Published As

Publication number Publication date
CN114398107A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
US7200845B2 (en) System and method for high availability firmware load
US9043656B2 (en) Securing crash dump files
KR102198609B1 (ko) 모바일 장치 및 그것의 동작 방법
CN110413432B (zh) 一种信息处理方法、电子设备及存储介质
US20030106052A1 (en) System and method for high availability firmware load
US20120102358A1 (en) Server having memory dump function and memory dump acquisition method
US20220334733A1 (en) Data restoration method and related device
US11099832B2 (en) Method for updating a bootloader of a controller of a light
CN111124749A (zh) 紧耦合高性能计算机系统bmc系统自动修复方法及修复系统
CN114398107B (zh) 一种跨领域多方式加载dsp程序的设计方法及通用平台
CN103890713A (zh) 用于管理处理系统内的寄存器信息的装置及方法
CN111917588A (zh) 边缘设备管理方法、装置、边缘网关设备和存储介质
CN107807790B (zh) 一种固态硬盘数据写入的方法
CN108037942B (zh) 一种嵌入式设备的自适应数据恢复与更新方法及装置
CN111930393B (zh) 一种用于星载软件的在轨编程系统、方法及电路
CN108920480B (zh) 一种文件系统异常的处理方法及设备、计算机存储介质
CN112883384B (zh) 一种强鲁棒性的嵌入式计算机引导加载程序的保护方法
CN113687871B (zh) 一种星载微处理器启动防死锁方法及装置
CN113330411B (zh) 一种存储控制器和数据搬迁监测方法
CN217825010U (zh) 通信测试系统
CN112905112B (zh) 一种嵌入式设备的数据处理方法及系统
CN116225784B (zh) 应用程序引导备份方法、单片机、计算机可读存储介质
US11847467B2 (en) Boot method for embedded system including first and second baseboard management controller (BMC) and operating system (OS) image file using shared non-volatile memory module
CN107741966A (zh) 一种节点管理方法及装置
KR100735273B1 (ko) 교환시스템의 계층적 이미지 다운 로딩 시스템 및 방법

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