CN108874432A - 无线固件升级*** - Google Patents

无线固件升级*** Download PDF

Info

Publication number
CN108874432A
CN108874432A CN201810939256.7A CN201810939256A CN108874432A CN 108874432 A CN108874432 A CN 108874432A CN 201810939256 A CN201810939256 A CN 201810939256A CN 108874432 A CN108874432 A CN 108874432A
Authority
CN
China
Prior art keywords
data
equipment
data packet
firmware
programming
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.)
Granted
Application number
CN201810939256.7A
Other languages
English (en)
Other versions
CN108874432B (zh
Inventor
曾宪仁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen You Chi Technology Co Ltd
Original Assignee
Shenzhen You Chi Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen You Chi Technology Co Ltd filed Critical Shenzhen You Chi Technology Co Ltd
Priority to CN201810939256.7A priority Critical patent/CN108874432B/zh
Publication of CN108874432A publication Critical patent/CN108874432A/zh
Application granted granted Critical
Publication of CN108874432B publication Critical patent/CN108874432B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates 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

本发明公开了一种无线固件升级***,该***包括源设备、主设备及从设备:源设备用于存储已加密的固件数据;主设备用于从源设备处以第一数据包的形式获取所述固件数据,及将所有第一数据包重新处理成多个第二数据包,第二数据包的长度小于或等于从设备的最大处理长度;主设备将每个第二数据包添加校验码后发送给从设备;从设备接收到一个第二数据包后,对该数据包校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密,并将解密后的数据烧写进对应的flash中,烧写完毕后,继续请求下一个数据包进行处理直至烧写完成所有数据包。本发明将无线升级中固件数据进行加密,提高数据传输过程中的安全性及升级效率,同时增加固件升级的便利性。

Description

无线固件升级***
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种无线固件升级***。
背景技术
固件(firmware)升级,意思就是对嵌入式设备的固件程序进行更新升级。可以完善设备的功能、增强机器设备的稳定性、修补程序漏洞。在一般的嵌入式***中,会通过各种烧写调试接口将固件程序烧写进目标芯片的flash芯片中,如果发现了***漏洞和bug或者需要升级添加功能,也就是需要升级固件时,则要覆盖原来的固件程序并且烧写新编译生成的固件程序,这种方式理论上的最容易实现固件升级的。若实际的产品已经销售给客户了,这就要求开发人员到现场进行操作,对于量小价高的产品还可进行现场升级,但对于销量大的产品却难度很大。且现有设备产品绝大部分有外壳的,拆装也给固件的升级带来很大的阻挠,更甚至产品为了节约成本和缩小体积就把烧写调试接口直接省略,为固件升级带来非常大的难度。
发明内容
鉴于上述问题,本发明实施例的目的在于提供一种无线固件升级***,以解决现有技术的不足。
根据本发明的一个实施方式,提供一种无线固件升级***,
包括源设备、主设备及从设备:
所述源设备用于存储已加密的固件数据;
所述主设备用于从源设备处以第一数据包的形式获取所述固件数据,及将所有第一数据包重新处理成多个第二数据包,其中,所述第二数据包的长度小于或等于所述从设备的最大处理长度;
所述主设备将每个第二数据包添加校验码后发送给所述从设备;
所述从设备接收到一个所述第二数据包后,对该数据包校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密,并将解密后的数据烧写进对应的flash中,烧写完毕后,继续请求下一个数据包进行处理直至烧写完成所有数据包。
在上述的无线固件升级***中,所述“将所有第一数据包重新处理成多个第二数据包”包括:
对所述第一数据包进行解析,提取有效数据;
根据所述从设备的最大处理长度将所有第一数据包的有效数据重新处理成多个第二数据包。
在上述的无线固件升级***中,所述“将所有第一数据包重新处理成多个第二数据包”包括:
对所述第一数据包进行解析,提取有效数据;
根据预设的处理长度将所有第一数据包的有效数据重新处理成多个第二数据包,其中,所述预设的处理长度小于或等于所述从设备的最大处理长度。
在上述的无线固件升级***中,对该数据包内的固件数据进行解密之后,还包括:
判断所述第二数据包的格式是否为bin格式;
若所述第二数据包的格式为bin格式,将所述bin格式的第二数据包烧写进对应的flash中;
若所述第二数据包的格式不是bin格式,解析该第二数据包,提取出有效数据,将所述有效数据烧写进对应的flash中。
在上述的无线固件升级***中,所述从设备接收到一个所述第二数据包之前,还包括:
所述从设备通过访问所述主设备来判断是否有升级操作;
若有升级操作,所述从设备向所述主设备请求所述固件数据的相关信息数据包,并对该相关信息数据包进行解析获取所述固件数据的相关信息以进行后续的升级操作,其中,所述固件数据的相关信息至少包括所述固件数据的加密类型;
若无升级操作,跳转至对应的应用。
在上述的无线固件升级***中,获取所述固件数据的相关信息后还包括:
所述从设备根据所述固件数据的加密类型加载预先存储的与该加密类型对应的秘钥。
在上述的无线固件升级***中,所述预先存储的秘钥设置有读写保护功能。
在上述的无线固件升级***中,在烧写完成所有数据包后,还包括:
所述从设备向所述主设备发送升级结束信号,所述主设备将所述升级结束信号发送至所述源设备,以此完成固件升级操作。
在上述的无线固件升级***中,所述源设备通过移动通信、WIFI、蓝牙或者ZIGBEE中的一种或多种方式与所述主设备进行无线通信连接;
所述主设备通过有线方式与所述从设备进行连接。
在上述的无线固件升级***中,所述主设备和所述从设备之间的通信模式为异步通信模式。
根据本发明的另一个实施方式,提供一种无线固件升级方法,应用于源设备、主设备及从设备,所述源设备、所述主设备及所述从设备依次连接,该方法包括:
所述源设备存储有已加密的固件数据;
所述主设备从源设备处以第一数据包的形式获取所述固件数据,及将所有第一数据包重新处理成多个第二数据包,其中,所述第二数据包的长度小于或等于所述从设备的最大处理长度;
所述主设备将每个第二数据包添加校验码后发送给所述从设备;
所述从设备接收到一个所述第二数据包后,对该数据包进行校验,校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密,并将解密后的数据烧写进对应的flash中,烧写完毕后,继续请求下一个数据包进行处理直至烧写完成所有数据包。
根据本发明的再一个实施方式,提供一种无线固件升级装置,应用于源设备、主设备及从设备,所述源设备、所述主设备及所述从设备依次连接,该装置包括:
存储模块,用于所述源设备存储有已加密的固件数据;
获取处理模块,用于所述主设备从源设备处以第一数据包的形式获取所述固件数据,及将所有第一数据包重新处理成多个第二数据包,其中,所述第二数据包的长度小于或等于所述从设备的最大处理长度;
发送模块,用于所述主设备将每个第二数据包添加校验码后发送给所述从设备;
解密烧写模块,所述从设备接收到一个所述第二数据包后,所述解密烧写模块用于对该数据包进行校验,校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密,并将解密后的数据烧写进对应的flash中,烧写完毕后,继续请求下一个数据包进行处理直至烧写完成所有数据包。
根据本发明的又一个实施方式,提供一种计算机可读存储介质,其存储有上述的所述无线固件升级方法。
本公开的实施例提供的技术方案可以包括如下有益效果:
本发明中一种无线固件升级***和装置,可以对设备进行安全有效的无线远程固件升级,无需通过人工的方式逐一到现场进行每个产品的固件升级,节约人力成本、提高升级效率;在升级过程中数据传输的都是密文,能有效的保证数据的安全性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供的一种无线固件升级***的结构示意图。
图2示出了本发明第一实施例提供的一种无线固件升级方法的流程示意图。
图3a-图3b示出了本发明第二实施例提供的一种无线固件升级方法的流程示意图。
图4示出了本发明实施例提供的一种无线固件升级装置的结构示意图。
主要元件符号说明:
100-无线固件升级***;110-源设备;120-主设备;130-从设备;200-无线固件升级装置;210-存储模块;220-获取处理模块;230-发送模块;240-解密烧写模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
图1示出了本发明实施例提供的一种无线固件升级***的结构示意图。
该无线固件升级***100包括源设备110、主设备120及从设备130。所述源设备110可以为任何可以存储固件数据且可以和主设备120进行数据通信的设备或者各种平台。所述设备可以为手机、平板、计算机及服务器等。
所述主设备120可以为任何可以存储固件数据且具有一定控制功能的通讯模块,可以实现和源设备110及从设备130进行数据通信的设备,所述控制功能至少包括负责从源设备110处获取加密的固件数据,并对固件数据进行处理传输到从设备130中。
所述从设备130可以为任何可以和主设备120进行数据通信的待升级设备。
所述源设备110、所述主设备120及所述从设备130依次连接。
进一步地,所述源设备110通过移动通信、WIFI、蓝牙或者ZIGBEE中的一种或多种方式与所述主设备120进行无线通信连接;所述主设备120通过有线方式与所述从设备130进行连接。
进一步地,所述主设备120和所述从设备130之间的通信模式为异步通信模式,既能够支持有连接的业务,又能支持无连接的业务,针对各种通讯链路形态,提供最佳的传输环境,能够实现比较理想地QoS(Quality of Service,服务质量)。
本实施例中,所述异步通信协议可以为uart协议。在一些其他的实施例中,所述异步通信协议还可以为modem等协议。
所述源设备110用于存储已加密的固件数据。
开发人员将要升级固件数据编写并编译成功后,通过加密算法对固件数据进行加密,并将加密好的固件数据上传至源设备110中。
本实施例中,所述加密算法为AES256算法。在一些其他的实施例中,所述加密算法还可以为MD5等加密算法。
固件升级指令是由源设备110发出的,源设备110在发出固件升级指令后开始启动整个升级流程。升级开始后,源设备110将加密的固件数据发送给主设备120。
所述主设备120用于从源设备110处以第一数据包的形式获取所述固件数据,并用于判断所述第一数据包的长度是否大于所述从设备的最大处理长度。
所述源设备110将所述固件数据分为多个第一数据包,该第一数据包以所述主设备120的最大处理长度确定。所述主设备120的RAM的大小决定所述主设备120处理数据包的最大处理长度。
RAM(random access memory)又称作"随机存储器",是与CPU直接交换数据的内部存储器,也叫主存(内存)。它可以随时读写,而且速度很快,通常作为操作***或其他正在运行中的程序的临时数据存储媒介。
所述主设备120向所述源设备110获取包括该固件数据的所有第一数据包,及将所有第一数据包重新处理成多个第二数据包。
其中,所述第二数据包的长度小于或等于所述从设备130的最大处理长度。所述从设备130的RAM的大小决定所述从设备130处理数据包的最大处理长度。
进一步地,所述“将所有第一数据包重新处理成多个第二数据包”包括:
对所述第一数据包进行解析,提取有效数据;根据所述从设备130的最大处理长度将所有第一数据包的有效数据重新处理成多个第二数据包。
所述有效数据为除却报头和校验码等数据后剩余的数据位内包含的固件数据。
例如,若源设备110发送给主设备120的固件数据共包括10个第一数据包,每一第一数据包中包括16个字节的有效数据,所有第一数据包共包括160字节的有效数据。若从设备130的最大处理长度为可处理除报头和校验码之外的10字节的有效数据,所述主设备120可将该所有第一数据包所包含的160字节的有效数据重新处理分为16个第二数据包进行传输,第二数据包中除了包括报头及校验码等数据后,还包括10个字节的有效数据。
进一步地,所述“将所有第一数据包重新处理成多个第二数据包”包括:
对所述第一数据包进行解析,提取有效数据;根据预设的处理长度将所有第一数据包的有效数据重新处理成多个第二数据包。
其中,所述预设的处理长度为所述主设备120和所述从设备130事先约定好的,所述预设的处理长度小于或等于所述从设备130的最大处理长度。
所述主设备120将每个第二数据包添加校验码后发送给所述从设备130。
所述从设备130接收到一个所述所述第二数据包后,对该数据包校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密,并将解密后的数据烧写进对应的flash中,烧写完毕后,继续请求下一个数据包进行处理直至烧写完成所有数据包。
所述从设备130中预先存储有与固件数据的加密类型对应的秘钥。
进一步地,所述预先存储的秘钥设置有读写保护功能,以防止所述秘钥被篡改及删除。
从所述主设备120向所述从设备130发送的第一个第二数据包开始,所述从设备130在接收到所述第一个第二数据包后,解析该第二数据包,根据该第二数据包中的校验码对该第二数据包进行校验,从设备130根据校验码重新计算该数据包内的内容是否正确,以确定帧在传送过程中是否被损坏。校验无误后根据预先存储的秘钥对该第二数据包内的固件数据进行解密,并将解密后的数据烧写进对应固件的flash芯片中。将该第一个第二数据包中的固件数据烧写完成后,判断该第二数据包是否为最后一个数据包,若不是最后一个数据包,所述从设备130继续请求下一个第二数据包进行处理直至烧写完成所有的第一数据包或或第二数据包。
实施例2
图2示出了本发明第一实施例提供的一种无线固件升级方法的流程示意图。该无线固件升级方法应用于源设备、主设备及从设备,所述源设备、所述主设备及所述从设备依次连接。
进一步地,所述源设备通过移动通信、WIFI、蓝牙或者ZIGBEE中的一种或多种方式与所述主设备进行无线通信连接;所述主设备通过有线方式与所述从设备进行连接。
该无线固件升级方法包括:
步骤S110,源设备存储有已加密的固件数据。
步骤S120,主设备从源设备处以第一数据包的形式获取所述固件数据及将所有第一数据包重新处理成多个第二数据包。
步骤S130,所述主设备将每个第二数据包添加校验码后发送给所述从设备。
步骤S140,所述从设备接收到一个所述第二数据包后,对该数据包进行校验,校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密,并将解密后的数据烧写进对应的flash中,烧写完毕后,继续请求下一个数据包进行处理直至烧写完成所有数据包。
实施例3
图3a-图3b示出了本发明第二实施例提供的一种无线固件升级方法的流程示意图。该无线固件升级方法应用于源设备、主设备及从设备,所述源设备、所述主设备及所述从设备依次连接。
进一步地,所述源设备通过移动通信、WIFI、蓝牙或者ZIGBEE中的一种或多种方式与所述主设备进行无线通信连接;所述主设备通过有线方式与所述从设备进行连接。
该无线固件升级方法包括:
步骤S210,源设备存储有已加密的固件数据。
与实施例2中步骤S110相同,在此不再赘述。
步骤S220,主设备从源设备处以第一数据包的形式获取所述固件数据。
与实施例2中步骤S120相同,在此不再赘述。
步骤S230,对所述第一数据包进行解析,提取有效数据。
对所述第一数据包的帧格式进行解析,提取数据部分的所有内容。
步骤S240,根据所述从设备的最大处理长度将所有第一数据包的有效数据重新处理成多个第二数据包。
将所有第一数据包的有效数据按照从设备的最大处理长度分为多个第二数据包。
其中,所述第二数据包的长度小于或等于所述从设备的最大处理长度。
另外,还可以根据所述主设备和所述从设备事先约定好的预设的处理长度将所有第一数据包的有效数据重新处理成多个第二数据包。
其中,所述预设的处理长度小于或等于所述从设备的最大处理长度。
步骤S250,所述主设备将每个第二数据包添加校验码后发送给所述从设备。
为每一第二数据包添加帧头,帧校验码等数据,便于主设备和从设备之间通过应用层的交互协议传输数据,防止传输过程中出现数据丢失、损坏及错乱等问题。
步骤S260,判断是否有升级操作。
所述从设备在接收第一个第二数据包之前,还通过访问主设备来判断是否有升级操作。若有升级操作,前进至步骤S270;若没有升级操作,前进至步骤S280。
开发人员和从设备的使用人员在源设备处启动固件升级操作,固件升级操作启动后,源设备将固件升级信号传递到主设备,从设备在开机的时候会和主设备进行通信,如果获取到这一固件升级信号,则开始升级;如果没有获取到固件升级信号,则进入对应的应用程序APP正常运行。
步骤S270,从设备向所述主设备请求所述固件数据的相关信息数据包,并对该相关信息数据包进行解析获取所述固件数据的相关信息以进行后续的升级操作。
所述固件数据的相关信息包括所述固件的大小、所述固件数据的数据格式及所述固件数据的加密类型等信息,从而在后续的升级过程中采用对应操作进行固件升级。
步骤S280,跳转至对应的应用。
步骤S290,根据所述固件数据的加密类型加载预先存储的与该加密类型对应的秘钥。
所述从设备中预先存储有不同加密算法对应的秘钥。该从设备中存储的秘钥设置有读写保护功能。
加密类型 秘钥
1 Key1
…… ……
N KeyN
例如,若加密类型为类型1,类型1为通过加密算法1进行加密的,则与类型1对应的秘钥为Key1;若加密类型为类型N,类型N为通过加密算法N进行加密的,则与类型N对应的秘钥为KeyN。
根据步骤S270中获取的加密类型信息,加载预先存储的与该加密类型对应的秘钥。
步骤S300,对该数据包校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密。
步骤S310,判断接收数据包是否为bin格式。
根据步骤S270中获取的所述数据包的数据格式,若所述数据包的数据格式为bin格式,前进至步骤S320;若所述数据包的数据格式不是bin格式,前进至步骤S330。
本实施例中,数据格式可以为bin格式、hex格式及S19格式等。
步骤S320,将bin格式的第二数据包烧写进对应的flash中。
步骤S330,解析该第二数据包,提取处有效数据,将所述有效数据烧写进对应的flash中。
若所述数据包的数据格式为hex、S19等数据格式,以hex格式为例,该hex格式的固件数据中除了包括固件数据之外,还包括有其他的信息,不能直接进行烧写到flash芯片中,需对所述hex格式的第二数据包进行解析,提取出包含固件数据的有效数据,将该有效数据烧写进对应的flash芯片中。
步骤S340,判断该数据包是否为最后一包。
根据步骤S270中获取的固件数据的大小或数据包中帧结构中的预置的状态值判断该数据包是否为该固件数据的最后一个数据包。
若当前数据包不是该固件数据的最后一个数据包,前进至步骤S350,继续请求下一个数据包;若当前数据包为该固件数据的最后一个数据包,前进至步骤S360。
步骤S350,请求下一个数据包。
若当前数据包不是该固件数据的最后一个数据包,后续还有数据包需进行烧写,请求下一个数据包,接收到带下一个数据包后,重复执行步骤S310~S350中的所有步骤,直至所有数据包均烧写完毕。
步骤S360,所述从设备向所述主设备发送升级结束信号,所述主设备将所述升级结束信号发送至所述源设备,以此完成固件升级操作。
当所有数据包均烧写完毕后,完成固件升级后,所述从设备向主设备发送升级结束信号,所述主设备将该升级结束信号转发至源设备,依次完成整个源设备、主设备及从设备之间的固件升级操作。
实施例4
图4示出了本发明实施例提供的一种无线固件升级装置的结构示意图。该无线固件升级装置200应用于源设备、主设备及从设备,所述源设备、所述主设备及所述从设备依次连接。
所述无线固件升级装置200包括存储模块210、获取处理模块220、发送模块230及解密烧写模块240。
存储模块210,用于所述源设备存储有已加密的固件数据;
获取处理模块220,用于所述主设备从源设备处以第一数据包的形式获取所述固件数据,及将所有第一数据包重新处理成多个第二数据包,其中,所述第二数据包的长度小于或等于所述从设备的最大处理长度;
发送模块230,用于所述主设备将每个第二数据包添加校验码后发送给所述从设备;
解密烧写模块240,所述从设备接收到一个所述第二数据包后,所述解密烧写模块240用于对该数据包进行校验,校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密,并将解密后的数据烧写进对应的flash中,烧写完毕后,继续请求下一个数据包进行处理直至烧写完成所有数据包。
本实施例还提供了一种计算机存储介质,用于储存上述的所述无线固件升级方法。
至此,本发明提供了一种无线固件升级***,通过中间的主设备对源设备和从设备之间的固件数据进行转发,可以对设备进行安全有效的无线远程固件升级,无需通过人工的方式逐一到现场进行每个产品的固件升级,节约人力成本、提高升级效率;通过中间的主设备与源设备之间的有线连接,确保了从设备接收数据的完整性,提高传输速率及安全性,进一步提高固件升级的成功率;在升级过程中数据传输的都是密文,能有效的保证数据的安全性。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种无线固件升级***,其特征在于,包括源设备、主设备及从设备:
所述源设备用于存储已加密的固件数据;
所述主设备用于从源设备处以第一数据包的形式获取所述固件数据,及将所有第一数据包重新处理成多个第二数据包,其中,所述第二数据包的长度小于或等于所述从设备的最大处理长度;
所述主设备将每个第二数据包添加校验码后发送给所述从设备;
所述从设备接收到一个所述第二数据包后,对该数据包校验无误后根据预先存储的秘钥对该数据包内的固件数据进行解密,并将解密后的数据烧写进对应的flash中,烧写完毕后,继续请求下一个数据包进行处理直至烧写完成所有数据包。
2.根据权利要求1所述的无线固件升级***,其特征在于,所述“将所有第一数据包重新处理成多个第二数据包”包括:
对所述第一数据包进行解析,提取有效数据;
根据所述从设备的最大处理长度将所有第一数据包的有效数据重新处理成多个第二数据包。
3.根据权利要求1所述的无线固件升级***,其特征在于,“将所有第一数据包重新处理成多个第二数据包”包括:
对所述第一数据包进行解析,提取有效数据;
根据预设的处理长度将所有第一数据包的有效数据重新处理成多个第二数据包,其中,所述预设的处理长度小于或等于所述从设备的最大处理长度。
4.根据权利要求1所述的无线固件升级***,其特征在于,对该数据包内的固件数据进行解密之后,还包括:
判断所述第二数据包的格式是否为bin格式;
若所述第二数据包的格式为bin格式,将所述bin格式的第二数据包烧写进对应的flash中;
若所述第二数据包的格式不是bin格式,解析该第二数据包,提取出有效数据,将所述有效数据烧写进对应的flash中。
5.根据权利要求1所述的无线固件升级***,其特征在于,所述从设备接收到一个第二数据包之前,还包括:
所述从设备通过访问所述主设备来判断是否有升级操作;
若有升级操作,所述从设备向所述主设备请求所述固件数据的相关信息数据包,并对该相关信息数据包进行解析获取所述固件数据的相关信息以进行后续的升级操作,其中,所述固件数据的相关信息至少包括所述固件数据的加密类型;
若无升级操作,跳转至对应的应用。
6.根据权利要求5所述的无线固件升级***,其特征在于,获取所述固件数据的相关信息后还包括:
所述从设备根据所述固件数据的加密类型加载预先存储的与该加密类型对应的秘钥。
7.根据权利要求1所述的无线固件升级***,其特征在于,所述预先存储的秘钥设置有读写保护功能。
8.根据权利要求1所述的无线固件升级***,其特征在于,在烧写完成所有数据包后,还包括:
所述从设备向所述主设备发送升级结束信号,所述主设备将所述升级结束信号发送至所述源设备,以此完成固件升级操作。
9.根据权利要求1所述的无线固件升级***,其特征在于,所述源设备通过移动通信、WIFI、蓝牙或者ZIGBEE中的一种或多种方式与所述主设备进行无线通信连接;
所述主设备通过有线方式与所述从设备进行连接。
10.根据权利要求1所述的无线固件升级***,其特征在于,所述主设备和所述从设备之间的通信模式为异步通信模式。
CN201810939256.7A 2018-08-17 2018-08-17 无线固件升级*** Active CN108874432B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810939256.7A CN108874432B (zh) 2018-08-17 2018-08-17 无线固件升级***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810939256.7A CN108874432B (zh) 2018-08-17 2018-08-17 无线固件升级***

Publications (2)

Publication Number Publication Date
CN108874432A true CN108874432A (zh) 2018-11-23
CN108874432B CN108874432B (zh) 2022-07-12

Family

ID=64318921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810939256.7A Active CN108874432B (zh) 2018-08-17 2018-08-17 无线固件升级***

Country Status (1)

Country Link
CN (1) CN108874432B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143856A (zh) * 2019-12-27 2020-05-12 郑州信大捷安信息技术股份有限公司 一种plc远程固件升级***及方法
CN112083940A (zh) * 2020-07-29 2020-12-15 宁波三星医疗电气股份有限公司 基于国密算法的电力采集终端远程升级方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084484A2 (en) * 2001-04-18 2002-10-24 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
CN101383847A (zh) * 2008-08-25 2009-03-11 中兴通讯股份有限公司 一种无线数据终端的固件升级方法及装置
CN101783812A (zh) * 2009-12-01 2010-07-21 深圳市蓝韵实业有限公司 一种基于网络的fpga配置***及配置方法
CN102075564A (zh) * 2010-12-23 2011-05-25 李华嵩 一种远程软件升级技术方法
CN102314369A (zh) * 2011-10-09 2012-01-11 杭州先锋电子技术股份有限公司 一种远程在线监控***中设备自升级方法
CN102611720A (zh) * 2011-01-21 2012-07-25 基信康信息技术(上海)有限公司 手机固件升级方法
CN103118198A (zh) * 2013-02-05 2013-05-22 惠州Tcl移动通信有限公司 移动终端的固件升级方法及***
CN105117253A (zh) * 2015-08-27 2015-12-02 常州大学 一种基于BootLoader的UV LED固化***远程升级方法
CN105843645A (zh) * 2016-03-24 2016-08-10 浙江风向标科技有限公司 zigbee设备的固件升级方法和装置
CN106850311A (zh) * 2017-03-03 2017-06-13 上海蔚来汽车有限公司 用于固件升级的数据安全传输***及方法
CN108234390A (zh) * 2016-12-14 2018-06-29 浙江舜宇智能光学技术有限公司 无线设备固件加密***及其方法
CN108345466A (zh) * 2018-05-09 2018-07-31 烽火通信科技股份有限公司 一种onu升级方法及***

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002084484A2 (en) * 2001-04-18 2002-10-24 Domosys Corporation Method of remotely upgrading firmware in field-deployed devices
CN101383847A (zh) * 2008-08-25 2009-03-11 中兴通讯股份有限公司 一种无线数据终端的固件升级方法及装置
CN101783812A (zh) * 2009-12-01 2010-07-21 深圳市蓝韵实业有限公司 一种基于网络的fpga配置***及配置方法
CN102075564A (zh) * 2010-12-23 2011-05-25 李华嵩 一种远程软件升级技术方法
CN102611720A (zh) * 2011-01-21 2012-07-25 基信康信息技术(上海)有限公司 手机固件升级方法
CN102314369A (zh) * 2011-10-09 2012-01-11 杭州先锋电子技术股份有限公司 一种远程在线监控***中设备自升级方法
CN103118198A (zh) * 2013-02-05 2013-05-22 惠州Tcl移动通信有限公司 移动终端的固件升级方法及***
CN105117253A (zh) * 2015-08-27 2015-12-02 常州大学 一种基于BootLoader的UV LED固化***远程升级方法
CN105843645A (zh) * 2016-03-24 2016-08-10 浙江风向标科技有限公司 zigbee设备的固件升级方法和装置
CN108234390A (zh) * 2016-12-14 2018-06-29 浙江舜宇智能光学技术有限公司 无线设备固件加密***及其方法
CN106850311A (zh) * 2017-03-03 2017-06-13 上海蔚来汽车有限公司 用于固件升级的数据安全传输***及方法
CN108345466A (zh) * 2018-05-09 2018-07-31 烽火通信科技股份有限公司 一种onu升级方法及***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143856A (zh) * 2019-12-27 2020-05-12 郑州信大捷安信息技术股份有限公司 一种plc远程固件升级***及方法
CN112083940A (zh) * 2020-07-29 2020-12-15 宁波三星医疗电气股份有限公司 基于国密算法的电力采集终端远程升级方法
CN112083940B (zh) * 2020-07-29 2023-03-03 宁波三星医疗电气股份有限公司 基于国密算法的电力采集终端远程升级方法

Also Published As

Publication number Publication date
CN108874432B (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
CN109358883B (zh) 程序升级方法、***以及应用***、存储介质
CN103577202B (zh) 软件升级方法与***
CN108196867A (zh) 设备的固件升级装置、设备及其固件升级方法
CN104811484B (zh) Fota升级方法和装置
CN101267307B (zh) 利用ota***实现手机数字证书远程管理的方法
CN108196863A (zh) 一种固件的升级方法、装置、终端及存储介质
CN111355684B (zh) 一种物联网数据传输方法、装置、***、电子设备及介质
CN110708164B (zh) 一种物联网设备的控制方法、装置、存储介质及电子装置
US20180150291A1 (en) Bluetooth low energy device, and data update system and method
CN109587142B (zh) 一种面向业务流的数据安全接入模块和设备
CN106130808A (zh) 一种wifi设备升级的方法及***
CN104301875A (zh) 短消息处理方法和装置
WO2021227254A1 (zh) 路由访问方法、装置、电子设备及存储介质
CN109495263A (zh) 时钟同步方法、***、装置、智能终端、车辆终端及介质
CN108874432A (zh) 无线固件升级***
CN109756451B (zh) 一种信息交互方法及装置
CN106909826A (zh) 口令代填装置及***
CN110045980B (zh) 一种对nb-iot设备的远程升级方法、设备及***
CN109905430A (zh) 一种软件升级方法与***
CN110446197A (zh) 一种智能设备的通信控制方法、装置、设备及存储介质
CN113141263B (zh) 一种升级方法、装置、***和存储介质
CN108365973A (zh) 用于在虚拟隧道上进行传输的方法和设备
CN108400869A (zh) 一种加密通信方法、终端、设备、云端设备及介质
CN108292393A (zh) 一种基于nfc近场通信的支付方法及设备
CN108990046A (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