一种基于WIFI的DSP与ARM双核控制器在线升级系统及其方法技术方案

技术编号:19820899 阅读:20 留言:0更新日期:2018-12-19 14:23
本发明专利技术公开一种基于WIFI的DSP与ARM双核控制器在线升级系统及其方法;包括服务器,无线路由器和若干设备;设备包括ARM、DSP和WIFI模块,设备通过WIFI模块与无线路由器建立无线连接,无线路由器与服务器建立通信链路,ARM通过SPI总线与DSP连接;ARM的内部FLASH具有A、B、C、D四个区域,A区域用于存放ARM的BootLoader,B区域和C区域用于存放用户程序,D区域用于存放相关参数;DSP包括内部FLASH、内部RAM以及外部SRAM。本发明专利技术具有的有益效果:1、本发明专利技术能够同时对控制器的DSP和ARM进行升级;2、本发明专利技术中升级系统外围电路简单,不需要复杂的电路就可以实现远程升级;3、本发明专利技术中上位机软件支持单独升级DSP或ARM程序;4、本发明专利技术中上位机软件支持同时批量在线升级程序。

【技术实现步骤摘要】
一种基于WIFI的DSP与ARM双核控制器在线升级系统及其方法
本专利技术具体涉及一种基于WIFI的DSP与ARM双核控制器在线升级系统及其方法。
技术介绍
据研究称,任何软件开发商都不可能把软件开发做到完美,软件在使用一段时间之后由于各方面的原因,总会出现各种问题,随着新技术的出现以及用户要求的不断增加,软件升级变得越来越重要。现在基本国内各种软件都具备自动升级或在线升级功能,一般都是有新版本时提示用户确认升级,开始下载软件,下载完成后安装软件,安装完成后自动删除升级包。不过这种方式有一些缺点,例如正在升级的过程中不能使用原来的程序、新的程序会覆盖掉原来的程序,不能回退到上个版本等。本专利技术解决了升级的过程中不能使用、新的程序会覆盖掉原来的程序等技术问题。
技术实现思路
本专利技术的目的在于克服现有技术中的不足,提供一种基于WIFI的DSP与ARM双核控制器在线升级系统。为解决现有技术问题,本专利技术公开了一种基于WIFI的DSP与ARM双核控制器在线升级系统,包括服务器,无线路由器和若干设备;设备包括ARM、DSP和WIFI模块,设备通过WIFI模块与无线路由器建立无线连接,无线路由器与服务器建立通信链路,ARM通过SPI总线与DSP连接;ARM的内部FLASH具有A、B、C、D四个区域,A区域用于存放ARM的BootLoader,B区域和C区域用于存放用户程序,D区域用于存放相关参数;DSP包括内部FLASH、内部RAM以及外部SRAM。本专利技术还公开了一种用于上述升级系统的升级方法,包括如下步骤:设备开机,DSP将FLASH中的程序搬运到内部RAM中运行;上位机读取ARM和DSP中的升级程序后将程序拆包发送到ARM;数据接收完成后,ARM将ARM程序与DSP程序拆分,拆分后的ARM程序解密后写入FLASHC区域,并在FLASHD区域写入升级程序存放地址FLASHC,此时ARM会向服务器发送ARM程序升级完成信息,然后拆分后的DSP程序通过SPI拆包发送到DSP;DSP将接收到数据校验并反馈相关信息给ARM,ARM根据相关信息判断是否进行重新发送程序还是继续发送程序,DSP将校验成功的程序数据写入到外部SRAM中,DSP程序接收完成后,DSP将SRAM中的程序解密后调用TI的DSPFLASHAPI写入DSP的FLSH中;写入成功后,DSP向ARM发送升级成功信息并重启;重启后DSP将FLASH程序搬运到RAM后开始执行新程序;ARM收到DSP升级成功信息后,将DSP升级成功信息发送到服务器,然后ARM开始重启,ARM重启后首先执行的是FLASHA中的BootLoader程序,BootLoader会读取FLASHD区升级程序的存放地址,此时是FLASHC,读取到后程序跳转到FLASHC区执行,下一次升级存放地址为FLASHB,FLASHD中数据内容为FLASHB的地址,以此类推。作为优选方案,该方法还包括如下步骤:ARM和DSP升级后重启,服务器的升级软件会再次查询一次设备软件版本号信息,若与升级程序版本号一致,则升级成功。作为优选方案,该方法还包括如下步骤:服务器获取设备软件版本号并判断是否需要升级,若需要则发送升级程序包给设备,否则升级取消。作为优选方案,ARM根据相关信息判断是否进行重新发送程序还是继续发送程序,若需要重新发送则进一步判断重发次数是否大于三次,若是则取消升级,否则重新发送程序给设备,若继续发送程序。作为优选方案,该方法还包括如下步骤:服务器发送升级程序时,判断是否接收到软件强制取消升级指令,若是则升级取消,否则继续发送升级程序。本专利技术具有的有益效果:1、本专利技术能够同时对控制器的DSP和ARM进行升级;2、本专利技术中升级系统外围电路简单,不需要复杂的电路就可以实现远程升级;3、本专利技术中上位机软件支持单独升级DSP或ARM程序;4、本专利技术中上位机软件支持同时批量在线升级程序;5、本专利技术中程序解密放在升级最后一步处理,保证外部器件不包含未经加密的程序,防止程序泄露;6、本专利技术中DSP加密程序放在外部SRAM中,加快了数据读取速度,且可以作为扩展SRAM使用,当程序大于内部RAM存储空间时,可以使用外部SRAM进行调试。附图说明图1是本专利技术中的系统框图;图2是本专利技术中服务器端的流程图;图3是本专利技术中设备端的流程图。具体实施方式下面结合附图对本专利技术作进一步描述。以下实施例仅用于更加清楚地说明本专利技术的技术方案,而不能以此来限制本专利技术的保护范围。如图1至3所示,一种基于WIFI的DSP与ARM双核控制器在线升级系统,包括服务器,无线路由器和若干设备。设备包括ARM、DSP和WIFI模块,设备通过WIFI模块与无线路由器建立无线连接,无线路由器与服务器建立通信链路,ARM通过SPI总线与DSP连接。ARM的内部FLASH具有A、B、C、D四个区域,A区域用于存放ARM的BootLoader,B区域和C区域用于存放用户程序,D区域用于存放相关参数。DSP包括内部FLASH、内部RAM以及外部SRAM。设备开机后程序将FLASH内部程序搬运到内部RAM中运行,SRAM存放零时缓存文件。一种用于上述系统的升级方法,对于服务器端包括如下步骤:服务器升级软件开始运行,读取加密后的DSP和ARM程序文件,并根据协议将DSP程序与ARM程序整合为一个文件并拆成若干个小包。服务器获取设备升级软件的版本号,判断设备是否需要升级,若是则发送升级程序给设备,否则升级取消。服务器在发送升级程序时,还要判断是否接收到软件强制取消升级的指令,若是则升级取消,否则继续发送升级程序给设备。服务器发送完升级程序后,设备会对接收到的程序数据进行校验,若校验通过则设备开始升级,否则服务器将重新发送升级程序。若重新发送的次数超过三次则升级取消,否则将重新发送升级程序。对于设备端包括如下步骤:设备开机,DSP将FLASH中的程序搬运到内部RAM中运行;设备接收服务器发送的升级程序,上位机读取ARM和DSP中的升级程序后将程序拆包发送到ARM。ARM接收数据并判断该数据是升级程序还是取消升级的指令,若是升级程序则进一步校验该升级程序,否则将取消升级。若校验不成功则将上报校验错误至服务器并等待服务器重新发送升级程序,否则将进一步判断数据数据是否接收完成,若未完成则返回到接收数据的步骤,否则ARM将ARM程序与DSP程序拆分,拆分后的ARM程序解密后写入FLASHC区域,并在FLASHD区域写入升级程序存放地址FLASHC,此时ARM会向服务器发送ARM程序升级完成信息,然后拆分后的DSP程序通过SPI拆包发送到DSP。DSP将接收到数据校验并反馈相关信息给ARM,ARM根据相关信息判断是否进行重新发送程序还是继续发送程序,DSP将校验成功的程序数据写入到外部SRAM中,DSP程序接收完成后,DSP将SRAM中的程序解密后调用TI的DSPFLASHAPI写入DSP的FLSH中。写入成功后,DSP向ARM发送升级成功信息并重启;重启后DSP将FLASH程序搬运到RAM后开始执行新程序。ARM收到DSP升级成功信息后,将DSP升级成功信息发送到服务器,然后ARM开始重启,ARM重启后首先执行的是FLASHA中的BootLoader程序,BootLoa本文档来自技高网...

【技术保护点】
1.一种基于WIFI的DSP与ARM双核控制器在线升级系统,其特征在于:包括服务器,无线路由器和若干设备;所述设备包括ARM、DSP和WIFI模块,所述设备通过所述WIFI模块与所述无线路由器建立无线连接,所述无线路由器与所述服务器建立通信链路,所述ARM通过SPI总线与所述DSP连接;所述ARM的内部FLASH具有A、B、C、D四个区域,所述A区域用于存放所述ARM的BootLoader,所述B区域和C区域用于存放用户程序,所述D区域用于存放相关参数;所述DSP包括内部FLASH、内部RAM以及外部SRAM。

【技术特征摘要】
1.一种基于WIFI的DSP与ARM双核控制器在线升级系统,其特征在于:包括服务器,无线路由器和若干设备;所述设备包括ARM、DSP和WIFI模块,所述设备通过所述WIFI模块与所述无线路由器建立无线连接,所述无线路由器与所述服务器建立通信链路,所述ARM通过SPI总线与所述DSP连接;所述ARM的内部FLASH具有A、B、C、D四个区域,所述A区域用于存放所述ARM的BootLoader,所述B区域和C区域用于存放用户程序,所述D区域用于存放相关参数;所述DSP包括内部FLASH、内部RAM以及外部SRAM。2.一种用于如权利要求1所述的一种基于WIFI的DSP与ARM双核控制器在线升级系统的升级方法,其特征在于:包括如下步骤:设备开机,DSP将FLASH中的程序搬运到内部RAM中运行;上位机读取ARM和DSP中的升级程序后将程序拆包发送到ARM;数据接收完成后,ARM将ARM程序与DSP程序拆分,拆分后的ARM程序解密后写入FLASHC区域,并在FLASHD区域写入升级程序存放地址FLASHC,此时ARM会向服务器发送ARM程序升级完成信息,然后拆分后的DSP程序通过SPI拆包发送到DSP;DSP将接收到数据校验并反馈相关信息给ARM,ARM根据相关信息判断是否进行重新发送程序还是继续发送程序,DSP将校验成功的程序数据写入到外部SRAM中,DSP程序接收完成后,DSP将SRAM中的程序解密后调用TI的DSPFLASHAPI写入DSP的FLSH中;写入成功后,DSP向ARM发送升级...

【专利技术属性】
技术研发人员:朱磊王真赵刚王遥遥
申请(专利权)人:昆山岩古风智能科技有限公司
类型:发明
国别省市:江苏,32

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

1