一种固件下载的方法及系统的制作方法

文档序号:8248219阅读:268来源:国知局
一种固件下载的方法及系统的制作方法
【技术领域】
[0001]本发明涉及物联网技术领域,尤其涉及一种固件下载的方法及系统。
【背景技术】
[0002]随着物联网技术的出现,智能联网芯片成了物联网系统的标配,且智能联网芯片中软件的迭代速度也不断的加快。
[0003]近期,TI面向物联网推出了智能CC3200芯片,该智能CC3200芯片实质上是一个具有内置W1-FI功能的微控制器,包括一个负责网络通信和SPI flash操作的MO核和一个负责业务逻辑处理M4核,MO核与M4核之间通过SPI总线连接。当需要更新智能联网芯片内部的固件时,由MO核与外部服务器进行通信,接收到外部服务器传送过来的网络数据包,并通过SPI总线将网络数据包传送至M4核进行业务逻辑处理,再由M4核将处理后的数据通过SPI总线和MO核写入到SPI flash中,在此过程中MO核采用安全套接字连接向外部服务器上报下载进度,并通过TCP连接从外部服务器上下载固件,这种通信方式存在以下缺陷:当MO核采用安全套接字连接向外部服务器上报下载进度和通过TCP连接从服务器上下载固件,与M4核将处理后的数据保存到flash中并发时,经常会出现send函数和write函数阻塞的问题,一旦出现这种问题,整个系统将会被阻塞。

【发明内容】

[0004]本发明的目的在于提供一种固件下载的方法及系统,旨在解决针对现有技术中存在的智能联网芯片中采用安全套接字连接进行固件下载时经常会出现系统阻塞的问题。
[0005]本发明解决其技术问题所采用的技术方案是,构造一种固件下载的方法,包括:
[0006]在智能联网芯片与服务器之间建立安全套接字连接,通过所述安全套接字连接向所述服务器发送固件下载请求,以使所述服务器根据所述固件下载请求返回相应的固件下载指令;
[0007]接收所述固件下载指令,根据所述固件下载指令关闭所述安全套接字连接,并同时在智能联网芯片与所述服务器之间建立第一 TCP连接和第二 TCP连接;
[0008]通过所述第一 TCP连接根据所述固件下载请求从所述服务器中下载数据,通过所述第二 TCP连接向所述服务器上报下载进度。
[0009]在本发明所述固件下载的方法中,还包括:当数据下载完成后,采用MD5算法对所述下载数据进行校验,检验所述下载数据是否完整,若数据完整,则替换所述智能联网芯片中的固件。
[0010]在本发明所述固件下载的方法中,还包括:根据所述下载进度判断固件下载是否处于正常状态,若固件下载异常,则断开所述第一 TCP连接和所述第二 TCP连接,重新在智能联网芯片与服务器之间建立安全套接字连接。
[0011]在本发明所述固件下载的方法中,所述智能联网芯片为CC3200芯片。
[0012]本发明还提供一种固件下载的系统,包括安全套接字连接处理模块、连接控制模块以及TCP连接处理模块,所述TCP连接处理模块包括第一 TCP连接处理单元和第二 TCP连接处理单元;其中:
[0013]所述安全套接字连接处理模块,用于在智能联网芯片与服务器之间建立安全套接字连接,并通过所述安全套接字连接向所述服务器发送固件下载请求,以使所述服务器根据所述固件下载请求返回相应的固件下载指令;
[0014]所述连接控制模块,用于接收所述固件下载指令,根据所述固件下载指令关闭所述安全套接字连接,并同时启动所述第一 TCP连接处理单元和所述第二 TCP连接单元;
[0015]所述第一 TCP连接处理单元,用于根据所述连接控制模块的指令在所述智能联网芯片和所述服务器之间建立第一 TCP连接,并通过所述第一 TCP连接根据所述固件下载请求从所述服务器中下载数据;
[0016]所述第二 TCP连接处理单元,用于根据所述连接控制模块的指令在所述智能联网芯片和所述服务器之间建立第二 TCP连接,并通过所述第二 TCP连接向所述服务器上报下载进度。
[0017]在本发明所述固件下载的系统中,还包括MD5校验模块,所述MD5校验模块与所述TCP连接处理模块连接,用于在数据下载完成后,采用MD5算法对所述下载数据进行校验,检验所述下载数据是否完整,若数据完整,则替换所述智能联网芯片中的固件。
[0018]在本发明所述固件下载的系统中,还包括故障检测模块,所述故障检测模块连接在与所述TCP连接处理模块和与所述连接控制模块之间,用于根据所述下载进度判断固件下载是否处于正常状态,若固件下载异常,则使所述连接控制模块关闭所述TCP连接处理模块,并重新启动所述安全套接字连接处理模块。
[0019]在本发明所述固件下载的系统中,所述智能联网芯片为CC3200芯片。
[0020]实施本发明提供的一种固件下载的方法与系统,具有以下有益效果:
[0021]本发明提供一种固件下载的方法与系统,采用了通过在智能联网芯片与服务器之间建立安全套接字连接,利用安全套接字连接向服务器发送固件下载请求,接收到服务器返回的固件下载指令后,关闭安全套接字连接,同时在智能联网芯片与服务器之间建立两个TCP连接分别用于下载数据和上报下载进度,克服了现有技术中当在智能联网芯片上采用安全套接字连接向外部服务器上报下载进度和通过TCP连接从服务器上下载数据,与将处理后的数据保存到flash中并发时,经常会出现系统阻塞的问题。
【附图说明】
[0022]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是本发明实施例提供的固件下载的方法的实现流程图;
[0024]图2是本发明实施例提供的固件下载的系统的结构框图。
【具体实施方式】
[0025]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026]为了说明本发明的技术方案,下面通过具体实施例来进行说明。
[0027]图1示出了本发明实施例提供的固件下载的方法的实现流程,参见图1所示,该方法的实现流程详述如下:
[0028]S101、在智能联网芯片与服务器之间建立安全套接字连接,通过安全套接字连接向服务器发送固件下载请求,以使服务器根据固件下载请求返回相应的固件下载指令。
[0029]本实施例中,安全套接字连接是基于安全套接字层协议的通信连接,采用该连接向服务器发送固件下载请求可以保证数据在传输过程中不被窃取或篡改,确保机密信息的保密性、完整性和可信性。
[0030]S102、接收固件下载指令,根据固件下载指令关闭安全套接字连接,并同时在智能联网芯片与服务器之间建立第一 TCP连接和第二 TCP连接。
[0031]S103、通过第一 TCP连接根据固件下载请求从服务器中下载数据,通过第二 TCP连接向服务器上报下载进度。
[0032]在本实施例中,智能芯片会通过第一 TCP连接根据固件下载请求在服务器中查找固件所在的地址,并根据该地址从服务器中下载数据;同时,会通过第二 TCP连接向服务器上报下载进度,并实时更新下载进度。这里采用TCP连接代替现有技术中的安全套接字连接向服务器上报下载进度,可以克服现有技术中当在智能联网芯片上采用安全套接字连接向外部服务器上报下载进度和通过TCP连接从服务器上下载固件,与将处理后的数据保存到flash中并发时,经常会出现系统阻塞的问题。
[0033]可选的,在本实施例中,还可以包括:当固件下载完成后,采用MD5算法对下载数据进行校验,检验下载数据是否完整,若数据完整,则替换智能联网芯片中的固件。具体的,当固件下载完成后,下载数据中会包含有一个存有校验码的文件,此时,采用MD5算法对接收到的下载数据执行散列运算,若计算得出的结果与下载数据中本身就包含的校验码的值相同,则说明下载数据完整无误、没有被窜改过,从而可以利用放心使用,利用该下载数据替换智能联网芯片中原有的旧固件。
[0034]可选的,在本实施例中还可以包括:根据下载进度判断固件下载是否处于正常状态,若固件下载异常,则断开第一 TCP连接和第二 TCP连接,并返重新在智能联网芯片与服务器之间建立安全套接字连接,这样便可以时刻监测固件下载是否处于故障状态,进一步保证固件下载的顺利进行。这里需要说明的是,在固件下载的过程中系统会通过第二 TCP连接向服务器上报下载进度,并实时更新下载进度,当下载进度在预设的时间段内保持不变时,则判断为固件下载异常。
[0035]可选的,本实施例中的智能联网芯片为CC3200芯片。本发明提供的固件下载的系统应用在CC3200芯片上时,可以克服CC3200芯片中MO核采用安全套接字连接向外部
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1