一种双核DSP可拆卸远程升级系统及升级方法技术方案

技术编号:35934516 阅读:13 留言:0更新日期:2022-12-14 10:21
本发明专利技术是一种双核DSP可拆卸远程升级系统及升级方法。本发明专利技术涉及DSP在线升级技术领域,本发明专利技术通过将上位机与所述可拆卸ARM升级器通过以太网相连,并将所述可拆卸ARM升级器与双核DSP通过CAN总线相连,即可对DSP进行用户程序远程升级,无需使用仿真器和JTAG接口,也无需配置boot引脚,使用简单、方便、快捷。所述的可拆卸ARM升级器可供多个DSP轮流使用,避免以太网接口占用DSP的SPI资源的同时也降低了重复硬件成本。此外,本发明专利技术的可拆卸双核DSP远程升级系统的升级方法无需二级引导、无需使用复杂的标志位,且升级过程中发生错误可实现自动回滚,增强了双核DSP用户程序升级的可靠性。增强了双核DSP用户程序升级的可靠性。增强了双核DSP用户程序升级的可靠性。

【技术实现步骤摘要】
一种双核DSP可拆卸远程升级系统及升级方法


[0001]本专利技术涉及DSP在线升级
,是一种双核DSP可拆卸远程升级系统及升级方法。

技术介绍

[0002]随着DSP的不断发展,其性能日益提升,越来越多的高性能DSP被应用于工程中,其中双核DSP的应用尤为广泛,同时工程中对于用户程序的远程升级需求也越发增长。传统的用户程序升级方法为借助仿真器,通过JTAG接口将用户程序烧写进DSP中,操作麻烦、不方便现场和远程升级;此外还有通过外设引导升级的方式,但需要手动配置DSP的boot引脚,同样不便于远程升级。
[0003]公告号为CN114115956A的中国专利“一种基于双FLASH程序空间的DSP软件在线升级的系统”使用DSP与上位机通过以太网连接的方式实现网络远程升级,但是此方式在不需要升级的时候也持续占用SPI接口,浪费外设资源。
[0004]公告号为CN112363746A的中国专利“一种双核DSP在线升级方法”,能够对双核DSP进行用户程序的升级,但是每次需要在bootloader程序中初始化参数,再由bootloader程序进行二级引导,不便于用户程序的参数初始化,且该专利需要使用复杂的标志位;此外该专利还没有用户程序升级失败后的回滚方案,方案可靠性不足。
[0005]若在设备上固定一个除DSP以外的其他处理器,专用于以太网通信,并与DSP之间使用CAN总线等节点数目不受限制的通信方式,虽然可以解决上述SPI接口占用问题,但设备数量较多时,每台设备都加装一个处理器则增加了不必要的重复成本。
[0006]因此,设计出一种可拆卸以供多个设备轮流使用、无需二级引导、便捷高效且支持升级失败后回滚的双核DSP远程升级系统及升级方法,对当前DSP在线升级
是具有重要意义的。

技术实现思路

[0007]本专利技术为克服现有技术的不足,本专利技术为设计出一种可拆卸以供多个设备轮流使用、无需二级引导、便捷高效且支持升级失败后回滚的双核DSP远程升级系统及升级方法。
[0008]需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
[0009]本专利技术提供了一种双核DSP可拆卸远程升级系统及升级方法,本专利技术提供了以下技术方案:
[0010]一种双核DSP可拆卸远程升级系统,所述系统包括:上位机、可拆卸ARM升级器和双
核DSP;
[0011]所述上位机与可拆卸ARM升级器通过以太网连接,所述可拆卸ARM升级器与双核DSP通过CAN总线连接;所述可拆卸ARM升级器与双核DSP间的连接结构为可拆卸的插针结构。
[0012]上位机通过太网通信协议与可拆卸ARM升级器进行通信,向可拆卸ARM升级器发送双核DSP升级的相关命令和升级的用户程序,并接收可拆卸ARM升级器转发的升级状态信息;
[0013]可拆卸ARM升级器通过以太网通信协议与上位机进行通信,接收上位机发出的命令和升级的用户程序并向上位机转发DSP返回的升级相关状态信息;
[0014]可拆卸ARM升级器通过CAN通信协议与双核DSP进行通信,向双核DSP转发上位机发出的命令和升级的用户程序并接收双核DSP返回的升级相关状态信息;
[0015]双核DSP通过CAN通信协议与可拆卸ARM升级器进行通信,接收可拆卸ARM升级器转发的命令和升级的用户程序并执行双核DSP的升级。
[0016]优选地,所述双核DSP包含2个CPU核心,分别为第一CPU和第二CPU;所述的第一CPU和第二CPU拥有各自的Flash,分别为第一Flash和第二Flash。
[0017]优选地,第一Flash和第二Flash分别存储有各自的用户程序、upgrade程序、用户程序备份、codestart和codestart备份。
[0018]一种双核DSP可拆卸远程升级方法,所述方法包括以下步骤:
[0019]步骤1:升级第一CPU的用户程序;
[0020]步骤2:升级第二CPU的用户程序,对DSP进行用户程序远程升级。
[0021]优选地,所述步骤1具体为:
[0022]步骤1.1:上位机读取.hex格式的升级的用户程序文件,并按照规定的数据包协议将其转为16进制数据,然后发送请求升级第一CPU的命令,并由ARM升级器转发给双核DSP;
[0023]步骤1.2双核DSP收到ARM升级器转发的升级命令,判断需要升级用户程序的CPU为第一CPU,然后回复允许升级的报文并对用户程序做停止处理;
[0024]步骤1.3:第一codestart备份包含第一用户程序的codestart和第一upgrade程序的codestart,第一用户程序、第一upgrade程序、第一用户程序备份位于第一Flash中以外的不同区,将第一Flash中的第一codestart更改为第一codestart备份中存储的第一upgrade程序的第一codestart,然后使能第一CPU看门狗,使得双核DSP复位重启;
[0025]步骤1.4:DSP复位重启后第一CPU由第一codestart引导至第一upgrade程序并运行,第一upgrade程序中指定第一CPU占有CAN的控制权且不启动第二CPU;
[0026]步骤1.5:第一upgrade程序中,第一CPU发送准备接收升级程序的报文,并由ARM升级器转发给上位机;
[0027]步骤1.6:上位机收到ARM升级器转发的准备接收升级程序的报文后,按照规定的数据包协议逐段发送读取转化后的升级的用户程序文件的16进制数据,并由ARM升级器转发给双核DSP;
[0028]步骤1.7:第一CPU按照数据包协议对收到的16进制数据进行解析,然后按照解析结果对第一Flash中的第一用户程序进行重新烧写,当解析结果为codestart数据,则将第一Flash中第一codestart和第一codestart备份中存储的第一用户程序的codestart替换
为解析结果中的codestart。
[0029]优选地,所述步骤1还包括:
[0030]当第一CPU对第一Flash中的第一用户程序进行重新烧写的过程中发生错误,则读取第一Flash中的第一用户程序备份中的16进制数据,并按照规定的数据包协议对读取的16进制数据进行解析,然后按照解析结果对第一Flash中的第一用户程序进行重新烧写,否则正常执行以下步骤;
[0031]步骤S1.1:16进制数据全部发送后,上位机发送烧写结束的命令,并由ARM升级器转发给双核DSP;
[0032]步骤S1.本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种双核DSP可拆卸远程升级系统,其特征是:所述系统包括:上位机、可拆卸ARM升级器和双核DSP;所述上位机与可拆卸ARM升级器通过以太网连接,所述可拆卸ARM升级器与双核DSP通过CAN总线连接;所述可拆卸ARM升级器与双核DSP间的连接结构为可拆卸的插针结构;上位机通过太网通信协议与可拆卸ARM升级器进行通信,向可拆卸ARM升级器发送双核DSP升级的相关命令和升级的用户程序,并接收可拆卸ARM升级器转发的升级状态信息;可拆卸ARM升级器通过以太网通信协议与上位机进行通信,接收上位机发出的命令和升级的用户程序并向上位机转发DSP返回的升级相关状态信息;可拆卸ARM升级器通过CAN通信协议与双核DSP进行通信,向双核DSP转发上位机发出的命令和升级的用户程序并接收双核DSP返回的升级相关状态信息;双核DSP通过CAN通信协议与可拆卸ARM升级器进行通信,接收可拆卸ARM升级器转发的命令和升级的用户程序并执行双核DSP的升级。2.根据权利要求1所述的一种双核DSP可拆卸远程升级系统,其特征是:所述双核DSP包含2个CPU核心,分别为第一CPU和第二CPU;所述的第一CPU和第二CPU拥有各自的Flash,分别为第一Flash和第二Flash。3.根据权利要求2所述的一种双核DSP可拆卸远程升级系统,其特征是:第一Flash和第二Flash分别存储有各自的用户程序、upgrade程序、用户程序备份、codestart和codestart备份。4.一种双核DSP可拆卸远程升级方法,其特征是:所述方法包括以下步骤:步骤1:升级第一CPU的用户程序;步骤2:升级第二CPU的用户程序,对DSP进行用户程序远程升级。5.根据权利要求4所述的一种双核DSP可拆卸远程升级方法,其特征是:所述步骤1具体为:步骤1.1:上位机读取.hex格式的升级的用户程序文件,并按照规定的数据包协议将其转为16进制数据,然后发送请求升级第一CPU的命令,并由ARM升级器转发给双核DSP;步骤1.2双核DSP收到ARM升级器转发的升级命令,判断需要升级用户程序的CPU为第一CPU,然后回复允许升级的报文并对用户程序做停止处理;步骤1.3:第一codestart备份包含第一用户程序的codestart和第一upgrade程序的codestart,第一用户程序、第一upgrade程序、第一用户程序备份位于第一Flash中以外的不同区,将第一Flash中的第一codestart更改为第一codestart备份中存储的第一upgrade程序的第一codestart,然后使能第一CPU看门狗,使得双核DSP复位重启;步骤1.4:DSP复位重启后第一CPU由第一codestart引导至第一upgrade程序并运行,第一upgrade程序中指定第一CPU占有CAN的控制权且不启动第二CPU;步骤1.5:第一upgrade程序中,第一CPU发送准备接收升级程序的报文,并由ARM升级器转发给上位机;步骤1.6:上位机收到ARM升级器转发的准备接收升级程序的报文后,按照规定的数据包协议逐段发送读取转化后的升级的用户程序文件的16进制数据,并由ARM升级器转发给双核DSP;步骤1.7:第一CPU按照数据包协议对收到的16进制数据进行解析,然后按照解析结果
对第一Flash中的第一用户程序进行重新烧写,当解析结果为codestart数据,则将第一Flash中第一codestart和第一codestart备份中存储的第一用户程序的codestart替换为解析结果中的codestart。6.根据权利要求5所述的一种双核DSP可拆卸远程升级方法,其特征是:所述步骤1还包括:当第一CPU对第一Flash中的第一用户程序进行重新烧写的过程中发生错误,则读取第一Flash中的第一用户程序备份中的16进制数据,并按照规定的数据包协议对读取的16进制数据进行解析,然后按照解析结果对第一Flash中的第一用户程序进行重新烧写,否则正常执行以下步骤;步骤S1.1:16进制数据全部发送后,上位机发送烧写结束的命令,并由ARM升级器转发给双核DSP;步骤S1.2:第一upgrade程序中,第一CPU收到ARM升级器转发的烧写结束命令后,回复准备接收备份程序的报文,并由ARM升级器转发给上位机;步骤S1.3:上位机收到ARM升级器转发的准备接收备份程序的报文后,按照规定的数据包协议再次从头开始逐段发送读取转化后的升级的用户程序文件的16进制数据,并由ARM升级器转发给双核DSP;步骤S1.4:第一upgrade程序中,第一CPU逐段收到ARM升级器转发的16进制数据后,将收到的16进制数据保存至第一Flash中的第一用户程序备...

【专利技术属性】
技术研发人员:颜景斌高崇禧
申请(专利权)人:哈尔滨理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1