CN111506333B - 一种双dsp程序在线升级方法及系统 - Google Patents
一种双dsp程序在线升级方法及系统 Download PDFInfo
- Publication number
- CN111506333B CN111506333B CN202010345827.1A CN202010345827A CN111506333B CN 111506333 B CN111506333 B CN 111506333B CN 202010345827 A CN202010345827 A CN 202010345827A CN 111506333 B CN111506333 B CN 111506333B
- Authority
- CN
- China
- Prior art keywords
- dsp
- data
- flash
- instruction
- sdram
- 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
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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种双DSP程序在线升级方法及系统,其中,上位机获取主或从DSP的升级程序,根据预设的通讯协议将其封装成数据组,将升级指令和所述多个数据组依次发送给主DSP,特殊的,从DSP升级时,由主DSP将收到的上位机升级指令和所述多个数据组转发给从DSP。主或从DSP程序升级过程中,依据SDRAM数据写入、校验指令将多个数据组成功写入SDRAM,依据FLASH擦除、写入指令完成FLASH的擦除、写入操作。上述操作完成后,主DSP依据FLASH回读指令进行主DSP FLASH回读操作,完成主DSP程序在线升级;从DSP依据FLASH校验指令执行从DSP FLASH校验操作,完成从DSP程序在线升级,避免传统在线升级模式下异常断电或由于FLASH异常操作带来的风险。
Description
技术领域
本发明属于DSP芯片升级领域,具体涉及一种双DSP程序在线升级方法及系统。
背景技术
DSP(Digital Signal Processing)即数字信号处理技术,DSP芯片即指能够实现数字信号处理技术的芯片,DSP芯片的内部采用程序和数据分开的哈佛结构,具有专门的硬件乘法器,广泛采用流水线操作,提供特殊的DSP指令,可以用来快速的实现各种数字信号处理算法。FPGA(Field Programmable Gate Array),属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。
目前,在DSP嵌入式控制系统的研究中,单机或系统联试的情况下,软件需要实时进行在线升级。传统的开发模式下,FLASH时序参数固化在升级模块中,且在与上位机即时通讯的过程中直接基于FLASH进行软件的擦除、烧写及回读、校验。一旦出现断电或FLASH擦写的异常操作,存放软件的地址空间将部分或全部恢复为初始状态,且随机存储器RAM或SDRAM中数据无法恢复,将不能再与RAM、SDRAM中的软件进行即时通讯,无法进行后续升级操作,给型号研制与管理带来了不便。随着对军用研制软件项目的安全性和可靠性的要求,能够研制一种可靠的软件在线升级方法成为迫切需求。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种双DSP程序在线升级方法,其通过SDRAM的数据写入、校验,FLASH的擦除、写入、回读和校验,实现待升级硬件系统的升级操作,旨在避免传统在线升级模式中异常断电或由于FLASH异常操作带来的风险。
为实现上述目的,按照本发明的一个方面,提供了一种双DSP程序在线升级方法,该方法包括如下步骤:
上位机获取主或从DSP的升级程序,根据预设的通讯协议将其封装成数据组,将升级指令和所述多个数据组依次发送给主DSP,升级指令包括SDRAM数据写入指令、SDRAM数据校验指令、FLASH擦除指令、FLASH写入指令、FLASH回读指令和FLASH校验指令;
主DSP依据升级指令判断主DSP或从DSP升级;
主DSP程序升级时,主DSP依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组成功写入主DSP的SDRAM;主DSP依据FLASH擦除指令对FLASH进行擦除;主DSP依据FLASH写入指令将写入SDRAM的数据依次写入FLASH的擦除扇区,主DSP依据FLASH回读指令将FLASH中的数据信息分组,依次发送给上位机,由上位机与本地升级数据组进行判读,依据各数据组判读结果完成主DSP升级操作;
从DSP程序升级时,主DSP将升级指令和多个数据组依次转发给从DSP;从DSP依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组成功写入从DSP的SDRAM;从DSP依据FLASH擦除指令对FLASH进行擦除;从DSP依据FLASH写入指令将写入SDRAM的数据依次写入FLASH的擦除扇区;从DSP依据FLASH校验指令将FLASH写入的数据信息进行校验,并将校验结果发送给主DSP,由主DSP将校验结果转发给上位机进行判读,依据判读结果完成从DSP升级操作。
作为本发明的进一步改进,将多个数据组依次写入主DSP或从DSP的SDRAM具体为:
主DSP程序在线升级时,主DSP依据SDRAM数据写入指令以及当前接收的数据组内容,将数据写入SDRAM,并将其校验值上报给上位机,上位机对结果进行判读,通过则发送下一数据组,否则重新发送SDRAM数据写入指令以及当前数据组。主DSP依据SDRAM数据校验指令对写入SDRAM中的所有数据进行校验,并将校验值上报给上位机,由上位机对校验值进行判断,通过则完成主DSP SDRAM数据写入及校验操作。
从DSP程序在线升级时,主DSP SDRAM写入从DSP程序并校验成功后,从DSP依据数SDRAM数据写入指令以及当前接收的数据组内容,将数据写入SDRAM,并将其校验值发送给主DSP,主DSP对结果与其缓存模块的对应数据组校验值进行判读,通过则发送下一数据组,否则重新发送SDRAM数据写入指令以及当前数据组的内容。从DSP依据SDRAM数据校验指令对写入其SDRAM中的所有数据进行校验,并将校验值发送给主DSP,由主DSP对校验值和写入其SDRAM的全部数据信息的校验值进行判断,并将判断结果转发至上位机,通过则完成从DSP SDRAM数据写入及校验操作。
作为本发明的进一步改进,FLASH擦除指令依据在线升级数据包的文件类型、大小及擦除时序参数生成。
作为本发明的进一步改进,FLASH写入指令依据在线升级数据包的文件类型、大小及写入时序参数生成。
作为本发明的进一步改进,主DSP依据FLASH回读指令将FLASH写入的数据信息分组发送给上位机,由上位机对接收的当前组数据信息进行判读,并将结果发送给主DSP,通过则读取下一组数据,直至所有数据组回读成功。
作为本发明的进一步改进,从DSP依据FLASH数据校验指令将FLASH写入的数据进行校验,并将校验的结果发送给所述主DSP,主DSP将校验结果转发给上位机,上位机依据判读结果完成从DSP软件升级操作。
作为本发明的进一步改进,利用FPGA实现主DSP与从DSP之间、主DSP与上位机之间的串口通信,串口通信的数据帧格式包括帧头、数据帧长度、数据内容和数据校验。
为实现上述目的,按照本发明的另一个方面,提供了一种双DSP程序在线升级系统,该系统包括上位机、FPGA、主DSP、从DSP、主DSP SDRAM、从DSP SDRAM、主DSP FLASH和从DSP FLASH,其中,
上位机用于获取主DSP或从DSP的升级程序,根据预设的通讯协议将其封装成数据组,将升级指令和所述多个数据组依次发送给主DSP,升级指令包括SDRAM数据写入指令、SDRAM数据校验指令、FLASH擦除指令、FLASH写入指令、FLASH回读指令和FLASH校验指令;
主DSP用于依据升级指令判断主DSP升级或从DSP升级,主DSP程序升级时,依据SDRAM数据写入指令和校验指令,将多个数据组成功写入所述主DSP的SDRAM,依据FLASH擦除指令对FLASH进行擦除,依据FLASH写入指令将写入SDRAM的数据依次写入FLASH,依据FLASH回读指令将FLASH写入的数据信息分组,并依次发送给上位机,由上位机对分组信息进行判读,依据判读结果完成主DSP升级操作;从DSP程序升级时,主DSP将升级指令和多个数据组依次转发给从DSP;
主DSP还用于将从DSP的校验结果转发给上位机进行判读,依据判读结果完成从DSP升级操作;
从DSP用于依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组成功写入所述从DSP的SDRAM;依据FLASH擦除指令对FLASH进行擦除;依据FLASH写入指令依据将写入SDRAM的数据写入FLASH的擦除扇区;依据FLASH校验指令将FLASH写入的全部数据信息进行校验,并将校验结果发送给所述主DSP。
为实现上述目的,按照本发明的另一个方面,提供了一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得处理单元执行上述方法的步骤。
为实现上述目的,按照本发明的另一个方面,提供了一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行上述方法的步骤。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
本发明的一种双DSP程序在线升级方法,其分别通过SDRAM数据写入指令、SDRAM数据校验指令、FLASH擦除指令、FLASH写入指令、FLASH回读指令和FLASH校验指令,实现SDRAM的数据写入、校验,FLASH的擦除、写入、回读和校验,以实现待升级硬件系统的在线升级操作,从而避免传统在线升级模式中异常断电或由于FLASH异常操作带来的风险,保障程序升级的正确率与可靠性。
本发明的一种双DSP程序在线升级方法,其FLASH的数据擦除时序参数及写入时序参数均由上位机软件实时上传至主DSP或从DSP的软件升级模块中,避免了由于上电程序指针指向未知区域造成的FLASH误擦除或写入所带来的风险。
本发明的一种双DSP程序在线升级方法,其通过模块化的FPGA实现上位机和DSP之间的通信,从而可以满足双DSP加FPGA的硬件平台基础上的软件在线升级功能需要。
附图说明
图1是本发明实施例的一种双DSP程序在线升级方法的示意图;
图2是本发明实施例的利用FPGA的一种具体实施方式的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面结合具体实施方式对本发明进一步详细说明。
图1是本发明实施例的一种双DSP程序在线升级方法的示意图。如图1所示,一种双DSP程序在线升级方法,该方法包括如下步骤:
上位机获取主或从DSP的升级程序,根据预设的通讯协议将其封装成数据组,将所述数据组划分为多个数据组,并将升级指令和所述多个数据组依次发送给主DSP,升级指令包括SDRAM数据写入指令、SDRAM数据校验指令、FLASH擦除指令、FLASH写入指令、FLASH回读指令和FLASH校验指令;
主DSP依据升级指令判断主DSP升级或从DSP升级;
主DSP程序在线升级时,主DSP依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组成功写入主DSP的SDRAM;主DSP依据FLASH擦除指令对FLASH进行擦除;主DSP依据FLASH写入指令将写入SDRAM的数据依次写入FLASH的擦除扇区,主DSP依据FLASH回读指令将FLASH写入的数据信息分组,并依次发送给上位机,由上位机与本地升级数据组进行判读,依据判读结果完成主DSP升级操作;
从DSP程序在线升级时,主DSP将升级指令和多个数据组依次转发给从DSP;从DSP依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组成功写入从DSP的SDRAM;从DSP依据FLASH擦除指令对FLASH进行擦除;从DSP依据FLASH写入指令将写入SDRAM的数据依次写入FLASH的擦除扇区;从DSP依据FLASH校验指令将FLASH写入的数据信息进行校验,并将校验结果发送给主DSP,主DSP将校验结果转发给上位机进行判读,依据判读结果完成从DSP升级操作。
作为一个优选的方案,将多个数据组依次写入主或从DSP的SDRAM具体为:
上位机向主DSP发出SDRAM写入指令。主DSP响应该条指令,接收上位机发送的数据组及数据组信息,在SDRAM的固定起始地址依次写入每一组的信息,并将该组的校验结果发送给上位机。上位机判读完成后,将结果按照批传输数据组回应帧格式发送给主DSP。若判读错误,则上位机显示数据校验错误,并重新发送缓存数据写入指令及该组数据信息。若判读正确无误,主DSP等待上位机发送下一组数据信息,并写入下一组数据;每一组的数据信息全部成功写入后,上位机给主DSP发送SDRAM数据校验指令;主DSP响应该条指令,按照文件大小将SDRAM地址内写入的数据依次进行CRC校验,并将校验值发送给上位机;上位机接收到该条命令回应,并将上传数据的校验值与收到的校验值进行比较;若文件的校验比较一致,则认为主DSP SDRAM校验成功。
上位机向主DSP发出SDRAM写入及校验指令。主DSP响应该条指令,并成功完成主DSP SDRAM写入操作,并向从DSP发送SDRAM写入指令,从DSP响应该条指令,接收主DSP发送的数据组信息,在SDRAM的起始地址依次写入每一组的信息,并将该组的校验结果上报给主DSP判读。若判读错误,则主DSP向上位机发送数据校验错误指令,并向从DSP重新发送缓存数据写入或校验指令。若判读正确,则主DSP发送下一组数据信息,并由从DSP写入下一组数据;全部数据组信息写入完毕后,主DSP给从DSP发送SDRAM校验指令;从DSP响应该条指令,按照文件大小将SDRAM地址内写入的数据依次进行CRC校验,并将校验值发送给主DSP;主DSP接收到该条命令回应,并将升级数据的校验值与收到的校验值进行比较;若文件的校验比较一致,则认为从DSPSDRAM校验成功。
作为一个优选的方案,FLASH擦除指令依据在线升级数据帧的文件类型、大小及擦除时序参数生成。具体的,上位机向主DSP发送FLASH擦除指令,若主DSP程序升级,则主DSP响应该条指令,根据文件大小及擦除时序参数计算需要擦除的扇区数量,并根据文件类型,以及收到的时序参数,依次从FLASH固定扇区的起始地址擦除一定数量扇区;若从DSP程序升级,则主DSP依据固定的通讯协议将FLASH擦除指令转发给从DSP,从DSP根据文件大小及擦除时序参数计算需要擦除的扇区数量,并根据文件类型,以及收到的时序参数,依次从FLASH固定扇区的起始地址擦除一定数量扇区。
作为一个优选的方案,FLASH写入指令依据在线升级数据帧的文件类型、大小及写入时序参数生成。具体的,上位机向主DSP发送FLASH写入指令,若主DSP程序升级,则主DSP响应该条指令,根据文件类型、大小及写入时序参数依次将SDRAM中的数据写入FLASH相应起始地址后面的空间,每写入一个字节,从该地址的位置读出一个字节,并与写入字节的最高bit DQ7进行比较,待全部字节写入并比较一致,则认为主DSP FLASH写入成功。若从DSP程序升级,则主DSP依据固定的通讯协议将FLASH写入指令转发给从DSP,从DSP响应该条指令,根据文件类型、大小及写入时序参数依次将SDRAM中的数据写入FLASH相应起始地址后面的空间。每写入一个字节,从该地址的位置读出一个字节,并与写入字节的最高bit DQ7进行比较,待全部字节写入并比较一致,则认为从DSP FLASH写入成功。
作为一个优选的方案,主DSP依据FLASH回读指令将FLASH写入的数据信息进行分组并依次发送给上位机:上位机对接收的当前组的数据信息进行判读,校验通过则读取下一组数据,直至所有组数据回读成功。具体的,主DSP FLASH写入成功后,上位机向主DSP发送FLASH回读指令。主DSP响应该条指令根据文件大小及类型,将写入FLASH中的数据信息按照数据组格式发送给上位机。上位机接收到当前数据组信息后,将批传输数据组信息内的CRC校验与本地存储的文件中的每一组数据计算出的CRC校验进行比较,并将结果发送给主DSP。若判读正确,则主DSP读取下一组信息,待全部数据组信息传输并校验完毕。
作为一个优选的方案,从DSP依据主DSP转发的FLASH校验指令将FLASH写入的全部数据信息进行CRC校验,并将校验结果发送给主DSP,由主DSP将结果转发至上位机。具体的,从DSP FLASH写入成功后,上位机向主DSP发送FLASH校验指令。主DSP将数据校验指令转发给从DSP,从DSP响应该条指令根据文件大小及类型,将写入FLASH中的全部数据信息进行CRC校验,并将校验结果发送给主DSP,主DSP依据固定的通讯协议将校验结果转发至上位机,由上位机对校验结果进行判读完成从DSP升级操作。
作为一个优选的方案,双DSP包括主DSP和从DSP,从DSP与上位机之间通过主DSP进行通讯。具体的,上位机向主DSP发送FLASH校验指令,主DSP将该条指令转发至从DSP。从DSP根据文件类型及大小,计算写入FLASH中的全部数据信息的CRC校验值,并将结果发送给主DSP。由主DSP将校验内容转发到至上位机。若上位机将接收到的CRC校验与从DSP FLASH中写入文件的CRC校验判读正确,则认为从DSP FLASH校验成功。
图2是本发明实施例的利用FPGA的一种具体实施方式的示意图。如图2所示,作为一个优选的方案,可利用FPGA实现所述DSP和所述上位机之间的串口通信,串口通信的数据帧包括帧头、数据帧长度、数据内容和校验数据。具体的,上位机串口与主DSP串口间硬件上通过FPGA和串口隔离芯片电路实现数据的发送和接收。通过FPGA软件实现对串口可变数据帧内容和格式的检查。其中,数据帧格式为:帧头1/帧头2/数据帧长度(有效字节长度不超过255)/数据内容/数据校验。数据发送时,主或从DSP读取FPGA相应串口的状态寄存器的状态,若满足数据发送的要求,则将数据帧长度和内容填充至对应串口的Txbuff寄存器。填充完成后,改变FPGA对应串口模式寄存器的状态。FPGA软件将Txbuff寄存器的内容依次填充至到数据帧格式中,并自动添加帧头和校验部分,并通过串口电路将数据发送出去。发送完成后,自动识别对应串口模式寄存器的状态,并改变对应状态寄存器的内容。数据接收时,FPGA自动识别串口电路接收到的数据帧格式,并按照数据帧长度校验数据内容部分的正确性。待帧头和数据校验正确,将数据帧长度和内容填充至对应串口的Rxbuff寄存器中,等待dsp的周期性的读取操作。若FPGA相应串口状态寄存器的内容满足数据接收的状态,则依次从Rxbuff寄存器读取数据帧长度和内容部分。读取完成后,改变FPGA模式寄存器的内容,以便下次的读取操作。数据传输过程中,串口通讯格式为1位起始位,8位数据位,1位停止位,无奇偶校验位。传输时,先传低字节,后传高字节,每字节先传低位后传高位。
一种双DSP程序在线升级系统,该系统包括上位机、FPGA、主DSP、从DSP、FPGA、主DSP SDRAM、从DSP SDRAM、主DSP FLASH和从DSP FLASH,其中,
上位机用于获取主DSP或从DSP的升级程序,根据预设的通讯协议将其封装成数据组,将升级指令和所述多个数据组依次发送给主DSP,升级指令包括SDRAM数据写入指令、SDRAM数据校验指令、FLASH擦除指令、FLASH写入指令、FLASH回读指令和FLASH校验指令;
主DSP用于依据升级指令判断主DSP升级或从DSP升级,主DSP程序升级时,依据SDRAM数据写入指令和校验指令,将多个数据组成功写入所述主DSP的SDRAM,依据FLASH擦除指令对FLASH进行擦除,依据FLASH写入指令将写入SDRAM的数据依次写入FLASH,依据FLASH回读指令将FLASH写入的数据信息分组,并依次发送给上位机,由上位机与本地升级数据组进行判读,依据判读结果完成主DSP升级操作;从DSP程序升级时,主DSP将升级指令和多个数据组依次转发给从DSP;
主DSP还用于将从DSP的校验结果转发给上位机进行判读,依据判读结果完成从DSP升级操作;
从DSP用于依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组成功写入所述从DSP的SDRAM;依据FLASH擦除指令对FLASH进行擦除;依据FLASH写入指令依据将写入SDRAM的数据写入FLASH的擦除扇区;依据FLASH校验指令将FLASH写入的全部数据信息进行校验,并将校验结果发送给所述主DSP。该系统的实现原理、技术效果与上述方法类似,此处不再赘述。
一种终端设备,包括至少一个处理单元、以及至少一个存储单元,其中,存储单元存储有计算机程序,当程序被处理单元执行时,使得所述处理单元执行上述方法的步骤。
一种计算机可读介质,其存储有可由终端设备执行的计算机程序,当程序在终端设备上运行时,使得终端设备执行上述方法的步骤。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种双DSP程序在线升级方法,其特征在于,该方法包括如下步骤:
上位机获取主或从DSP的升级程序,根据预设的通讯协议将其封装成数据组,将升级指令和多个所述数据组依次发送给主DSP,所述升级指令包括SDRAM数据写入指令、SDRAM数据校验指令、FLASH擦除指令、FLASH写入指令、FLASH回读指令和FLASH校验指令;
所述主DSP依据升级指令中的文件类型判断主DSP或从DSP程序升级;
所述主DSP程序在线升级时,所述主DSP依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组成功写入所述主DSP的SDRAM;其中,所述主DSP程序在线升级时,主DSP依据SDRAM数据写入指令以及接收的当前数据组内容,将数据写入缓存模块,并将所述当前数据组的数据校验值发送给上位机,上位机对结果进行判读,通过则发送下一数据组,否则重新发送SDRAM数据写入指令以及当前数据组;主DSP依据SDRAM数据校验指令对写入SDRAM中的所有数据进行校验,并将校验值发送给上位机,由上位机对校验值进行判断,通过则完成所述主DSP SDRAM数据写入及校验操作;
所述主DSP依据FLASH擦除指令对FLASH进行擦除;所述主DSP依据FLASH写入指令将写入SDRAM的数据依次写入FLASH的擦除扇区,所述主DSP依据FLASH回读指令将FLASH写入的数据信息分组,并依次发送给上位机,由上位机与本地升级数据组进行比对判读,依据判读结果完成主DSP升级操作;
所述从DSP程序在线升级时,所述主DSP将升级指令和多个数据组依次转发给从DSP;所述从DSP依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组依次写入所述从DSP的SDRAM;其中,所述从DSP程序在线升级时,主DSP SDRAM写入从DSP程序并校验成功后,从DSP依据SDRAM数据写入指令以及当前接收的数据组内容,将数据写入SDRAM,并将所述当前接收的数据组的数据校验值发送给主DSP,主DSP对结果进行判读,通过则发送下一数据组,否则重新发送SDRAM数据写入指令以及当前数据组;从DSP依据SDRAM数据校验指令对写入SDRAM中的所有数据进行校验,并将校验值发送给主DSP,由主DSP对结果进行判读,并将判断结果转发至上位机,完成所述从DSP SDRAM数据写入及校验操作;
所述从DSP依据FLASH擦除指令对FLASH进行擦除;所述从DSP依据FLASH写入指令将写入SDRAM的数据依次写入FLASH的擦除扇区,所述从DSP依据FLASH校验指令对FLASH写入的数据信息进行校验,并将校验结果发送给所述主DSP,所述主DSP将校验结果转发给上位机进行判读,依据判读结果完成从DSP升级操作;
所述FLASH擦除指令依据在线升级程序的文件类型、大小及擦除时序参数生成;具体包括:上位机向主DSP发送FLASH擦除指令,若主DSP程序升级,则主DSP响应所述擦除指令,根据文件大小及擦除时序参数计算需要擦除的扇区数量,并根据文件类型,以及收到的时序参数,依次从FLASH固定扇区的起始地址擦除一定数量扇区;若从DSP程序升级,则主DSP依据固定的通讯协议将FLASH擦除指令转发给从DSP,从DSP根据文件大小及擦除时序参数计算需要擦除的扇区数量,并根据文件类型,以及收到的时序参数,依次从FLASH固定扇区的起始地址擦除一定数量扇区;FLASH写入指令依据在线升级程序的文件类型、大小及写入时序参数生成, FLASH的数据擦除时序参数及写入时序参数均由上位机软件实时上传至主DSP或从DSP的软件升级模块中。
2.根据权利要求1所述的一种双DSP程序在线升级方法,其特征在于,所述主DSP依据FLASH回读指令将FLASH写入的数据信息分组发送给上位机,由上位机对接收的当前组数据信息进行比对,并将结果发送给主DSP,通过则主DSP读取下一组数据,直至所有组数据回读成功。
3.根据权利要求1所述的一种双DSP程序在线升级方法,其特征在于,所述从DSP依据FLASH数据校验指令将FLASH写入的数据进行校验,并将校验的结果发送给所述主DSP,所述主DSP将校验结果转发给上位机,上位机依据判读结果完成所述从DSP软件升级操作。
4.根据权利要求1-3中任一项所述的一种双DSP程序在线升级方法,其特征在于,利用FPGA实现所述主DSP与从DSP之间、主DSP与所述上位机之间的串口通信,串口通信的数据帧格式包括帧头、数据帧长度、数据内容和数据校验。
5.一种基于双DSP程序在线升级系统,其特征在于,该系统包括上位机、FPGA、主DSP、从DSP、主DSP SDRAM、从DSP SDRAM、主DSP FLASH和从DSP FLASH,其中,
所述上位机用于获取主DSP或从DSP的升级程序,根据预设的通讯协议将其封装成数据组,将升级指令和多个所述数据组依次发送给主DSP,所述升级指令包括SDRAM数据写入指令、SDRAM数据校验指令、FLASH擦除指令、FLASH写入指令、FLASH回读指令和FLASH校验指令;
所述主DSP用于依据升级指令判断主DSP升级或从DSP升级,所述主DSP程序升级时,依据SDRAM数据写入指令和校验指令,将多个数据组成功写入所述主DSP的SDRAM;其中,所述主DSP程序在线升级时,主DSP依据SDRAM数据写入指令以及接收的当前数据组内容,将数据写入缓存模块,并将所述当前数据组的数据校验值发送给上位机,上位机对结果进行判读,通过则发送下一数据组,否则重新发送SDRAM数据写入指令以及当前数据组;主DSP依据SDRAM数据校验指令对写入SDRAM中的所有数据进行校验,并将校验值发送给上位机,由上位机对校验值进行判断,通过则完成所述主DSP SDRAM数据写入及校验操作;依据FLASH擦除指令对FLASH进行擦除,依据FLASH写入指令将写入SDRAM的数据依次写入FLASH,依据FLASH回读指令将FLASH写入的数据信息分组,并依次发送给上位机,由上位机与本地升级数据组进行判读,依据判读结果完成主DSP升级操作;所述从DSP程序升级时,主DSP将升级指令和多个数据组依次转发给从DSP;
所述主DSP还用于将从DSP的校验结果转发给上位机进行判读,依据判读结果完成从DSP升级操作;
所述从DSP用于依据SDRAM数据写入指令和SDRAM数据校验指令,将多个数据组成功写入所述从DSP的SDRAM;其中,所述从DSP程序在线升级时,主DSP SDRAM写入从DSP程序并校验成功后,从DSP依据SDRAM数据写入指令以及当前接收的数据组内容,将数据写入SDRAM,并将所述当前接收的数据组的数据校验值发送给主DSP,主DSP对结果进行判读,通过则发送下一数据组,否则重新发送SDRAM数据写入指令以及当前数据组;从DSP依据SDRAM数据校验指令对写入SDRAM中的所有数据进行校验,并将校验值发送给主DSP,由主DSP对结果进行判读,并将判断结果转发至上位机,完成所述从DSP SDRAM数据写入及校验操作;依据FLASH擦除指令对FLASH进行擦除;依据FLASH写入指令依据将写入SDRAM的数据写入FLASH的擦除扇区;依据FLASH校验指令将FLASH写入的数据信息进行校验,并将校验结果发送给所述主DSP;
所述FLASH擦除指令依据在线升级程序的文件类型、大小及擦除时序参数生成;具体包括:上位机向主DSP发送FLASH擦除指令,若主DSP程序升级,则主DSP响应所述擦除指令,根据文件大小及擦除时序参数计算需要擦除的扇区数量,并根据文件类型,以及收到的时序参数,依次从FLASH固定扇区的起始地址擦除一定数量扇区;若从DSP程序升级,则主DSP依据固定的通讯协议将FLASH擦除指令转发给从DSP,从DSP根据文件大小及擦除时序参数计算需要擦除的扇区数量,并根据文件类型,以及收到的时序参数,依次从FLASH固定扇区的起始地址擦除一定数量扇区;FLASH写入指令依据在线升级程序的文件类型、大小及写入时序参数生成, FLASH的数据擦除时序参数及写入时序参数均由上位机软件实时上传至主DSP或从DSP的软件升级模块中。
6.一种终端设备,其特征在于,包括至少一个处理单元、以及至少一个存储单元,其中,所述存储单元存储有计算机程序,当所述程序被所述处理单元执行时,使得所述处理单元执行权利要求1-4中任一项所述方法的步骤。
7.一种计算机可读介质,其特征在于,其存储有可由终端设备执行的计算机程序,当所述程序在所述终端设备上运行时,使得所述终端设备执行权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345827.1A CN111506333B (zh) | 2020-04-27 | 2020-04-27 | 一种双dsp程序在线升级方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010345827.1A CN111506333B (zh) | 2020-04-27 | 2020-04-27 | 一种双dsp程序在线升级方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111506333A CN111506333A (zh) | 2020-08-07 |
CN111506333B true CN111506333B (zh) | 2023-05-16 |
Family
ID=71869575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010345827.1A Active CN111506333B (zh) | 2020-04-27 | 2020-04-27 | 一种双dsp程序在线升级方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111506333B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925704B (zh) * | 2021-02-04 | 2024-12-17 | 湖北三江航天红峰控制有限公司 | 一种多路点火时序测试方法、系统及计算机设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421757B1 (en) * | 1998-09-30 | 2002-07-16 | Conexant Systems, Inc | Method and apparatus for controlling the programming and erasing of flash memory |
JP2004185506A (ja) * | 2002-12-05 | 2004-07-02 | Mitsubishi Electric Corp | データ書き込み装置及びデータ書き込み方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
US6839774B1 (en) * | 1999-10-21 | 2005-01-04 | Samsung Electronics Co., Ltd. | Single-chip data processing apparatus incorporating an electrically rewritable nonvolatile memory and method of operating the same |
CN101409106A (zh) * | 2008-10-29 | 2009-04-15 | 苏州大学 | Flash存储器在线编程控制方法 |
CN102254575A (zh) * | 2010-05-19 | 2011-11-23 | 大唐移动通信设备有限公司 | 一种实现闪烁存储器芯片在板编程的方法及装置 |
CN107562504A (zh) * | 2017-09-11 | 2018-01-09 | 哈尔滨工程大学 | 一种dsp程序分段加载的串口实现方法 |
CN110837385A (zh) * | 2019-11-07 | 2020-02-25 | 北京特种机械研究所 | 一种基于CANopen协议的DSP应用程序在线升级方法 |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5491771A (en) * | 1993-03-26 | 1996-02-13 | Hughes Aircraft Company | Real-time implementation of a 8Kbps CELP coder on a DSP pair |
DK1797645T3 (en) * | 2004-08-30 | 2018-11-19 | Google Llc | Systems and methods for providing non-volatile memory management in cordless phones |
CN102403034B (zh) * | 2010-09-07 | 2015-09-30 | 艾默生网络能源有限公司 | Dsp控制单板设备及其远程升级方法和服务器 |
JP5655733B2 (ja) * | 2011-07-21 | 2015-01-21 | サンケン電気株式会社 | 演算処理装置およびマイクロコンピュータ |
CN102426528A (zh) * | 2011-09-15 | 2012-04-25 | 中国船舶重工集团公司第七○七研究所 | 一种导航定位接收机内核程序在线更新方法 |
CN103024074B (zh) * | 2012-12-28 | 2015-04-22 | 哈尔滨工业大学 | 基于gprs的dsp远程无线升级方法 |
CN103116175B (zh) * | 2013-01-18 | 2015-06-03 | 东南大学 | 基于dsp和fpga的嵌入式导航信息处理器 |
CN103311932B (zh) * | 2013-05-29 | 2015-05-13 | 国电南京自动化股份有限公司 | 一种基于链式svg的双dsp控制系统 |
CN104735298A (zh) * | 2013-12-24 | 2015-06-24 | 中国科学院沈阳自动化研究所 | 一种视频目标跟踪主从备份系统和方法 |
CN104714129B (zh) * | 2015-03-07 | 2018-01-02 | 中国石油大学(华东) | 一种基于dsp的新型电参数测试实验系统 |
CN105373407A (zh) * | 2015-12-07 | 2016-03-02 | 中国船舶重工集团公司第七〇五研究所 | 嵌入式系统dsp和fpga在线升级方法 |
CN105630555A (zh) * | 2015-12-25 | 2016-06-01 | 深圳创动科技有限公司 | 一种控制芯片中软件在线升级方法及装置 |
CN105867977B (zh) * | 2016-04-01 | 2019-06-14 | 天津七所精密机电技术有限公司 | DSP用户程序升级及Flash下载方法 |
CN105892359A (zh) * | 2016-04-28 | 2016-08-24 | 中国科学院电子学研究所 | 一种多dsp并行处理系统及其处理方法 |
CN106528203B (zh) * | 2016-10-10 | 2019-10-18 | 上海无线电设备研究所 | 一种多片dsp芯片的自动化程序烧写方法 |
CN106528155B (zh) * | 2016-11-10 | 2020-01-14 | 深圳怡化电脑股份有限公司 | 一种验钞控制器的固件启动的系统、方法及装置 |
CN108182078B (zh) * | 2016-12-08 | 2021-03-12 | 北京机电工程研究所 | 一种优化的弹载设备不拆弹软件在线升级方法 |
CN106909425B (zh) * | 2017-03-03 | 2020-05-08 | 中国电子科技集团公司第五十四研究所 | 一种dsp和fpga系统在线升级方法 |
CN109388413A (zh) * | 2017-08-03 | 2019-02-26 | 中车株洲电力机车研究所有限公司 | 一种fpga程序更新方法及系统 |
CN107885510B (zh) * | 2017-11-03 | 2021-04-09 | 黄骅市交大思诺科技有限公司 | 一种可同时烧录双dsp的烧录工具及烧录方法 |
CN108628624A (zh) * | 2018-04-08 | 2018-10-09 | 华南理工大学 | 一种基于can总线的多节点单片机在线更新代码的方法 |
CN108845811B (zh) * | 2018-05-30 | 2021-12-03 | 武汉高仕达电气有限公司 | 一种基于can总线的双核dsp固件升级方法及系统 |
CN109301919B (zh) * | 2018-09-05 | 2022-04-19 | 湖南理工学院 | 一种不间断电源旁路接管控制方法 |
CN109597635A (zh) * | 2018-11-23 | 2019-04-09 | 湖北航天飞行器研究所 | 一种主控程序安全引导升级方法、嵌入式设备及存储器 |
CN109766117A (zh) * | 2018-12-12 | 2019-05-17 | 天津津航技术物理研究所 | 一种基于dsp通用平台在线升级方法 |
CN109800007A (zh) * | 2018-12-28 | 2019-05-24 | 航天信息股份有限公司 | Dsp芯片在线升级方法以及装置 |
CN110209419A (zh) * | 2019-05-17 | 2019-09-06 | 湖北三江航天万峰科技发展有限公司 | 一种基于can总线的嵌入式dsp设备升级方法及装置 |
CN110618827A (zh) * | 2019-08-26 | 2019-12-27 | 国网河南省电力公司洛阳供电公司 | 一种内置flash的fpga远程升级方法 |
CN110737452A (zh) * | 2019-09-30 | 2020-01-31 | 清能德创电气技术(北京)有限公司 | 一种fpga固件在线升级方法及系统 |
CN110752791A (zh) * | 2019-10-28 | 2020-02-04 | 北京动力机械研究所 | 一种一拖三作动装置的位置实时同步控制系统及方法 |
CN111026427B (zh) * | 2019-11-14 | 2022-09-02 | 中国航空工业集团公司洛阳电光设备研究所 | 一种含cpu和fpga的嵌入式系统远程在线升级方法 |
CN110990045B (zh) * | 2019-12-20 | 2023-01-06 | 苏州浪潮智能科技有限公司 | 一种双bmc flash升级方法和设备 |
-
2020
- 2020-04-27 CN CN202010345827.1A patent/CN111506333B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6421757B1 (en) * | 1998-09-30 | 2002-07-16 | Conexant Systems, Inc | Method and apparatus for controlling the programming and erasing of flash memory |
US6839774B1 (en) * | 1999-10-21 | 2005-01-04 | Samsung Electronics Co., Ltd. | Single-chip data processing apparatus incorporating an electrically rewritable nonvolatile memory and method of operating the same |
JP2004185506A (ja) * | 2002-12-05 | 2004-07-02 | Mitsubishi Electric Corp | データ書き込み装置及びデータ書き込み方法及びプログラム及びプログラムを記録したコンピュータ読み取り可能な記録媒体 |
CN101409106A (zh) * | 2008-10-29 | 2009-04-15 | 苏州大学 | Flash存储器在线编程控制方法 |
CN102254575A (zh) * | 2010-05-19 | 2011-11-23 | 大唐移动通信设备有限公司 | 一种实现闪烁存储器芯片在板编程的方法及装置 |
CN107562504A (zh) * | 2017-09-11 | 2018-01-09 | 哈尔滨工程大学 | 一种dsp程序分段加载的串口实现方法 |
CN110837385A (zh) * | 2019-11-07 | 2020-02-25 | 北京特种机械研究所 | 一种基于CANopen协议的DSP应用程序在线升级方法 |
Non-Patent Citations (1)
Title |
---|
李广弟.《单片机技术》.中国轻工业出版社,2015,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111506333A (zh) | 2020-08-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108415717B (zh) | 一种zynq soc固件升级方法及升级装置 | |
CN103136028A (zh) | 一种基于fpga的flash存储器远程在线升级方法 | |
CN114281394A (zh) | 一种快速在线升级程序的方法、系统、设备及介质 | |
CN103106163A (zh) | 基于数据帧异步传输协议的fpga芯片在线升级结构及方法 | |
CN111506335A (zh) | 一种基于dsp+fpga的程序在线升级方法及系统 | |
CN117687664A (zh) | 一种dsp的在线升级配置方法及装置 | |
CN104133743B (zh) | 一种将文件烧录到emmc芯片的方法及装置 | |
US8868517B2 (en) | Scatter gather list for data integrity | |
CN111506333B (zh) | 一种双dsp程序在线升级方法及系统 | |
CN112181444B (zh) | 一种基于1553b总线的dsp多核数据烧写方法 | |
US20190347047A1 (en) | Virtual solid state storage system with solid state storage error emulation | |
CN110457058A (zh) | 控制节点在线升级方法、装置、上位机、系统及电子设备 | |
CN108845823A (zh) | 一种基于f2812芯片的软件在线升级方法 | |
CN112068860A (zh) | 基于wifi的胎压诊断仪升级方法、装置、设备及介质 | |
CN117648109A (zh) | 基于Flash页对齐方式的差分升级方法、系统及介质 | |
CN105354107A (zh) | NOR Flash的数据传输方法及系统 | |
CN213211012U (zh) | 一种激光雷达系统的在线升级装置及激光雷达系统 | |
WO2022204971A1 (zh) | 存储方法及存储控制器 | |
CN115617587A (zh) | 一种用于固态硬盘的固件测试方法、装置、设备及介质 | |
CN113867771A (zh) | 一种基于fpga的远程固件升级方法 | |
CN115951939A (zh) | 一种嵌入式软件的Bootloader系统及升级方法 | |
CN115701595A (zh) | 具有帧内响应的串行数据通信 | |
CN109445686B (zh) | 一种存储磁盘以及存取数据的方法 | |
CN112445508A (zh) | 一种基于can总线的arm应用程序在线升级的方法 | |
CN111722858A (zh) | 在线升级方法及终端设备 |
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 |