CN117687664A - 一种dsp的在线升级配置方法及装置 - Google Patents
一种dsp的在线升级配置方法及装置 Download PDFInfo
- Publication number
- CN117687664A CN117687664A CN202311638304.6A CN202311638304A CN117687664A CN 117687664 A CN117687664 A CN 117687664A CN 202311638304 A CN202311638304 A CN 202311638304A CN 117687664 A CN117687664 A CN 117687664A
- Authority
- CN
- China
- Prior art keywords
- dsp
- upgraded
- data
- file
- packet
- 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
- 238000000034 method Methods 0.000 title claims abstract description 92
- 230000005540 biological transmission Effects 0.000 claims abstract description 69
- 238000012795 verification Methods 0.000 claims abstract description 47
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000013524 data verification Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 3
- 230000005856 abnormality Effects 0.000 abstract description 4
- 230000008859 change Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 12
- 125000004122 cyclic group Chemical group 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Communication Control (AREA)
Abstract
本发明提供一种DSP的在线升级配置方法,其应用于与DSP通过网口连接的处理器,所述方法包括:判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级;向DSP依次发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;在校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。本发明无需更改DSP启动程序Boot Loader,只需利用DSP芯片的网口,同时,整个升级过程中产生数据异常都可通过CRC校验检测,如有数据异常立即终止升级流程,并可回到初始状态,不影响DSP应用程序的后续正常运行。实用性强,灵活度高,具有广阔的应用前景。
Description
技术领域
本发明涉及DSP在线升级技术领域,尤其涉及一种DSP的在线升级配置方法及装置。
背景技术
DSP(数字信号处理器)在通信、计算机、控制、消费类电子产品等各个领域得到了广泛应用。随着广泛应用考虑到产品的可维护性以及产品需求的不断变化,需经常对DSP程序进行更新。DSP一般采用NorFlash作为程序的存储介质,传统的DSP程序更新方法是采用专用的DSP仿真器,仿真器一端连接DSP芯片的JTAG接口(JointTestActionGroup,联合测试工作组),另一端连接一台已安装CCS软件和DSP仿真器驱动的计算机USB端口,通过操作计算机中的CCS软件,连接到待升级的DSP芯片,将待升级的可执行程序加载到DSP内部的memory区域,运行NorFlash写入程序,将可执行程序写入NorFlash指定空间地址。
由此可见传统的DSP升级方法具有如下缺点:
1)升级过程需对设备断电,重新加电启动——必须在断电情况下才能连接DSP仿真器,DSP仿真器连接成功后加电启动,通过CCS软件进行操作完成烧录程序。
2)操作过程耗时长——升级程序的软硬件环境的安装、调试以及拆卸的时间远大于实际的程序写入时间;
3)软硬件升级环境复杂,操作流程繁琐复杂——升级必须以装有CCS软件和DSP仿真器驱动的计算机以及DSP专用仿真器作为辅助,庞大复杂的CCS软件环境,非专业的DSP开发人员不易操作;
4)依赖JTAG接口状态——升级必须通过JTAG接口传输命令和数据,插拔操作会导致JTAG相关接口的磨损,导致可能出现JTAG接口的不稳定,不仅影响升级程序的成功率,甚至影响产品的寿命和运行稳定性。
除了上述的传统程序升级方法,现有技术中还有一种升级办法:通过改进的BootLoader程序,使DSP程序启动时,判断DSP是否处于升级模式,如果处于升级模式,则加载升级程序;如果处于正常启动模式,则正常启动DSP程序。判断升级模式的方法则分为两种,一种是通过软件获取的状态判断,另一种是通过硬件开关的状态判断。
但这两种方法都需在升级过程中重新加电启动Boot Loader程序的缺点,重新加电启动并运行Boot Loader程序才能启动升级流程,没有真正实现在线升级功能,并不是在DSP程序正常运行的同时进行软件升级。其中,第一种方法,软件状态的获取需要等待一定时间,当DSP程序为正常启动时,会增加启动时间,产生不必要的启动等待时间。而第二种方法的实现依赖硬件开关,需要硬件条件支持,不是所有的板卡都具备这样的硬件条件,难以推广。
发明内容
本发明提供一种DSP的在线升级配置方法及装置,用以解决现有技术中DSP在线升级中存在的技术缺陷,无需更改DSP启动程序Boot Loader,不影响DSP应用程序的后续正常运行。具有实用性强,灵活度高,具有广阔的应用前景的优点。
第一方面,本发明提供一种DSP的在线升级配置方法,其应用于与DSP通过网口连接的处理器,所述方法包括:
判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;
向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;
在所述校验结果为不正确时,结束升级,生成告警信息;在所述校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。
根据所述的DSP的在线升级配置方法,所述向DSP发送文件传输握手报文,并执行握手过程的步骤,包括:
步骤201:基于所述网口所对应的网口协议向DSP发送文件传输握手报文,并开始计时;
步骤202:判断是否在预设计数时间内收到所述DSP应答报文,若是则向DSP依次按照预设传输机制发送数据报文包,若否则结束升级。
根据所述的DSP的在线升级配置方法,所述向DSP依次按照预设传输机制发送数据报文包的步骤,包括:
步骤301:基于所述网口所对应的网口协议向DSP发送数据报文包并开始计时;
步骤302:判断计时是否到达预定的计数时间,若否则重复执行本步骤,若是则执行步骤304;
步骤303:基于所述网口类型所对应的网口协议,并按照一预设的时间间隔向DSP逐包发送待升级文件包中的多个数据报文包,并判断是否在预设时间内收到DSP反馈的应答报文,若是则执行步骤304,否则执行步骤306;
步骤304:判断DSP所反馈的第一数据报文包所对应的第一应答报文是否正确,若是则执行步骤305,否则执行步骤306;
步骤305:发送第二数据报文包;
步骤306:重发所述第一数据报文包。
其中,第一数据报文包为待升级文件包中多个数据报文包中的在当前被选中的数据报文包,第二数据报文包为待升级文件包中的位列第一数据报文包之后的下一数据报文包。
根据所述的DSP的在线升级配置方法,所述数据报文包的格式为6个字段数据,6个字段分别表示总包数字段、本包序号字段、本总包长度字段、第一CRC校验码、待升级报文字段和第二CRC校验码。
根据所述的DSP的在线升级配置方法,所述第一CRC校验码为对所述总包数字段、本包序号字段以及本包总长度字段做CRC校验获得的校验结果。
根据所述的DSP的在线升级配置方法,所述第二CRC校验码为对所述待升级报文字段做CRC校验获得的校验结果。
第二方面,本发明还提供DSP的在线升级配置方法,其应用于DSP,所述方法包括:
接受待升级文件传输握手报文,并反馈应答报文;
获取所述待升级文件的多个数据报文包,并逐包反馈每个数据报文包所对应的应答报文;
对多个数据报文包进行整包数据校验获得校验结果,基于所述校验结果,判断待执行操作;在所述校验结果为正确时,基于所述数据报文包执行数据写入操作;在所述校验结果为不正确时,反馈升级失败结果。
第三方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述室内外无缝统一基准构建方法的步骤。
第三方面,本发明还提供一种DSP在线升级配置装置,所述装置包括:
通讯建立模块,用于判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;
数据传输模块,用于向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;
在线升级配置模块,用于根据所述校验结果,判断待执行操作,在所述校验结果为不正确时,结束升级,生成告警信息;在所述校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。
第五方面,提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种DSP在线升级配置装置的步骤。
本发明提供的DSP的在线升级配置方法,应用于与DSP通过网口连接的处理器,通过外接处理器实时导入待升级文件包,使得整个在线升级过程无需特殊硬件设计,无需更改DSP启动程序Boot Loader,只需利用DSP芯片的网口,同时,整个升级过程中产生数据异常都可通过CRC校验检测,如有数据异常立即终止升级流程,并可回到初始状态,不影响DSP应用程序的后续正常运行。实用性强,灵活度高,具有广阔的应用前景。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的DSP的在线升级配置方法的应用场景示意图之一;
图2是本发明提供的DSP的在线升级配置方法的应用场景示意图之二;
图3是本发明提供的DSP的在线升级配置方法的步骤流程示意图;
图4是本发明提供的握手报文格式示意图;
图5是本发明提供的数据传输报文格式示意图;
图6是本发明提供的数据报文包的传输过程示意图;
图7是本发明提供的待升级数据格式示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在本发明实施例的描述中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
为了便于理解,本文先对本申请提供的DSP的在线升级配置方法所适用的应用场景进行介绍,图1为本发明实施例提供的DSP的在线升级配置方法应用于与DSP通过网口连接的计算机的应用场景示意图,如图1所示,DSP的网口可直接连接计算机网口,在计算机中进行判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;在校验结果为不正确时,结束升级,生成告警信息;在校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。其中,计算机可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。便携式可穿戴设备可为智能手表、智能手环等。
图2为本发明实施例提供的DSP的在线升级配置方法应用于与DSP通过网口连接的处理器的应用场景示意图,如图2所示,DSP的网口没有引出,无法与计算机直连,但可通过与DSP有高速接口(PCIe,RapidoIO等)且有网口的硬件例如处理器通过高速接口相连,作为中继转发。待升级数据通过高速接口到该处理器,再通过网口到达DSP,反之亦然。在该处理器中进行判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;在校验结果为不正确时,结束升级,生成告警信息;在校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。
下面以结合图3-图7描述本发明实施例所提供的DSP的在线升级配置方法。
如图3所示,提供了一种DSP的在线升级配置方法,以该方法应用于图2中的与DSP通过网口连接的处理器为例进行说明,如图3所示,包括但不限于以下步骤(STEP,简称S):
S101:判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息。
S102:向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;
其中,在所述校验结果为不正确时,结束升级,生成告警信息;在所述校验结果为正确时,判断是否在预设计时数内接收到DSP反馈数据写入成功结果,若是则生成传输完毕报文发送至所述DSP,否则结束升级,生成告警信息。
具体的,在升级过程中,通过对待升级文件的选取进行判断,判断其是否成功选取。可以通过检查文件是否存在、文件权限是否满足要求等方式进行判断。若文件选取成功,则进入下一步;若文件选取失败,则结束升级,并生成告警信息。
若文件选取成功,则向DSP发送待升级文件传输握手报文,并执行握手过程。握手报文用于建立传输通道并确保通信双方的准备就绪。握手过程中,双方会进行信息交换和验证,确保传输的正确性和完整性。
在握手成功后,按照预设的传输机制,将待升级文件切分为多个数据报文包,并依次发送给DSP。DSP接收到数据报文后,进行整包数据校验,以验证所接受到的所有数据报文的完整性。
处理器在接收到校验结果后,执行判断是否在预设计时数内接收到DSP反馈数据,若处理器在预设计时数内接收到DSP反馈数据,则生成写入成功结果。处理器在接收到DSP反馈的整包数据校验结果后,进行判断。若校验结果为不正确,表示传输过程中可能存在错误或丢失的数据。在这种情况下,结束升级,并生成告警信息,以便及时进行处理。
进一步的,在完成整包数据校验后,在执行数据写入结果判断,若整包数据校验的校验结果为正确,表示待升级文件已成功传输至DSP。则结束待升级文件发送,完成DSP的在线升级配置。可以理解的是,DSP在完成整包数据的完整性检验后会进行待升级文件的写入操作。
基于上述实施例的内容,作为一种可选的实施例,本发明提供的DSP的在线升级配置方法中所述向DSP发送文件传输握手报文,并执行握手过程的步骤,包括:
步骤201:基于所述网口所对应的网口协议向DSP发送文件传输握手报文,并开始计时;
步骤202:判断是否在预设计数时间内收到所述DSP应答报文,若是则向DSP依次按照预设传输机制发送数据报文包,若否则结束升级。
具体的,在确定完本次升级所需的待升级文件之后,向DSP发送文件传输握手报文,开启等待定时器,超出等待时间则显示握手失败,结束本次在线升级。
基于上述实施例的内容,作为一种可选的实施例,本发明提供的DSP的在线升级配置方法中所述向DSP依次按照预设传输机制发送数据报文包的步骤,包括:
步骤301:基于所述网口所对应的网口协议向DSP发送数据报文包并开始计时;
步骤302:判断计时是否到达预定的计数时间,若否则重复执行本步骤,若是则执行步骤304;
步骤303:基于所述网口类型所对应的网口协议,并按照一预设的时间间隔向DSP逐包发送待升级文件包中的多个数据报文包,并判断是否在预设时间内收到DSP反馈的应答报文,若是则执行步骤304,否则执行步骤306;
步骤304:判断DSP所反馈的第一数据报文包所对应的第一应答报文是否正确,若是则执行步骤305,否则执行步骤306;
步骤305:发送第二数据报文包;
步骤306:重发所述第一数据报文包。
具体的,握手成功之后,处理器向DSP持续发送待升级的数据报文,处理器每发送一包数据报文即开启等待定时器,收到DSP返回的接收报文ACK后,再发送下一包。
接收完整的待升级文件后,进行整包文件的数据校验,并把校验结果发送给处理器。校验的目的主要是预防DSP升级数据在传输过程中出错。如果校验结果正确,则处理器界面提示数据传输成功,并进入下一步升级阶段。若校验结果不正确,则由处理器提示数据传输失败,并结束本次在线升级,并生成相应的告警信息。此时需重新检查软硬件环境,确保传输可靠正确后重新进行在线升级。
其中,数据报文包的格式为6个字段数据,6个字段分别表示总包数字段、本包序号字段、本总包长度字段、第一CRC校验码、待升级报文字段和第二CRC校验码。
具体的,第一CRC校验码为对所述总包数字段、本包序号字段以及本包总长度字段做CRC校验获得的校验结果。第二CRC校验码为对所述待升级报文字段做CRC校验获得的校验结果。
本发明还提供的一种DSP在线升级配置装置,所述装置包括:通讯建立模块,用于判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;
数据传输模块,用于向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;
在线升级配置模块,用于根据所述校验结果,判断待执行操作,在所述校验结果为不正确时,结束升级,生成告警信息;在所述校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。
基于上述实施例的内容,作为一种可选的实施例,DSP在线升级配置装置包括DSP在线升级配置***,DSP在线升级配置***包括通讯建立模块、数据传输模块、在线升级配置模块
在数据传输开始之前,DSP在线升级配置***向DSP发送握手报文,并开启等待定时器,超出等待时间未收到应答报文则显示握手失败,结束本次在线升级。图4是本发明实施例提供的握手报文格式示意图,如图4所示,报文类型分为:升级数据握手及传输报文、升级数据握手及传输应答报文、在线升级指令报文、在线升级指令应答报文。如图4所示,对报文类型字段和报文正文字段做CRC校验并填入报文尾部。
握手成功之后,DSP在线升级配置***向DSP持续发送待升级的数据报文。图5是本发明实施例提供的数据传输报文格式示意图,
如图5所示,待升级文件在进行报文切割之前,把整个待升级文件的CRC校验附在文件末尾,作为校验使用。图7是本发明实施例提供的待升级数据格式示意图,如图7所示。待升级文件按照NorFlash的block(块)的大小被等分为多个数据报文(最后一包数据报文除外,其长度不定),逐个发送。对总包数字段、本包序号字段以及本包总长度字段做CRC校验并填入报文第一个CRC,对待升级报文字段做CRC校验并填入报文第二个CRC。
DSP在线升级配置***每发送一包数据报文即开启等待定时器,收到DSP返回的接收报文ACK后,再发送下一包。收到DSP返回的接收报文NAK报文或未收到DSP的应答消息导致等待超时,则重新发送该包数据,最多发送3次,若3次均未收到来自DSP的接收报文ACK,则显示数据传输失败,结束本次在线升级,此时需重新检查软硬件环境,确保传输可靠正确后,方可重新启动在线升级。图6是本发明实施例提供的待升级数据包的多个数据报文包的传输过程示意图,如图6所示。具体实现功能主要采用例如以下四个功能函数进行实现:
a)CtrlDataSend
该函数发送握手流程相关报文。
b)FileDataSend
该函数发送待升级数据报文。
c)DataRecv
该函数接收来自DSP报文,接收完毕根据报文类型后转入解析处理。
d)StatusDataParse
该函数解析来自DSP的状态报文,根据流程进行操作。
在一个示例中,本发明还提供一种DSP的在线升级配置方法,下面以该方法应用于图2中的DSP为例进行说明,所述方法包括:
步骤1:接受待升级文件传输握手报文,并反馈应答报文;
步骤2:获取待升级文件的多个数据报文包,并逐包反馈每个数据报文包所对应的应答报文;
步骤3:对多个数据报文包进行整包数据校验获得校验结果,基于所述校验结果,判断待执行操作;在所述校验结果为正确时,基于所述数据报文包执行数据写入操作;在所述校验结果为不正确时,反馈升级失败结果。
DSP收到来自搭载有待升级文件的处理器发送的待升级报文,如图5所示,根据网口的接口格式,首先进行CRC验证,如果CRC正确则把待升级报文字段提取出来,放入缓存区,存放起始地址为上一待升级数据存放地址的末尾,如图7所示。
当DSP接收最后一包数据报文时,随即开始对整个文件进行CRC校验,如图7所示。整个文件CRC校验正确,则转入待升级文件读写步骤。
具体的,DPS通过EMIF总线读写NorFlash,在指定地址写入待升级文件并进行回读验证。若回读验证成功,则向处理器发送升级成功,否则发送在线升级失败。
基于上述实施例的内容,作为一种可选的实施例,由于DSP片内空间小,故待升级文件的缓存文件存放在DSP芯片外部的DDR,且存储在一片连续地址上,如图7所示。接收和拼凑完整的待升级文件如图7所示。第二包的待升级数据报文字段紧随第一包的的待升级报文字段的末地址存放,如图5所示,通过报文中本包序号字段以及总包数字段,结合当前已收到的包数,综合判断是否为最后一包,收完最后一包即收完整个待升级文件。具体实现功能主要采用例如以下三个功能函数进行实现:
a)FileDataRecv
该函数接收来自处理器的报文,接收完毕后转入解析处理。
b)FileDataParse
该函数解析来自处理器的报文,依据流程进行操作
c)FileDataSave
该函数对提取的待升级数据报文字段依次按地址进行存储拼凑。
对待升级文件的校验采用计算CRC32的方式进行。校验模块主要是预防待升级文件数据在传输以及存储过程中出错的校验。对待升级文件数据校验采用计算CRC32的方式进行,分两步进行:
在明确更新文件CRC32校验多项式以及CRC存放位置、计算区间的情况下,当DSP收到来自处理器的数据后,DSP按照报文格式进行校验CRC,如图4和图5所示。
当DSP在缓存中收完所有数据包后,对整个待升级文件做CRC校验,如图7所示。
只有当以上CRC校验全部正确时,才可进入下一步读写NorFlash步骤。
NorFlash读写流程分为如下三步:
a)解除NorFlash写保护,完成擦除NorFlash指定区域的操作;
b)进入更新流程,逐个完成写完每个block操作;
c)校验每个block中数据,进行CRC校验。所有CRC校验正确,则在线升级成功,否则回到步骤a),直至读出的数据CRC校验正确。
实现功能主要有以下三个函数:
a)Erase Flash(unsigned Flash Base, unsigned sector Addr);
该函数擦除Nor Flash的某一扇区,每隔扇区大小为1024*1024byte,一共有128个扇区。其中Flash Base为Flash基地址,sector Addr为扇区号。
b)Write Flash(unsigned Flash Base, unsigned offset, unsigned short *data);
该函数对指定Nor Flash地址(基地址+偏移)进行写操作。其中Flash Base为Flash基地址,offset为偏移量,data为需要写入Flash的数据地址。
c)Read Flash(unsigned Flash Base, unsigned offset, unsigned short *data);
该函数对指定Nor Flash地址(基地址+偏移)进行读操作。其中Flash Base为Flash基地址,offset为偏移量,data为读出的数据地址。
当文件写入时记录写入Flash空间的大小,即确定需要参与计算的区间以及确定CRC32所在的位置,根据地址记录,回读数据并做CRC校验。将此计算出的CRC,与文件包含的CRC值作对比。
综上所述,本发明提供的DSP的在线升级配置方法,应用于与DSP通过网口连接的处理器,通过外接处理器实时导入待升级文件包,使得整个在线升级过程无需特殊硬件设计,无需更改DSP启动程序Boot Loader,只需利用DSP芯片的网口,同时,整个升级过程中产生数据异常都可通过CRC校验检测,如有数据异常立即终止升级流程,并可回到初始状态,不影响DSP应用程序的后续正常运行。实用性强,灵活度高,具有广阔的应用前景。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各实施例所提供的DSP的在线升级配置方法,所述方法包括:判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;在所述校验结果为不正确时,结束升级,生成告警信息;在所述校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的DSP的在线升级配置方法,所述方法包括:判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;在所述校验结果为不正确时,结束升级,生成告警信息;在所述校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种DSP的在线升级配置方法,其特征在于,其应用于与DSP通过网口连接的处理器,所述方法包括:
判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;
向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;
在所述校验结果为不正确时,结束升级,生成告警信息;在所述校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。
2.根据权利要求1所述的DSP的在线升级配置方法,其特征在于,所述向DSP发送文件传输握手报文,并执行握手过程的步骤,包括:
步骤201:基于所述网口所对应的网口协议向DSP发送文件传输握手报文,并开始计时;
步骤202:判断是否在预设计数时间内收到所述DSP应答报文,若是则向DSP依次按照预设传输机制发送数据报文包,若否则结束升级。
3.根据权利要求1所述的DSP的在线升级配置方法,其特征在于,所述向DSP依次按照预设传输机制发送数据报文包的步骤,包括:
步骤301:基于所述网口所对应的网口协议向DSP发送数据报文包并开始计时;
步骤302:判断计时是否到达预定的计数时间,若否则重复执行本步骤,若是则执行步骤304;
步骤303:基于所述网口类型所对应的网口协议,并按照一预设的时间间隔向DSP逐包发送待升级文件包中的多个数据报文包,并判断是否在预设时间内收到DSP反馈的应答报文,若是则执行步骤304,否则执行步骤306;
步骤304:判断DSP所反馈的第一数据报文包所对应的第一应答报文是否正确,若是则执行步骤305,否则执行步骤306;
步骤305:发送第二数据报文包;
步骤306:重发所述第一数据报文包。
4.根据权利要求1所述的DSP的在线升级配置方法,其特征在于,所述数据报文包的格式为6个字段数据,6个字段分别表示总包数字段、本包序号字段、本总包长度字段、第一CRC校验码、待升级报文字段和第二CRC校验码。
5.根据权利要求4所述的DSP的在线升级配置方法,其特征在于,所述第一CRC校验码为对所述总包数字段、本包序号字段以及本包总长度字段做CRC校验获得的校验结果。
6.根据权利要求4所述的DSP的在线升级配置方法,其特征在于,所述第二CRC校验码为对所述待升级报文字段做CRC校验获得的校验结果。
7.一种DSP的在线升级配置方法,其特征在于,其应用于DSP,所述方法包括:
接受待升级文件传输握手报文,并反馈应答报文;
获取所述待升级文件的多个数据报文包,并逐包反馈每个数据报文包所对应的应答报文;
对多个数据报文包进行整包数据校验获得校验结果,基于所述校验结果,判断待执行操作;在所述校验结果为正确时,基于所述数据报文包执行数据写入操作;在所述校验结果为不正确时,反馈升级失败结果。
8.一种DSP在线升级配置装置,其特征在于,所述装置包括:
通讯建立模块,用于判断待升级文件是否选取成功,若是则向DSP发送待升级文件传输握手报文,并执行握手过程,若否则结束升级,生成告警信息;
数据传输模块,用于向DSP依次按照预设传输机制发送待升级文件的多个数据报文包,并获取DSP反馈的整包数据校验结果;
在线升级配置模块,用于根据所述校验结果,判断待执行操作,在所述校验结果为不正确时,结束升级,生成告警信息;在所述校验结果为正确时,结束待升级文件发送,完成DSP的在线升级配置。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述DSP的在线升级配置方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被DSP执行时实现如权利要求7所述DSP的在线升级配置方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311638304.6A CN117687664A (zh) | 2023-12-03 | 2023-12-03 | 一种dsp的在线升级配置方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311638304.6A CN117687664A (zh) | 2023-12-03 | 2023-12-03 | 一种dsp的在线升级配置方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117687664A true CN117687664A (zh) | 2024-03-12 |
Family
ID=90138258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311638304.6A Pending CN117687664A (zh) | 2023-12-03 | 2023-12-03 | 一种dsp的在线升级配置方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117687664A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118101469A (zh) * | 2024-04-23 | 2024-05-28 | 苏州路之遥智能装备有限公司 | Dsp网口在线升级方法、dsp、上位机及*** |
CN118153066A (zh) * | 2024-05-10 | 2024-06-07 | 成都领目科技有限公司 | 一种dsp安全启动方法、装置及计算机可读介质 |
-
2023
- 2023-12-03 CN CN202311638304.6A patent/CN117687664A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118101469A (zh) * | 2024-04-23 | 2024-05-28 | 苏州路之遥智能装备有限公司 | Dsp网口在线升级方法、dsp、上位机及*** |
CN118153066A (zh) * | 2024-05-10 | 2024-06-07 | 成都领目科技有限公司 | 一种dsp安全启动方法、装置及计算机可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN117687664A (zh) | 一种dsp的在线升级配置方法及装置 | |
CN110134415A (zh) | 一种控制器及其软件升级方法和装置 | |
CN107179909A (zh) | 软件升级方法、装置及计算机可读存储介质 | |
CN109964215B (zh) | 具有环形缓冲区镜像的远程直接存储器访问数据通信中的流控制 | |
CN111008033A (zh) | 一种基于串口的通用dsp在线升级***及升级方法 | |
CN106843942A (zh) | 穿戴式设备的固件升级方法及穿戴式设备 | |
CN101815988A (zh) | 固件映像更新和管理 | |
CN111813428A (zh) | 终端固件的升级方法、装置、电子设备及存储介质 | |
CN112231005B (zh) | 一种基于uboot管理fpga版本的方法 | |
CN110580235B (zh) | 一种sas扩展器通信方法及装置 | |
CN114281394A (zh) | 一种快速在线升级程序的方法、***、设备及介质 | |
CN112181459B (zh) | 一种cpld升级优化方法及*** | |
JP2006190257A (ja) | データ転送装置およびデータ転送方法 | |
CN113703803A (zh) | 基于fpga的远程升级***、方法及介质 | |
CN112181444B (zh) | 一种基于1553b总线的dsp多核数据烧写方法 | |
CN110134423B (zh) | 固件的更新方法、装置及计算机可读存储介质 | |
US7159142B2 (en) | Pseudo I/O system and method | |
CN111506333B (zh) | 一种双dsp程序在线升级方法及*** | |
CN114115957A (zh) | 一种带备份的fpga在线更新方法及其*** | |
CN114968301A (zh) | 一种基于串口通信的程序更新方法和*** | |
CN103902323B (zh) | 一种呼吸机软件升级方法及其*** | |
CN113010114A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN111722858A (zh) | 在线升级方法及终端设备 | |
CN113467842B (zh) | 适用于工业级应用场景的嵌入式设备的启动方法、嵌入式设备和计算机可读存储介质 | |
CN116302020A (zh) | Fpga的逻辑程序升级方法、装置、设备及介质 |
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 |