CN113641381A - Dsp固件远程升级装置、方法及工业机器人 - Google Patents
Dsp固件远程升级装置、方法及工业机器人 Download PDFInfo
- Publication number
- CN113641381A CN113641381A CN202110842726.XA CN202110842726A CN113641381A CN 113641381 A CN113641381 A CN 113641381A CN 202110842726 A CN202110842726 A CN 202110842726A CN 113641381 A CN113641381 A CN 113641381A
- Authority
- CN
- China
- Prior art keywords
- dsp
- firmware
- upgrading
- package
- remote
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Abstract
本申请涉及一种DSP固件远程升级装置、方法及工业机器人,DSP固件远程升级装置包括远距离通信模块和SOC芯片,SOC芯片包括RAM模块和FPGA模块,RAM模块与FPGA模块连接,RAM模块与远距离通信模块连接,用于通过远距离通信模块连接外部服务器,以从外部服务器获取DSP固件升级包,FPGA模块用于生成GPMC接口,FPGA模块通过GPMC接口与DSP连接,以将DSP固件升级包传输至DSP,不需要专业技术人员到现场即可实现远程升级,通过GPMC接口传输DSP固件升级可以使升级效率高、升级速度快,并且,远距离通信模块可以覆盖整个工业园区,从而保证工业园区内所有工业机器人都可以快速升级,减少生产线的停工时间,提升用户体验。
Description
技术领域
本申请属于工业机器人技术领域,具体涉及一种DSP固件远程升级装置、方法及工业机器人。
背景技术
随着电子技术的发展,工业机器人正朝着数字化、智能化的方向飞速发展,现阶段工业机器人的工控板主要包括ARM、FPGA和DSP。DSP主要用于复杂控制算法运算,升级的频次较高。传统的升级方法是由PC上位机通过串口发送升级DSP固件包至Flash中完成升级,这种方法需要专业技术人员到场、无法进行远程升级,效率低下,升级速度慢,机器人停机时间长,严重影响企业的生产加工,在日益激烈的竞争环境中已不能满足客户需求。
相关技术中,在RAM端利用WiFi下载升级包,然后直接通过双口RAM传输DSP固件包至Flash中对DSP固件进行远程升级,以提高工业机器人中DSP固件升级效率。但这种方式由于工业机器人设置在工业园区多个位置,工业园区面积较大,WiFi覆盖范围受到限制,致使有些工业机器人因无法连接WiFi网络而无法进行远程升级或升级失败;另一方面,由于RAM和FPGA集成在一个集成芯片中,而DSP外挂在集成芯片上,因此,使用双口RAM向外挂的DSP传输升级DSP固件包时,传输速率慢,影响升级效率。
发明内容
为至少在一定程度上克服利用WiFi升级,使用双口RAM传输升级DSP固件包时,无法进行远程升级或升级效率低的问题,本申请提供一种DSP固件远程升级装置、方法及工业机器人。
第一方面,本申请提供一种DSP固件远程升级装置,包括:
远距离通信模块、SOC芯片和DSP;
所述SOC芯片包括RAM模块和FPGA模块,所述RAM模块与FPGA模块连接;
所述RAM模块与所述远距离通信模块连接,用于通过所述远距离通信模块连接外部服务器,以从所述外部服务器获取DSP固件升级包;
所述FPGA模块用于生成GPMC接口,所述FPGA模块通过所述GPMC接口与所述DSP连接,以将DSP固件升级包传输至所述DSP。
进一步的,所述SOC芯片,还包括:
总线AXI4,所述RAM模块与FPGA模块通过所述总线AXI4连接。
进一步的,所述远距离通信模块为5G通信模块。
进一步的,所述DSP内部包括:
Flash,Flash包括BOOT分区和固件分区;
所述BOOT分区用于存放Bootloader程序,所述Bootloader程序用于擦除固件分区并置固件无效标记;
所述固件分区用于存放所述DSP升级固件包。
进一步的,所述DSP内部还包括:
校验模块,用于对所述DSP升级固件包,和/或,对所述DSP升级固件包传输过程进行校验。
进一步的,所述SOC芯片还包括:
EMMC,所述EMMC用于存放文件系统,所述文件系统包括U-boot文件、DSP_update.bin文件和Linux镜像文件。
第二方面,本申请提供一种DSP固件远程升级方法,包括:
通过远距离通信模块从外部服务器获取DSP升级固件包;
将DSP升级固件包通过GPMC接口传输至DSP,以使所述DSP根据所述DSP升级固件包进行远程升级。
进一步的,还包括:
通过FPGA模块模拟生成GPMC接口。
进一步的,所述通过FPGA模块模拟生成GPMC接口,包括:
通过FPGA硬件开发环境Vivado中自定义一个GPMC IP核;
在GPMC IP核中模拟生成标准的GPMC引脚端口。
进一步的,还包括:
对所述DSP升级固件包进行校验。
进一步的,所述对所述DSP升级固件包进行校验,包括:
使用MD5算法和/或SHA256算法对所述DSP升级固件包进行校验。
进一步的,还包括:
制作DSP升级固件包,具体包括:
在Ubuntu系统上通过执行shell指令“md5sum固件名”计算出DSP固件的全文件MD5值;
创建MD5.txt文本,将所述MD5值存放在MD5.txt中;
将DSP固件和MD5.txt一起进行zip压缩,生成DSP升级固件包。
进一步的,所述DSP根据所述DSP升级固件包进行远程升级,包括:
接收所述DSP升级固件包;
对所述DSP升级固件包传输过程进行校验;
若校验通过,擦除固件分区并置固件无效标记;
将所述DSP升级固件包写入中固件分区,置固件有效标记。
进一步的,所述擦除固件分区并置固件无效标记,包括:
发送复位指令使DSP进入Bootloader状态;
在Bootloader状态下,发送Flash擦除指令,使用Bootloader文件擦除固件分区并置固件无效标记。
进一步的,所述接收所述DSP升级固件包,包括:
创建一个空的DSP.zip文件;
利用AXI4总线和GPMC接口接收DSP升级固件包;
将接收到的DSP升级固件包通过应用层API接口write函数写进空的DSP.zip文件。
进一步的,所述对所述DSP升级固件包传输数据进行校验,包括:
在传输前为所述DSP升级固件包生成第一CRC校验码,以在接收所述DSP升级固件包同时接收所述第一CRC校验码;
计算接收到的所述DSP升级固件包的第二CRC校验码;
判断所述第一CRC校验码和所述第二CRC校验码;
若相同,校验通过。
进一步的,还包括:
判断所述DSP升级固件包中DSP固件是否执行成功;
若是,升级完成;
否则,再次进入Bootloader状态。
第三方面,本申请提供一种工业机器人,包括:
处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如第二方面中任意一项所述的DSP固件远程升级方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本发明实施例提供的DSP固件远程升级装置、方法及工业机器人,DSP固件远程升级装置包括远距离通信模块、SOC芯片和DSP,SOC芯片包括RAM模块和FPGA模块,RAM模块与FPGA模块连接,RAM模块与远距离通信模块连接,用于通过远距离通信模块连接外部服务器,以从外部服务器获取DSP固件升级包,FPGA模块用于生成GPMC接口,FPGA模块通过GPMC接口与DSP连接,以将DSP固件升级包传输至DSP,不需要专业技术人员到现场即可实现远程升级,通过GPMC接口传输DSP固件升级可以使升级效率高、升级速度快,并且,远距离通信模块可以覆盖整个工业园区,从而保证工业园区内所有工业机器人都可以快速升级,减少生产线的停工时间,提升用户体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请一个实施例提供的一种DSP固件远程升级装置的功能结构图。
图2为本申请另一个实施例提供的一种DSP固件远程升级装置的功能结构图。
图3为本申请一个实施例提供的一种RAM模块的功能结构图。
图4为本申请一个实施例提供的一种DSP中Flash的功能结构图。
图5为本申请一个实施例提供的一种DSP固件远程升级方法的流程图。
图6为本申请另一个实施例提供的一种DSP固件远程升级方法的流程图。
图7为本申请一个实施例提供的另一种DSP固件远程升级方法的流程图。
图8为本申请一个实施例提供的再一种DSP固件远程升级方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将对本申请的技术方案进行详细的描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本申请所保护的范围。
图1为本申请一个实施例提供的DSP固件远程升级装置的功能结构图,如图1所示,该DSP固件远程升级装置,包括:
远距离通信模块1、SOC芯片2和DSP 6;
SOC芯片2包括RAM模块3和FPGA模块4,RAM模块3与FPGA模块4连接;
RAM模块3与远距离通信模块1连接,用于通过远距离通信模块1连接外部服务器,以从外部服务器获取DSP固件升级包;
FPGA模块4用于生成GPMC接口5,FPGA模块用于生成GPMC接口,FPGA模块通过GPMC接口6与DSP 6连接,以将DSP固件升级包传输至DSP 6。
GPMC接口是DSP、FPGA、ARM都支持的一种高速数据传输接口,可以加快FPGA与DSP进行数据交互速度。
传统DSP固件远程升级方法中,在RAM端利用WiFi下载升级包,然后直接通过双口RAM传输DSP固件包至Flash中对DSP固件进行远程升级,以提高工业机器人中DSP固件升级效率。但这种方式由于工业机器人设置在工业园区多个位置,工业园区面积较大,WiFi覆盖范围受到限制,致使有些工业机器人因无法连接WiFi网络而无法进行远程升级或升级失败;另一方面,由于RAM和FPGA集成在一个集成芯片中,而DSP外挂在集成芯片上,因此,使用双口RAM向外挂的DSP传输升级DSP固件包时,传输速率慢,影响升级效率。
本实施例中,DSP固件远程升级装置包括远距离通信模块和SOC芯片,SOC芯片包括RAM模块和FPGA模块,RAM模块与FPGA模块连接,RAM模块与远距离通信模块连接,用于通过远距离通信模块连接外部服务器,以从外部服务器获取DSP固件升级包,FPGA模块用于生成GPMC接口,以使DSP固件升级包通过GPMC接口传输至DSP,不需要专业技术人员到现场即可实现远程升级,通过GPMC接口传输DSP固件升级可以使升级效率高、升级速度快,并且,远距离通信模块可以覆盖整个工业园区,从而保证工业园区内所有工业机器人都可以快速升级,减少生产线的停工时间,提升用户体验。
本发明实施例提供另一种DSP固件远程升级装置,如图2所示的功能结构图,在上一实施例基础上,该DSP固件远程升级装置,还包括:
SOC芯片2还包括:
总线AXI4 7,RAM模块3与FPGA模块4通过总线AXI4 7连接。
总线AXI4 7主要面向高性能地址映射通信的需求,实现RAM模块3与FPGA模块4之间DSP固件升级包高速传输,从而加快升级速度。
SOC芯片2还包括:
EMMC 8,EMMC(Embedded Multi Media Card)是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。EMMC用于存放文件系统,如图3所示,文件系统包括U-boot文件、DSP_update.bin文件和Linux镜像文件。
系统上电后从U-boot开始执行,然后启动内核Linux镜像文件,待内核初始化完成后在文件系统的启动脚本/etc/initab中自动加载执行升级进程DSP_update.bin。
远距离通信模块1例如为5G通信模块。不仅可以保证覆盖到工业园区内所有工业机器人,还可以进一步提高DSP固件升级包从外部服务器的下载速度。
如图4所示,DSP6内部包括:
Flash,Flash包括BOOT分区和固件分区;
BOOT分区用于存放Bootloader程序,Bootloader程序用于擦除固件分区并置固件无效标记;
固件分区用于存放DSP升级固件包。
DSP内部还包括:
校验模块,用于对DSP升级固件包,和/或,对DSP升级固件包传输过程进行校验。
一些实施例中,在DSP固件升级前先将DSP固件升级包上行至服务器,服务器端通过5G互联网将升级请求推送至相应IP的工业机器人,在机器人接收到推送的升级提示后,同意升级即可进入升级模式。工业机器人RAM(Linux系统)端开始与服务器进行交互下载DSP固件升级包,并对升级包的完整性进行校验。最后通过SOC片内总线AXI4和高速数据传输接口GPMC将DSP固件升级包传输至DSP片内Flash的固件分区中,从而完成DSP固件远程升级。
本实施例中,利用处理器核间总线AXI4进行数据传输,通过FPGA模拟出高速数据交互接口GPMC同DSP进行通讯,将DSP片内Flash进行分区并定制一个专用于DSP固件升级的Bootloader程序,极大地提高了DSP固件的升级速度和可靠性。
本发明实施例提供一种DSP固件远程升级方法,如图5所示的流程图,该DSP固件远程升级方法包括:
S51:通过远距离通信模块从外部服务器获取DSP升级固件包;
S52:将DSP升级固件包通过GPMC接口传输至DSP,以使DSP根据DSP升级固件包进行远程升级。
本实施例中,通过远距离通信模块从外部服务器获取DSP升级固件包,将DSP升级固件包通过GPMC接口传输至DSP,以使DSP根据DSP升级固件包进行远程升级,因此,不需要专业技术人员到现场即可实现远程升级,通过GPMC接口传输DSP固件升级可以使升级效率高、升级速度快,并且,远距离通信模块可以覆盖整个工业园区,从而保证工业园区内所有工业机器人都可以快速升级,减少生产线的停工时间,提升用户体验。
一些实施例中,如图6所示,该DSP固件远程升级方法包括:
S61:制作DSP升级固件包,如图7所示,具体包括:
S611:在Ubuntu系统上通过执行shell指令“md5sum固件名”计算出DSP固件的全文件MD5值;
S612:创建MD5.txt文本,将所述MD5值存放在MD5.txt中;
S613:将DSP固件和MD5.txt一起进行zip压缩,生成DSP升级固件包。
S62:通过远距离通信模块从外部服务器获取DSP升级固件包;
S63:对DSP升级固件包进行校验。
一些实施例中,对DSP升级固件包进行校验,包括:
使用MD5算法和/或SHA256算法对所述DSP升级固件包进行校验。
S64:通过FPGA模块模拟生成GPMC接口。
一些实施例中,通过FPGA模块模拟生成GPMC接口,具体包括:
S641:通过FPGA硬件开发环境Vivado中自定义一个GPMC IP核;
S642:在GPMC IP核中模拟生成标准的GPMC引脚端口。
S65:将DSP升级固件包通过GPMC接口传输至DSP,以使DSP根据DSP升级固件包进行远程升级。
一些实施例中,DSP根据所述DSP升级固件包进行远程升级,包括:
S651:接收DSP升级固件包;
一些实施例中,接收DSP升级固件包,包括:
S6511:创建一个空的DSP.zip文件;
S6512:利用AXI4总线和GPMC接口接收DSP升级固件包;
S6513:将接收到的DSP升级固件包通过应用层API接口write函数写进空的DSP.zip文件。
S652:对DSP升级固件包传输过程进行校验;
一些实施例中,对DSP升级固件包传输数据进行校验,包括:
S6521:在传输前为所述DSP升级固件包生成第一CRC校验码,以在接收所述DSP升级固件包同时接收所述第一CRC校验码;
S6522:计算接收到的所述DSP升级固件包的第二CRC校验码;
S6523:判断所述第一CRC校验码和所述第二CRC校验码;
S6524:若相同,校验通过。
S653:若校验通过,擦除固件分区并置固件无效标记;
一些实施例中,擦除固件分区并置固件无效标记,包括:
S4531:发送复位指令使DSP进入Bootloader状态;
S4532:在Bootloader状态下,发送Flash擦除指令,使用Bootloader文件擦除固件分区并置固件无效标记。
S654:将DSP升级固件包写入中固件分区,置固件有效标记。
S66:判断DSP升级固件包中DSP固件是否执行成功;
S67:若是,升级完成;
S68:否则,再次进入Bootloader状态。
具体的,如图8所示,服务器将DSP固件升级请求推送至指定IP地址的工业机器人。当DSP端接受升级时,服务器升级程序开始向机器人升级进程推送升级包。升级进程DSP_update接收升级包的方法,可以通过创建一个空的DSP.zip文件,然后再将接收到的数据通过应用层API接口write函数写进空的DSP.zip文件中,进而逐步接收完所有的升级包文件。
升级包接收完成后,升级进程解压DSP.zip。在升级进程中实现有MD5算法,升级进程再次计算所接收的DSP固件的MD5值,若计算出的值等于MD5.txt中的值,则校验通过,进入DSP升级模式,否则删除接收的升级包。
若校验通过,升级进程发送复位指令使DSP进入Bootloader状态,接着升级进程发送Flash擦除指令,Bootloader擦除固件分区并置固件无效标记。DSP上电后从Bootloader开始运行,当判断固件标记有效时,就跳转去执行固件分区中的应用程序。固件标记在Bootloader中就是一个全局变量,等于1表示固件有效,等于0表示固件无效。
然后升级进程利用AXI4总线和GPMC接口发送DSP固件和计算好的固件CRC校验码。Bootloader接收完DSP固件后再次计算CRC校验码并与接收的校验码比较,若通过CRC校验后,则将固件写入相应分区并置固件有效标记并跳转去执行DSP固件。若新固件启动成功,则升级完成,否则再次进入Bootloader状态,可重新进行升级。
本实施例中,不需要专业技术人员到现场升级,具有效率高、升级速度快的优点,从而降低了人力成本,减少了生产线的停工时间,提升了用户体验;可以加快新产品推出的进度,在产品使用的过程中继续测试和纠正问题,达到快速抢占市场的目的。
本发明实施例提供一种工业机器人,包括:
处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如上述实施例所述的DSP固件远程升级方法。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本申请的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是指至少两个。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
需要说明的是,本发明不局限于上述最佳实施方式,本领域技术人员在本发明的启示下都可得出其他各种形式的产品,但不论在其形状或结构上作任何变化,凡是具有与本申请相同或相近似的技术方案,均落在本发明的保护范围之内。
Claims (18)
1.一种DSP固件远程升级装置,其特征在于,包括:
远距离通信模块、SOC芯片和DSP;
所述SOC芯片包括RAM模块和FPGA模块,所述RAM模块与FPGA模块连接;
所述RAM模块与所述远距离通信模块连接,用于通过所述远距离通信模块连接外部服务器,以从所述外部服务器获取DSP固件升级包;
所述FPGA模块用于生成GPMC接口,所述FPGA模块通过所述GPMC接口与所述DSP连接,以将所述DSP固件升级包传输至所述DSP。
2.根据权利要求1所述的DSP固件远程升级装置,其特征在于,所述SOC芯片,还包括:
总线AXI4,所述RAM模块与FPGA模块通过所述总线AXI4连接。
3.根据权利要求1所述的DSP固件远程升级装置,其特征在于,所述远距离通信模块为5G通信模块。
4.根据权利要求1所述的DSP固件远程升级装置,其特征在于,所述DSP内部包括:
Flash,Flash包括BOOT分区和固件分区;
所述BOOT分区用于存放Bootloader程序,所述Bootloader程序用于擦除固件分区并置固件无效标记;
所述固件分区用于存放所述DSP升级固件包。
5.根据权利要求4所述的DSP固件远程升级装置,其特征在于,所述DSP内部还包括:
校验模块,用于对所述DSP升级固件包,和/或,对所述DSP升级固件包传输过程进行校验。
6.根据权利要求1所述的DSP固件远程升级装置,其特征在于,所述SOC芯片还包括:
EMMC,所述EMMC用于存放文件系统,所述文件系统包括U-boot文件、DSP_update.bin文件和Linux镜像文件。
7.一种DSP固件远程升级方法,其特征在于,包括:
通过远距离通信模块从外部服务器获取DSP升级固件包;
将DSP升级固件包通过GPMC接口传输至DSP,以使所述DSP根据所述DSP升级固件包进行远程升级。
8.根据权利要求7所述的DSP固件远程升级方法,其特征在于,还包括:
通过FPGA模块模拟生成GPMC接口。
9.根据权利要求8所述的DSP固件远程升级方法,其特征在于,所述通过FPGA模块模拟生成GPMC接口,包括:
通过FPGA硬件开发环境Vivado中自定义一个GPMC IP核;
在GPMC IP核中模拟生成标准的GPMC引脚端口。
10.根据权利要求7所述的DSP固件远程升级方法,其特征在于,还包括:
对所述DSP升级固件包进行校验。
11.根据权利要求10所述的DSP固件远程升级方法,其特征在于,所述对所述DSP升级固件包进行校验,包括:
使用MD5算法和/或SHA256算法对所述DSP升级固件包进行校验。
12.根据权利要求7所述的DSP固件远程升级方法,其特征在于,还包括:
制作DSP升级固件包,具体包括:
在Ubuntu系统上通过执行shell指令“md5sum固件名”计算出DSP固件的全文件MD5值;
创建MD5.txt文本,将所述MD5值存放在MD5.txt中;
将DSP固件和MD5.txt一起进行zip压缩,生成DSP升级固件包。
13.根据权利要求7所述的DSP固件远程升级方法,其特征在于,所述DSP根据所述DSP升级固件包进行远程升级,包括:
接收所述DSP升级固件包;
对所述DSP升级固件包传输过程进行校验;
若校验通过,擦除固件分区并置固件无效标记;
将所述DSP升级固件包写入中固件分区,置固件有效标记。
14.根据权利要求13所述的DSP固件远程升级方法,其特征在于,所述擦除固件分区并置固件无效标记,包括:
发送复位指令使DSP进入Bootloader状态;
在Bootloader状态下,发送Flash擦除指令,使用Bootloader文件擦除固件分区并置固件无效标记。
15.根据权利要求13所述的DSP固件远程升级方法,其特征在于,所述接收所述DSP升级固件包,包括:
创建一个空的DSP.zip文件;
利用AXI4总线和GPMC接口接收DSP升级固件包;
将接收到的DSP升级固件包通过应用层API接口write函数写进空的DSP.zip文件。
16.根据权利要求13所述的DSP固件远程升级方法,其特征在于,所述对所述DSP升级固件包传输数据进行校验,包括:
在传输前为所述DSP升级固件包生成第一CRC校验码,以在接收所述DSP升级固件包同时接收所述第一CRC校验码;
计算接收到的所述DSP升级固件包的第二CRC校验码;
判断所述第一CRC校验码和所述第二CRC校验码;
若相同,校验通过。
17.根据权利要求14所述的DSP固件远程升级方法,其特征在于,还包括:
判断所述DSP升级固件包中DSP固件是否执行成功;
若是,升级完成;
否则,再次进入Bootloader状态。
18.一种工业机器人,其特征在于,包括:
处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求7至17中任意一项所述的DSP固件远程升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842726.XA CN113641381A (zh) | 2021-07-26 | 2021-07-26 | Dsp固件远程升级装置、方法及工业机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110842726.XA CN113641381A (zh) | 2021-07-26 | 2021-07-26 | Dsp固件远程升级装置、方法及工业机器人 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113641381A true CN113641381A (zh) | 2021-11-12 |
Family
ID=78418312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110842726.XA Pending CN113641381A (zh) | 2021-07-26 | 2021-07-26 | Dsp固件远程升级装置、方法及工业机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641381A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567550A (zh) * | 2022-01-26 | 2022-05-31 | 山东云海国创云计算装备产业创新中心有限公司 | 一种用于智能网卡中fpga的固件升级方法和装置 |
CN115729601A (zh) * | 2022-11-25 | 2023-03-03 | 中机试验装备股份有限公司 | 一种固件更新方法、装置、设备及计算机可读存储介质 |
-
2021
- 2021-07-26 CN CN202110842726.XA patent/CN113641381A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114567550A (zh) * | 2022-01-26 | 2022-05-31 | 山东云海国创云计算装备产业创新中心有限公司 | 一种用于智能网卡中fpga的固件升级方法和装置 |
CN115729601A (zh) * | 2022-11-25 | 2023-03-03 | 中机试验装备股份有限公司 | 一种固件更新方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110597542B (zh) | 软件自动ota升级方法及装置、电子设备 | |
CN108650287B (zh) | 物联网中的终端设备的升级方法、设备及计算机可读介质 | |
CN113641381A (zh) | Dsp固件远程升级装置、方法及工业机器人 | |
JP5838527B2 (ja) | ファームウェアを更新するための方法、装置、および通信デバイス | |
US11074083B2 (en) | Fast loading kernel image file for booting | |
KR20070077463A (ko) | 컴퓨터 시스템 초기화 방법과 초기화 코드 로딩 방법 및dram 디바이스와 이를 포함하는 내장형 시스템 | |
CN103198042A (zh) | Pci航空串行总线板卡及实现动态加载数据处理方法 | |
CN112131147B (zh) | 一种控制器验证方法、装置、系统、电子设备及存储介质 | |
CN111538521A (zh) | 智能合约部署、交易方法及装置 | |
CN106598692A (zh) | 在逻辑卷中创建镜像文件、虚拟机启动方法及服务器 | |
CN109639446A (zh) | Fpga设备、基于fpga设备的云系统 | |
US20210240491A1 (en) | System and method for runtime synchronization and authentication of pre-boot device drivers for a rescue operating system | |
CN108762797A (zh) | 一种ssd固件在线更新方法、系统及ssd | |
CN110825419B (zh) | 一种固件刷新方法、装置及电子设备和存储介质 | |
CN109951553B (zh) | 数据处理方法、系统、电子设备以及计算机可读存储介质 | |
CN110875850A (zh) | 一种固件升级方法、系统、可读存储介质及终端设备 | |
CN110399173A (zh) | 一种基于risc-v处理器的系统及其系统启动方法 | |
CN104461589A (zh) | 单片机升级方法及升级系统 | |
CN112231005A (zh) | 一种基于uboot管理fpga版本的方法 | |
US8150670B2 (en) | Simulator and simulation method | |
CN116700765A (zh) | 伺服驱动器的固件升级方法及装置、伺服驱动器 | |
WO2023060893A1 (zh) | 存储空间管理方法、装置、设备及存储介质 | |
US10445218B2 (en) | Execution of graphic workloads on a simulated hardware environment | |
CN113672260B (zh) | 一种处理器cpu初始化方法 | |
US20080256348A1 (en) | Method for configuration of a processing unit |
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 |