CN114640584A - 模块升级方法和*** - Google Patents
模块升级方法和*** Download PDFInfo
- Publication number
- CN114640584A CN114640584A CN202210135403.1A CN202210135403A CN114640584A CN 114640584 A CN114640584 A CN 114640584A CN 202210135403 A CN202210135403 A CN 202210135403A CN 114640584 A CN114640584 A CN 114640584A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- module
- upgrade
- upper computer
- auxiliary
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 181
- 230000008569 process Effects 0.000 claims abstract description 89
- 230000005540 biological transmission Effects 0.000 claims description 91
- 238000004891 communication Methods 0.000 claims description 31
- 230000006835 compression Effects 0.000 claims description 27
- 238000007906 compression Methods 0.000 claims description 27
- 238000012795 verification Methods 0.000 claims description 23
- 238000007639 printing Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 34
- 238000004590 computer program Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000008676 import Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 230000007774 longterm Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请涉及一种模块升级方法和***。该方法应用于模块升级***中、已配置第一升级程序的上位机;模块升级***还包括连接上位机的模块,以及连接上位机、且已配置第二升级程序的辅助升级设备;该方法包括:执行第一升级程序包含的第一升级命令,获取模块对应的升级位置,并输出切换指令;若确认模块切换至升级模式,则创建服务端组件,并通过服务端组件和辅助升级设备的客户端组件,与辅助升级设备建立连接,以将来自辅助升级设备的固件升级包传输给处于升级模式的模块完成升级;客户端组件为第二升级程序包含的第二升级命令经辅助升级设备执行后创建得到;第二升级命令包含上位机的地址信息。本申请能够简化升级流程。
Description
技术领域
本申请涉及固件升级技术领域,特别是涉及一种模块升级方法和***。
背景技术
Linux平台下的模块升级,传统升级方式是通过Download Tool工具依赖Download_Linux、Fh_Loader、FHLoaderErase.xml、Parameters.ini以及QSaharaServer文件进行模块固件升级,存在着升级流程复杂的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够简化升级流程的模块升级方法和***。
第一方面,本申请提供了一种模块升级方法,方法应用于模块升级***中、已配置第一升级程序的上位机;模块升级***还包括连接上位机的模块,以及连接上位机、且已配置第二升级程序的辅助升级设备;方法包括:
执行第一升级程序包含的第一升级命令,获取模块对应的升级位置,并输出切换指令;切换指令用于指示模块切换至升级模式;
若确认模块切换至升级模式,则创建服务端组件,并通过服务端组件和辅助升级设备的客户端组件,与辅助升级设备建立连接,以将来自辅助升级设备的固件升级包传输给处于升级模式的模块完成升级;客户端组件为第二升级程序包含的第二升级命令经辅助升级设备执行后创建得到;第二升级命令包含上位机的地址信息。
在其中一个实施例中,第一升级程序和第二升级程序属于同一个升级工具;方法还包括:
对获取的升级工具进行参数解析,得到升级参数;升级参数包含用于指示升级包信息的第一参数;
在升级参数不包含第二升级命令的情况下,导入升级工具以完成第一升级程序的配置。
在其中一个实施例中,执行第一升级程序包含的第一升级命令,获取模块对应的升级位置的步骤包括:
若升级参数包含用于指示固件升级端口的第二参数,则将固件升级端口确定为升级位置;
若升级参数不包含第二参数,则在本地设备目录下,根据模块的识别标识寻找升级位置;识别标识包括供应商识别码和产品识别码。
在其中一个实施例中,切换指令用于指示模块从正常模式切换为升级模式;上位机的地址信息包括上位机的IP地址;服务端组件包括传输控制协议服务器进程,传输控制协议服务器进程为基于传输控制协议的main函数经上位机调用以在本地建立服务端套接字得到;客户端组件包括传输控制协议客户进程,传输控制协议客户进程为基于传输控制协议的main函数经辅助升级设备调用以在本地建立客户端套接字得到;
通过服务端组件和辅助升级设备的客户端组件,与辅助升级设备建立连接的步骤包括:
运行传输控制协议服务器进程,进入等待状态,直至接收到辅助升级设备的连接请求;连接请求为IP地址经运行传输控制协议客户进程的辅助升级设备处理得到;
根据连接请求,与辅助升级设备建立基于传输控制协议的通信连接,并打印用于表达成功建立连接的日志;
方法还包括:
在完成升级的情况下,确认模块是否由升级模式转换为正常模式。
第二方面,本申请还提供了一种模块升级方法,方法应用于模块升级***中、已配置第二升级程序的辅助升级设备;模块升级***还包括连接辅助升级设备、且已配置第一升级程序的上位机,以及连接上位机的模块;方法包括:
执行第二升级程序包含的第二升级命令,根据第二升级命令包含的上位机的地址信息,创建客户端组件;
通过客户端组件和上位机的服务端组件,与上位机建立连接,以将固件升级包传输给处于升级模式的模块完成升级;服务端组件为上位机在确认模块响应切换指令切换至升级模式的情况下创建的;切换指令为第一升级程序包含的第一升级命令经上位机执行后,获取到模块对应的升级位置的情况下输出的。
在其中一个实施例中,第一升级程序和第二升级程序属于同一个升级工具;方法还包括:
对获取的升级工具进行参数解析,得到升级参数;升级参数包含用于指示升级包信息的第一参数;
在升级参数中包含第二升级命令的情况下,导入升级工具以完成第二升级程序的配置。
在其中一个实施例中,升级包信息包括升级包版本名称和升级包压缩格式;方法还包括:
基于升级包版本名称,检查升级路径,并检查获取的校验文件以进行校验;校验文件包括MD5文件;
在校验通过的情况下,确定获取的升级压缩包是否满足升级包压缩格式;若满足升级包压缩格式,则解压升级压缩包得到固件升级包。
在其中一个实施例中,上位机的地址信息包括上位机的IP地址;服务端组件包括传输控制协议服务器进程,传输控制协议服务器进程为基于传输控制协议的main函数经上位机调用以在本地建立服务端套接字得到;客户端组件包括传输控制协议客户进程,传输控制协议客户进程为基于传输控制协议的main函数经辅助升级设备调用以在本地建立客户端套接字得到;
通过客户端组件和上位机的服务端组件,与上位机建立连接的步骤包括:
运行传输控制协议客户进程,根据IP地址输出连接请求;连接请求用于指示通过运行传输控制协议服务器进程已进入等待状态的上位机,建立基于传输控制协议的通信连接;
方法还包括:
在通信连接建立成功的情况下,通过相应的main函数发送固件升级包中的各文件,直至确定各文件发送完成,打印用于表达升级成功的日志。
第三方面,本申请还提供了一种模块升级***,***包括模块,已配置第一升级程序的上位机,以及已配置第二升级程序的辅助升级设备;上位机分别连接辅助升级设备、模块;其中:
上位机用于实现上述的方法的步骤;
辅助升级设备用于实现上述的方法的步骤。
在其中一个实施例中,上位机包括嵌入式设备;辅助升级设备包括嵌入式设备已经Ping通的计算机设备;
模块包括通信模组,通信模组连接嵌入式设备。
上述模块升级方法和***,在上位机中配置第一升级程序,在辅助升级设备中配置第二升级程序,进而升级程序可以提供相应的参数和命令,实现模块固件升级包的传输,完成模块升级。本申请能够应对上位机的内存空间不足的情况,且升级工具的升级流程简单,所需文件少,方便易操作,升级过程中不需要修改任何文件,对于用户来说保证了升级过程中的可控性,避免用户在升级过程中修改文件出错,导致升级失败。
附图说明
图1为一个实施例中模块升级方法的应用环境图;
图2为一个实施例中从上位机角度实施的模块升级方法的流程示意图;
图3为一个实施例中配置第一升级程序步骤的流程示意图;
图4为一个实施例中与辅助升级设备建立连接步骤的流程示意图;
图5为一个实施例中从辅助升级设备角度实施的模块升级方法的流程示意图;
图6为一个实施例中配置第二升级程序步骤的流程示意图;
图7为一个实施例中从上位机角度实施的模块升级装置的结构框图;
图8为一个实施例中从辅助升级设备角度实施的模块升级装置的结构框图;
图9为一个实施例中模块升级***的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将一个元件与另一个元件区分。此外,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
模块在Linux平台下的传统升级方式,在模块所连接的Host侧内存空间太小时,无法对模块升级。同时,传统升级方式依赖文件过多,需要五个文件才可以进行升级,特别是升级过程中还需要手动修改部分文件,造成升级过程的不可控。
本申请则提出一种解决上位机内存空间不足的模块升级方案,可以解决在连接模块(module)的Host侧内存空间不能够存储模块固件包的场景下,模块的固件升级。具体的,上位机设备内存空间不足,无法存储下模块固件升级包版本时,本申请的升级工具(Upgrade_Tool)可以提供-p参数,能够完成远程升级,使用户可以利用远程升级的功能,解决上位机设备无法存储模块固件升级包的问题。进一步的,本申请的升级工具升级流程简单,所需文件少,方便易操作,升级过程中不需要修改任何文件。对于用户来说保证了升级过程中的可控性,避免用户在升级过程中修改文件出错,导致升级失败。
本申请实施例提供的模块升级方法,可以应用于如图1所示的应用环境中。其中,模块102通过上位机104连接辅助升级设备106。具体的,模块102可以通过相应的接口连接到上位机104,上位机104和辅助升级设备106能够相互连接,模块102的固件升级包可以存储在辅助升级设备106上。此外,模块102、上位机104和辅助升级设备106可以共同搭建出一种模块升级***,用于对模块102进行升级;该模块升级***在支持基本的本地升级功能的基础上,还可以实现远程升级的功能。
在一些示例中,本申请中的模块102可以指通信模组,例如,基于高通平台的无线通信模组;在一些示例中,本申请中的通信模组可以为5G(5th Generation MobileCommunication Technology,第五代移动通信技术)通信模组,支持5G独立组网(SA,Standalone)和非独立组网(NSA,Non-Standalone)两种网络架构。上位机104包括但不限于是嵌入式设备。辅助升级设备106可以但不限于是各种笔记本电脑、平板电脑等计算机设备,在一些示例中,辅助升级设备106可以是Linux笔记本电脑,例如,内核版本为3.X/4.X/5.X的Linux***笔记本电脑。笔记本电脑和嵌入式设备之间可以Ping(Packet InternetGroper,因特网包探索器)通。
进一步的,模块102与辅助升级设备106相连接,本申请实施例中的模块102可以独立于辅助升级设备106;以辅助升级设备106为嵌入式设备为例,模块102可以通过USB(Universal Serial Bus,通用串行总线)连接到嵌入式设备上,模块102也可以通过PCIe(Peripheral Component Interconnect express,高速串行计算机扩展总线标准)连接嵌入设设备,模块102还可以直接***嵌入式设备中;本申请实施例对模块102与辅助升级设备106之间的连接关系并无限定。此外,嵌入式设备和Linux笔记本电脑互相Ping通,模块的固件升级包和MD5(Message-Digest Algorithm 5,消息摘要算法5)文件存储在Linux笔记本电脑上。
需要说明的是,本申请可以应用在Linux环境以及Android环境给模块升级;本申请实施例中提及的通信制式包括但不限于:全球移动通信(Global System of MobileCommunication,GSM)、长期演进(Long Term Evolution,LTE)频分双工(FrequencyDivision Duplex,FDD)、LTE时分双工(Time Division Duplex,TDD)、LTE、先进的长期演进(LTE-Advanced,LTE-A)或下一代通信(例如,6G通信)等。
在一个实施例中,如图2所示,提供了一种模块升级方法,以该方法应用于图1中的上位机为例进行说明,该上位机已配置第一升级程序;上位机所属的模块升级***还包括连接上位机的模块,以及连接上位机、且已配置第二升级程序的辅助升级设备。该方法包括以下步骤:
步骤202,执行第一升级程序包含的第一升级命令,获取模块对应的升级位置,并输出切换指令;
其中,切换指令用于指示模块切换至升级模式。
具体地,上位机已配置第一升级程序,进而该升级程序可以提供相应的参数和命令,以使上位机完成相应的升级流程。该第一升级程序包含第一升级命令,上位机执行第一升级命令后,可以获取模块对应的升级位置,并输出切换指令。
本申请中升级程序(第一升级程序、第二升级程序)可以是升级工具经导入上位机或辅助升级设备得到;本申请中的升级命令(第一升级命令、第二升级命令)可以是升级工具中的参数。例如,第一升级命令可以是升级工具中用于升级模块的连接侧执行的参数;第二升级命令可以是升级工具中用于升级模块的固件升级包来源侧执行与模块连接侧建立连接的参数。在一些示例中,升级命令可以是升级工具中的-p参数。需要说明的是,升级工具可以是Upgrade_Tool,该工具可以在Linux环境以及Android环境用来给模块升级。
在另一些示例中,本申请中的Upgrade_Tool工具可以拥有如下参数(升级参数),参数所代表的含义如下表-表1所示:
表1 Upgrade_Tool参数类型及含义
进一步的,以辅助升级设备执行“./upgrade_tool–f./89610.1000.00.01.01.04.7z–p ip:9008”为例,在Upgrade_Tool升级工具中,“-f”参数用于固件升级包信息(升级包名称和/或升级包版本名称,以及升级包压缩格式等),例如,“-f”参数可以采用-f./x.7z的形式,升级包名称可以为89610.1000.00.01.01.04.7z;“-p”参数用于指定IP(Internet Protocol,网际互连协议)地址和端口号,本申请中的ip:9008,该ip为嵌入式设备端IP。
在其中一个实施例中,第一升级程序和第二升级程序属于同一个升级工具;如图3所示,方法还包括:
步骤302,对获取的升级工具进行参数解析,得到升级参数;升级参数包含用于指示升级包信息的第一参数;
步骤304,在升级参数不包含第二升级命令的情况下,导入升级工具以完成第一升级程序的配置。
具体而言,在进行模块升级之前,本申请中的上位机可通过导入升级工具Upgrade_Tool以获取相应的升级程序。本申请中的第一升级程序和第二升级程序属于同一个升级工具Upgrade_Tool,进而可以优化整个代码框架,编译生成所需要的文件只有Upgrade_Tool一个可执行文件,解决了旧的升级工具升级过程繁杂的问题。
其中,上位机在获取到升级工具Upgrade_Tool后,可以对升级工具Upgrade_Tool进行解析,获取升级工具中的参数(升级参数);在一些示例中,该升级参数的参数类型及含义可以参阅表1,即以表1为例阐释本申请中的升级参数,本申请中的第一升级命令可以指“-p<9008>”,第二升级命令可以指“-p<ip:9008>”。同时,第一参数可以指“-f<firmwarepackage file name>”,第二参数可以指“-p<dev/ttyUSBx>”;此外,本申请Upgrade_Tool升级工具还可以包含用于指示升级方式的第三参数,该升级方式可以为全擦升级,即第三参数可以指“-e”。
进一步的,Upgrade_Tool升级工具的基本的用法为“./upgrade_tool–f./[fireware package file name]”,在本地升级的基础上支持了远程升级功能。即无论导入Upgrade_Tool升级工具的是上位机还是辅助升级设备,本申请中的升级参数必包含用于指示升级包信息的第一参数(Upgrade_Tool升级工具支持基本的本地升级功能)。
而在解析得到的升级参数中,若升级参数不包含第二升级命令,则上位机可以导入该升级工具以完成第一升级程序的配置;例如,对Upgrade_Tool升级工具进行参数解析,若参数解析的结果(即升级参数)中不存在第二升级命令“-p<ip:9008>”,则确认当前导入升级工具Upgrade_Tool的本端设备是上位机,则该上位机可以基于第一参数“-f<firmwarepackage file name>”,执行第一升级命令“-p<9008>”。
又如,对Upgrade_Tool升级工具进行参数解析,若参数解析的结果(即升级参数)中存在第二升级命令“-p<ip:9008>”,则确认导入升级工具Upgrade_Tool的本端设备是辅助升级设备,则该辅助升级设备可以基于第一参数“-f<firmware package file name>”,执行第二升级命令“-p<ip:9008>”。
以上,本申请通过-p参数和不同的命令(Upgrade_Tool一个执行文件),升级流程简单,所需文件少,方便易操作,升级过程中不需要修改任何文件。对于用户来说保证了升级过程中的可控性,避免用户在升级过程中修改文件出错,导致升级失败。
上位机在执行第一升级命令后,可以初始化升级进度,并获取模块对应的升级位置,并发送命令(切换指令)让模块切换到升级模块式,即切换指令用于指示模块切换至升级模式。
在其中一个实施例中,执行第一升级程序包含的第一升级命令,获取模块对应的升级位置的步骤包括:
若升级参数包含用于指示固件升级端口的第二参数,则将固件升级端口确定为升级位置;
若升级参数不包含第二参数,则在本地设备目录下,根据模块的识别标识寻找升级位置;识别标识包括供应商识别码和产品识别码。
具体而言,上位机工具在执行第一升级命令“/upgrade_tool–p 9008”后,若升级参数中没有指示固件升级端口的第二参数,则上位机可以在本地设备目录/sys/bus/usb/devices(***/总线/USB/设备)下,根据模块的VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码)寻找模块的位置。若升级参数中有第二参数,则可以将第二参数指定的固件升级端口作为模块的升级位置。
以上位机通过USB连接模块以及表1为例,基于Upgrade_Tool升级工具,上位机执行第一升级命令(-p 9008)后,若-u参数存在则保存usbmon log,并初始化升级进度,进一步的,获取usb2tcp_port,例如通过寻找模块升级位置(如不指定则自动寻找),确定usb2tcp_port=9008;若usb2tcp_port不等于9008,Upgrade_Tool升级工具可以获取module_port_name,确认module_port_name是否为9008。此外,上位机在获取到模块升级位置后,会输出切换指令;切换指令用于指示模块进入升级模式switch_to_edl_mode。此后,上位机若接收到模块响应切换指令反馈的切换成功消息,则可以创建服务端组件。在模块进入升级模式后,还可以再次确定usb2tcp_port是否为9008。
在其中一个实施例中,切换指令用于指示模块从正常模式切换为升级模式。执行第一升级命令后,若找到模块的升级位置,则可以发送命令让模块从正常模式切换到升级模式。
步骤204,若确认模块切换至升级模式,则创建服务端组件,并通过服务端组件和辅助升级设备的客户端组件,与辅助升级设备建立连接,以将来自辅助升级设备的固件升级包传输给处于升级模式的模块完成升级;
其中,客户端组件为第二升级程序包含的第二升级命令经辅助升级设备执行后创建得到;第二升级命令包含上位机的地址信息。
具体而言,上位机在确定模块切换至升级模式后,可以创建服务端组件,以与辅助升级设备建立连接,从而将来自辅助升级设备的固件升级包传输给处于升级模式的模块完成升级。以上位机与辅助升级设备以TCP(Transmission Control Protocol,传输控制协议)方式建立连接为例,上位机作为TCP Server等待辅助升级设备的连接,辅助升级设备作为TCP Client和上位机建立连接。
本申请在支持基本的本地升级功能的基础上,实现了远程升级的功能,具体通过-p参数跟不同的命令实现上位机TCP Server与辅助升级设备TCP Client的连接建立。
在其中一个实施例中,上位机的地址信息包括上位机的IP地址;服务端组件包括传输控制协议服务器进程,传输控制协议服务器进程为基于传输控制协议的main函数经上位机调用以在本地建立服务端套接字得到;客户端组件包括传输控制协议客户进程,传输控制协议客户进程为基于传输控制协议的main函数经辅助升级设备调用以在本地建立客户端套接字得到;
如图4所示,通过服务端组件和辅助升级设备的客户端组件,与辅助升级设备建立连接的步骤包括:
步骤402,运行传输控制协议服务器进程,进入等待状态,直至接收到辅助升级设备的连接请求;连接请求为IP地址经运行传输控制协议客户进程的辅助升级设备处理得到;
步骤404,根据连接请求,与辅助升级设备建立基于传输控制协议的通信连接,并打印用于表达成功建立连接的日志;
具体而言,在模块切换至升级模式的切换完成后,上位机可以执行usb2tcp_main(基于传输控制协议的main函数),创建Tcp Server(TCP服务端),并等待Client连接(wait_client_connect)。其中,上位机可以在本地建立服务端套接字(Socket Server)。此外,上位机可以打印log代表连接建立成功。
在其中一个实施例中,方法还包括:
在完成升级的情况下,确认模块是否由升级模式转换为正常模式。
具体而言,本申请可以查看升级完成后模块状态是否正常。
上述模块升级方法,在支持基本的本地升级功能的基础上,实现了远程升级的功能。通过-p参数跟不同的命令实现Socket Server与Socket Client的连接建立,完成升级包远程传输,以解决模块所连接设备端内存空间不足的问题。同时优化整个代码框架,编译生成所需要的文件只有Upgrade_Tool(升级工具)一个可执行文件,解决了旧的升级工具升级过程繁杂的问题。
基于同样的发明构思,本申请实施例还提供了一种从辅助升级设备角度实施的模块升级方法。该方法所提供的解决问题的实现方案与上述从上位机角度实施的方法中所记载的实现方案相似,故下面所提供的一个或多个模块升级方法实施例中的具体限定可以参见上文中对于从上位机角度实施的方法的限定,在此不再赘述。
在一个实施例中,如图5所示,提供了一种模块升级方法,以该方法应用于图1中的辅助升级设备为例进行说明,该辅助升级设备已配置第二升级程序;辅助升级设备所属的模块升级***还包括连接辅助升级设备、已配置第一升级程序的上位机,以及连接上位机的模块;该方法包括以下步骤:
步骤502,执行第二升级程序包含的第二升级命令,根据第二升级命令包含的上位机的地址信息,创建客户端组件;
具体而言,辅助升级设备已配置第二升级程序,进而该升级程序可以提供相应的参数和命令,以使辅助升级设备完成相应的升级流程。该第二升级程序包含第二升级命令,辅助升级设备执行第二升级命令后,可以根据第二升级命令包含的上位机的地址信息,创建客户端组件。
在配置第二升级程序前,可以将模块的固件升级包和Upgrade_Tool工具拷贝到辅助升级设备的上同一目录下。
在其中一个实施例中,第一升级程序和第二升级程序属于同一个升级工具;如图6所示,方法还可以包括:
步骤602,对获取的升级工具进行参数解析,得到升级参数;升级参数包含用于指示升级包信息的第一参数;
步骤604,在升级参数中包含第二升级命令的情况下,导入升级工具以完成第二升级程序的配置。
具体而言,在进行模块升级之前,本申请中的辅助升级设备可通过导入升级工具Upgrade_Tool以获取相应的升级程序。本申请中的第一升级程序和第二升级程序属于同一个升级工具Upgrade_Tool,进而可以优化整个代码框架,编译生成所需要的文件只有Upgrade_Tool一个可执行文件,解决了旧的升级工具升级过程繁杂的问题。
而在解析得到的升级参数中,若升级参数包含第二升级命令,则辅助升级设备可以导入该升级工具以完成第二升级程序的配置;例如,对Upgrade_Tool升级工具进行参数解析,若参数解析的结果(即升级参数)中存在第二升级命令“-p<ip:9008>”,则确认导入升级工具Upgrade_Tool的本端设备是辅助升级设备,则该辅助升级设备可以基于第一参数“-f<firmware package file name>”,执行第二升级命令“-p<ip:9008>”。
在其中一个实施例中,升级包信息包括升级包版本名称和升级包压缩格式;方法还包括:
基于升级包版本名称,检查升级路径,并检查获取的校验文件以进行校验;校验文件包括MD5文件;
在校验通过的情况下,确定获取的升级压缩包是否满足升级包压缩格式;若满足升级包压缩格式,则解压升级压缩包得到固件升级包。
具体而言,在升级前,可以将模块的固件升级包、校验文件和Upgrade_Tool工具拷贝到辅助升级设备上同一目录下。其中,校验文件可以指MD5(Message-Digest Algorithm5,消息摘要算法5)文件。即辅助升级设备存储了模块的固件升级包和MD5文件。
进而,辅助升级设备可以执行“-f./x.7z-p ip:9008”,具体可以为“./upgrade_tool–f./89610.1000.00.01.01.04.7z–p ip:9008”。参考表1可知,“-f”参数用于指定固件升级包版本名称,此处升级包名称为89610.1000.00.01.01.04.7z;“-p”参数用于指定IP地址和端口号,此处为ip:9008,ip为可以为上位机(例如,嵌入式设备)端ip。
辅助升级设备在执行上述升级命令后,基于升级包版本名称,检查升级路径,并检查MD5文件(消息摘要算法5文件签名,用于保证文件的正确性),以及检查升级文件是否为7z压缩包;其中,辅助升级设备可以打印相应的log,开始进行MD5文件校验,解压7z压缩包。进一步的,在上述过程后,接着可以进行到Tcp_Connect(TCP连接)阶段,和上位机建立连接。
步骤504,通过客户端组件和上位机的服务端组件,与上位机建立连接,以将固件升级包传输给处于升级模式的模块完成升级;服务端组件为上位机在确认模块响应切换指令切换至升级模式的情况下创建的;切换指令为第一升级程序包含的第一升级命令经上位机执行后,获取到模块对应的升级位置的情况下输出的。
具体而言,辅助升级设备可以通过与上位机建立连接(tcp_connect_port_name=192.168.84.130:9008),将固件升级包传输给处于升级模式的模块完成升级。其中,辅助升级设备可以在本地建立客户端套接字(Socket Client)。
在其中一个实施例中,上位机的地址信息包括上位机的IP地址;服务端组件包括传输控制协议服务器进程,传输控制协议服务器进程为基于传输控制协议的main函数经上位机调用以在本地建立服务端套接字得到;客户端组件包括传输控制协议客户进程,传输控制协议客户进程为基于传输控制协议的main函数经辅助升级设备调用以在本地建立客户端套接字得到;
通过客户端组件和上位机的服务端组件,与上位机建立连接的步骤包括:
运行传输控制协议客户进程,根据IP地址输出连接请求;连接请求用于指示通过运行传输控制协议服务器进程已进入等待状态的上位机,建立基于传输控制协议的通信连接;
方法还包括:
在通信连接建立成功的情况下,通过相应的main函数发送固件升级包中的各文件,直至确定各文件发送完成,打印用于表达升级成功的日志。
具体而言,辅助升级设备连接建立成功后,可以执行read(fd,&tlv_usb,sizeof(tlv_usb)),例如,完成sahara_main,通过firehose_main对固件包中的文件进行传输,例如将每一个文件send到模块中。发送完成后,可以打印log表示升级成功。
上述模块升级方法,在支持基本的本地升级功能的基础上,实现了远程升级的功能。通过-p参数跟不同的命令实现Socket Server与Socket Client的连接建立,完成升级包远程传输,以解决模块所连接设备端内存空间不足的问题。同时优化整个代码框架,编译生成所需要的文件只有Upgrade_Tool(升级工具)一个可执行文件,解决了旧的升级工具升级过程繁杂的问题。
基于同样的发明构思,本申请实施例还提供了一种从模块升级***角度实施的模块升级方法。该方法所提供的解决问题的实现方案与上述从上位机、辅助升级设备角度实施的方法中所记载的实现方案相似,故下面所提供的一个或多个模块升级方法实施例中的具体限定可以参见上文中对于从上位机、辅助升级设备角度实施的方法的限定,在此不再赘述。
在一个实施例中,提供了一种模块升级方法,以该方法应用于图1所示的模块升级***为例进行说明,该模块升级***包括辅助升级设备、上位机和连接上位机的模块;该上位机已配置第一升级程序、且该辅助升级设备已配置第二升级程序。该方法包括以下步骤:
上位机执行第一升级程序包含的第一升级命令,获取模块对应的升级位置,并输出切换指令;切换指令用于指示模块切换至升级模式;上位机若确认模块切换至升级模式,则创建服务端组件;
辅助升级设备执行第二升级程序包含的第二升级命令,根据第二升级命令包含的上位机的地址信息,创建客户端组件;辅助升级设备通过客户端组件和上位机的服务端组件,与上位机建立连接,以通过上位机将固件升级包传输给处于升级模式的模块完成升级。
在其中一个实施例中,第一升级程序和第二升级程序属于同一个升级工具;方法还包括:
上位机对获取的升级工具进行参数解析,得到升级参数;升级参数包含用于指示升级包信息的第一参数;在升级参数不包含第二升级命令的情况下,上位机导入升级工具以完成第一升级程序的配置;
辅助升级设备对获取的升级工具进行参数解析,得到升级参数;升级参数包含用于指示升级包信息的第一参数;在升级参数中包含第二升级命令的情况下,导入升级工具以完成第二升级程序的配置。
在其中一个实施例中,上位机执行第一升级程序包含的第一升级命令,获取模块对应的升级位置的步骤包括:
若升级参数包含用于指示固件升级端口的第二参数,则上位机将固件升级端口确定为升级位置;若升级参数不包含第二参数,则上位机在本地设备目录下,根据模块的识别标识寻找升级位置;识别标识包括供应商识别码和产品识别码。
在其中一个实施例中,升级包信息包括升级包版本名称和升级包压缩格式;方法还包括:
辅助升级设备基于升级包版本名称,检查升级路径,并检查获取的校验文件以进行校验;校验文件包括MD5文件;辅助升级设备在校验通过的情况下,确定获取的升级压缩包是否满足升级包压缩格式;若满足升级包压缩格式,则解压升级压缩包得到固件升级包。
在其中一个实施例中,切换指令用于指示模块从正常模式切换为升级模式;上位机的地址信息包括上位机的IP地址;服务端组件包括传输控制协议服务器进程,传输控制协议服务器进程为基于传输控制协议的main函数经上位机调用以在本地建立服务端套接字得到;客户端组件包括传输控制协议客户进程,传输控制协议客户进程为基于传输控制协议的main函数经辅助升级设备调用以在本地建立客户端套接字得到;
上位机与辅助升级设备建立连接的步骤包括:
上位机运行传输控制协议服务器进程,进入等待状态;
辅助升级设备运行传输控制协议客户进程,根据IP地址输出连接请求
上位机接收到辅助升级设备的连接请求,则根据连接请求与辅助升级设备建立基于传输控制协议的通信连接,并打印用于表达成功建立连接的日志。
在其中一个实施例中,方法还包括:
辅助升级设备在通信连接建立成功的情况下,通过相应的main函数发送固件升级包中的各文件,直至确定各文件发送完成,打印用于表达升级成功的日志;
上位机在完成升级的情况下,确认模块是否由升级模式转换为正常模式。
上述模块升级方法,能够完成远程升级,使用户可以利用远程升级的功能,解决上位机设备无法存储模块固件升级包的问题。此外,本申请升级流程简单,所需文件少,方便易操作,升级过程中不需要修改任何文件。对于用户来说保证了升级过程中的可控性,避免用户在升级过程中修改文件出错,导致升级失败。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的从上位机角度实施的模块升级方法的模块升级装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个模块升级装置实施例中的具体限定可以参见上文中对于从上位机角度实施的模块升级方法的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种模块升级装置,装置应用于模块升级***中、已配置第一升级程序的上位机;模块升级***还包括连接上位机的模块,以及连接上位机、且已配置第二升级程序的辅助升级设备;装置包括:
服务端执行单元710,用于执行第一升级程序包含的第一升级命令,获取模块对应的升级位置,并输出切换指令;切换指令用于指示模块切换至升级模式;
服务端升级单元720,用于若确认模块切换至升级模式,则创建服务端组件,并通过服务端组件和辅助升级设备的客户端组件,与辅助升级设备建立连接,以将来自辅助升级设备的固件升级包传输给处于升级模式的模块完成升级;客户端组件为第二升级程序包含的第二升级命令经辅助升级设备执行后创建得到;第二升级命令包含上位机的地址信息。
在其中一个实施例中,第一升级程序和第二升级程序属于同一个升级工具;装置还包括:
服务端解析单元,用于对获取的升级工具进行参数解析,得到升级参数;升级参数包含用于指示升级包信息的第一参数;
服务端导入单元,用于在升级参数不包含第二升级命令的情况下,导入升级工具以完成第一升级程序的配置。
在其中一个实施例中,服务端执行单元710,用于若升级参数包含用于指示固件升级端口的第二参数,则将固件升级端口确定为升级位置;以及用于若升级参数不包含第二参数,则在本地设备目录下,根据模块的识别标识寻找升级位置;识别标识包括供应商识别码和产品识别码。
在其中一个实施例中,切换指令用于指示模块从正常模式切换为升级模式;上位机的地址信息包括上位机的IP地址;服务端组件包括传输控制协议服务器进程,传输控制协议服务器进程为基于传输控制协议的main函数经上位机调用以在本地建立服务端套接字得到;客户端组件包括传输控制协议客户进程,传输控制协议客户进程为基于传输控制协议的main函数经辅助升级设备调用以在本地建立客户端套接字得到;
服务端升级单元720,用于运行传输控制协议服务器进程,进入等待状态,直至接收到辅助升级设备的连接请求;连接请求为IP地址经运行传输控制协议客户进程的辅助升级设备处理得到;以及根据连接请求,与辅助升级设备建立基于传输控制协议的通信连接,并打印用于表达成功建立连接的日志;
装置还包括:
服务端检查单元,用于在完成升级的情况下,确认模块是否由升级模式转换为正常模式。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的从辅助升级设备角度实施的模块升级方法的模块升级装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个模块升级装置实施例中的具体限定可以参见上文中对于从辅助升级设备角度实施的模块升级方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种模块升级装置,装置应用于模块升级***中、已配置第二升级程序的辅助升级设备;模块升级***还包括连接辅助升级设备、且已配置第一升级程序的上位机,以及连接上位机的模块;装置包括:
客户端执行单元810,用于执行第一升级程序包含的第一升级命令,获取模块对应的升级位置,并输出切换指令;切换指令用于指示模块切换至升级模式;
客户端传输单元820,用于若确认模块切换至升级模式,则创建服务端组件,并通过服务端组件和辅助升级设备的客户端组件,与辅助升级设备建立连接,以将来自辅助升级设备的固件升级包传输给处于升级模式的模块完成升级;客户端组件为第二升级程序包含的第二升级命令经辅助升级设备执行后创建得到;第二升级命令包含上位机的地址信息。
在其中一个实施例中,第一升级程序和第二升级程序属于同一个升级工具;装置还包括:
客户端解析单元,用于对获取的升级工具进行参数解析,得到升级参数;升级参数包含用于指示升级包信息的第一参数;
客户端导入单元,用于在升级参数中包含第二升级命令的情况下,导入升级工具以完成第二升级程序的配置。
在其中一个实施例中,升级包信息包括升级包版本名称和升级包压缩格式;装置还包括:
客户端校验单元,基于升级包版本名称,检查升级路径,并检查获取的校验文件以进行校验;校验文件包括MD5文件;
客户端解压单元,在校验通过的情况下,确定获取的升级压缩包是否满足升级包压缩格式;若满足升级包压缩格式,则解压升级压缩包得到固件升级包。
在其中一个实施例中,上位机的地址信息包括上位机的IP地址;服务端组件包括传输控制协议服务器进程,传输控制协议服务器进程为基于传输控制协议的main函数经上位机调用以在本地建立服务端套接字得到;客户端组件包括传输控制协议客户进程,传输控制协议客户进程为基于传输控制协议的main函数经辅助升级设备调用以在本地建立客户端套接字得到;
客户端传输单元820,用于运行传输控制协议客户进程,根据IP地址输出连接请求;连接请求用于指示通过运行传输控制协议服务器进程已进入等待状态的上位机,建立基于传输控制协议的通信连接;以及用于在通信连接建立成功的情况下,通过相应的main函数发送固件升级包中的各文件,直至确定各文件发送完成,打印用于表达升级成功的日志。
上述模块升级装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于辅助升级设备中的处理器中,也可以以软件形式存储于辅助升级设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,本申请还提供了一种模块升级***,***包括模块,已配置第一升级程序的上位机,以及已配置第二升级程序的辅助升级设备;上位机分别连接辅助升级设备、模块;其中:
上位机用于实现上述从上位机角度实施的模块升级方法的步骤;
辅助升级设备用于实现上述从辅助升级设备角度实施的模块升级方法的步骤。
在其中一个实施例中,上位机为嵌入式设备;辅助升级设备包括嵌入式设备已经Ping通的计算机设备;
模块(module)包括通信模组,通信模组连接嵌入式设备。
具体而言,本申请实施例中的嵌入式设备可以指用于连接模块的设备(例如,连接模块的客户终端设备);其中,嵌入式设备可以具有能够满足不同客户需求的设备形态;在一些示例中,嵌入式设备可以为CPE(Customer Premise Equipmen,客户终端设备);在另一些示例中,嵌入式设备可以为电视盒子或机器人形态设备。进一步的,辅助升级设备可以指计算机设备。
在其中一个实施例中,通信模组包括5G模组;辅助升级设备可以包括运行Linux***的笔记本电脑。
具体的,如图9所示,模块升级***的预置条件可以包括:①一个内核版本为3.X/4.X/5.X的Linux***笔记本;②一块可以为通信模组的模块(module);③可连接模块(module)的嵌入式设备;④USB连接线;⑤笔记本和嵌入式设备之间可以Ping通。
进一步的,模块通过USB连接到嵌入式设备上,嵌入式设备和Linux笔记本电脑互相ping通,模块固件升级包和MD5文件存储在Linux笔记本上。
对于嵌入式设备,按照上述操作搭建好环境后,将Upgrade_Tool工具导入嵌入式设备中。执行“/upgrade_tool–p 9008”命令。执行命令后,工具会在/sys/bus/usb/devices下根据模块的VID和PID寻找模块的位置,找到模块后,会发送命令让模块从正常模式切换到升级模块式,切换完成后,会执行usb2tcp_main,创建Tcp Server后,等待Client连接。
对于Linux笔记本电脑,将模块的固件升级包、MD5文件和Upgrade_Tool工具拷贝到Linux笔记本上同一目录下;执行“./upgrade_tool–f./89610.1000.00.01.01.04.7z–pip:9008”,参考表1可知,“-f”参数用于指定固件升级包的版本名称,此处升级包名称为89610.1000.00.01.01.04.7z;“-p”参数用于指定IP地址和端口号,此处为ip:9008,ip为嵌入式设备端ip。执行上述升级命令后Linux笔记本侧打印log,开始进行MD5文件校验,解压7z压缩包。接着进行到tcp_connect阶段,和嵌入式设备端建立连接。同时嵌入式设备端会打印log代表连接建立成功。连接建立成功后,笔记本电脑完成sahara_main,通过firehose_main对固件包中的文件进行传输,将每一个文件send到模块中。发送完成后,可以打印log表示升级成功。最后,可以查看升级完成后模块状态是否正常。
本申请在支持基本的本地升级功能的基础上,实现了远程升级的功能。通过-p参数跟不同的命令实现Socket Server与Socket Client的连接建立,实现升级包远程传输解决模块所连接设备端内存空间不足的问题。同时优化整个代码框架,编译生成所需要的文件只有Upgrade_Tool一个可执行文件,解决了旧的升级工具升级过程繁杂的问题。
用户的上位机设备内存空间不足,无法存储下模块固件升级包版本时,本申请Upgrade_Tool工具提供-p参数,可以完成远程升级,使用户可以利用远程升级的功能解决上位机设备无法存储模块固件升级包的问题。本申请Upgrade_Tool升级工具升级流程简单,所需文件少,方便易操作,升级过程中不需要修改任何文件。对于用户来说保证了升级过程中的可控性,避免用户在升级过程中修改文件出错,导致升级失败。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述模块升级方法的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述模块升级方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种模块升级方法,其特征在于,所述方法应用于模块升级***中、已配置第一升级程序的上位机;所述模块升级***还包括连接所述上位机的模块,以及连接所述上位机、且已配置第二升级程序的辅助升级设备;所述方法包括:
执行所述第一升级程序包含的第一升级命令,获取所述模块对应的升级位置,并输出切换指令;所述切换指令用于指示所述模块切换至升级模式;
若确认所述模块切换至所述升级模式,则创建服务端组件,并通过所述服务端组件和所述辅助升级设备的客户端组件,与所述辅助升级设备建立连接,以将来自所述辅助升级设备的固件升级包传输给处于所述升级模式的所述模块完成升级;所述客户端组件为所述第二升级程序包含的第二升级命令经所述辅助升级设备执行后创建得到;所述第二升级命令包含所述上位机的地址信息。
2.根据权利要求1所述的方法,其特征在于,所述第一升级程序和所述第二升级程序属于同一个升级工具;
所述方法还包括:
对获取的所述升级工具进行参数解析,得到升级参数;所述升级参数包含用于指示升级包信息的第一参数;
在所述升级参数不包含所述第二升级命令的情况下,导入所述升级工具以完成所述第一升级程序的配置。
3.根据权利要求2所述的方法,其特征在于,所述执行所述第一升级程序包含的第一升级命令,获取所述模块对应的升级位置的步骤包括:
若所述升级参数包含用于指示固件升级端口的第二参数,则将所述固件升级端口确定为所述升级位置;
若所述升级参数不包含所述第二参数,则在本地设备目录下,根据所述模块的识别标识寻找所述升级位置;所述识别标识包括供应商识别码和产品识别码。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述切换指令用于指示所述模块从正常模式切换为所述升级模式;所述上位机的地址信息包括所述上位机的IP地址;所述服务端组件包括传输控制协议服务器进程,所述传输控制协议服务器进程为基于传输控制协议的main函数经所述上位机调用以在本地建立服务端套接字得到;所述客户端组件包括传输控制协议客户进程,所述传输控制协议客户进程为基于传输控制协议的main函数经所述辅助升级设备调用以在本地建立客户端套接字得到;
所述通过所述服务端组件和所述辅助升级设备的客户端组件,与所述辅助升级设备建立连接的步骤包括:
运行所述传输控制协议服务器进程,进入等待状态,直至接收到所述辅助升级设备的连接请求;所述连接请求为所述IP地址经运行所述传输控制协议客户进程的所述辅助升级设备处理得到;
根据所述连接请求,与所述辅助升级设备建立基于传输控制协议的通信连接,并打印用于表达成功建立连接的日志;
所述方法还包括:
在完成升级的情况下,确认所述模块是否由所述升级模式转换为所述正常模式。
5.一种模块升级方法,其特征在于,所述方法应用于模块升级***中、已配置第二升级程序的辅助升级设备;所述模块升级***还包括连接所述辅助升级设备、且已配置第一升级程序的上位机,以及连接所述上位机的模块;所述方法包括:
执行所述第二升级程序包含的第二升级命令,根据所述第二升级命令包含的所述上位机的地址信息,创建客户端组件;
通过所述客户端组件和所述上位机的服务端组件,与所述上位机建立连接,以将固件升级包传输给处于升级模式的所述模块完成升级;所述服务端组件为所述上位机在确认所述模块响应切换指令切换至所述升级模式的情况下创建的;所述切换指令为所述第一升级程序包含的第一升级命令经所述上位机执行后,获取到所述模块对应的升级位置的情况下输出的。
6.根据权利要求5所述的方法,其特征在于,所述第一升级程序和所述第二升级程序属于同一个升级工具;
所述方法还包括:
对获取的所述升级工具进行参数解析,得到升级参数;所述升级参数包含用于指示升级包信息的第一参数;
在所述升级参数中包含所述第二升级命令的情况下,导入所述升级工具以完成所述第二升级程序的配置。
7.根据权利要求6所述的方法,其特征在于,所述升级包信息包括升级包版本名称和升级包压缩格式;
所述方法还包括:
基于所述升级包版本名称,检查升级路径,并检查获取的校验文件以进行校验;所述校验文件包括MD5文件;
在校验通过的情况下,确定获取的升级压缩包是否满足所述升级包压缩格式;若满足所述升级包压缩格式,则解压所述升级压缩包得到所述固件升级包。
8.根据权利要求5至7任意一项所述的方法,其特征在于,所述上位机的地址信息包括所述上位机的IP地址;所述服务端组件包括传输控制协议服务器进程,所述传输控制协议服务器进程为基于传输控制协议的main函数经所述上位机调用以在本地建立服务端套接字得到;所述客户端组件包括传输控制协议客户进程,所述传输控制协议客户进程为基于传输控制协议的main函数经所述辅助升级设备调用以在本地建立客户端套接字得到;
所述通过所述客户端组件和所述上位机的服务端组件,与所述上位机建立连接的步骤包括:
运行所述传输控制协议客户进程,根据所述IP地址输出连接请求;所述连接请求用于指示通过运行所述传输控制协议服务器进程已进入等待状态的所述上位机,建立基于传输控制协议的通信连接;
所述方法还包括:
在所述通信连接建立成功的情况下,通过相应的main函数发送所述固件升级包中的各文件,直至确定各文件发送完成,打印用于表达升级成功的日志。
9.一种模块升级***,其特征在于,所述***包括模块,已配置第一升级程序的上位机,以及已配置第二升级程序的辅助升级设备;所述上位机分别连接所述辅助升级设备、所述模块;其中:
所述上位机用于实现权利要求1至4中任一项所述的方法的步骤;
所述辅助升级设备用于实现权利要求5至8中任一项所述的方法的步骤。
10.根据权利要求9所述的***,其特征在于,所述上位机为嵌入式设备;所述辅助升级设备包括所述嵌入式设备已经Ping通的计算机设备;
所述模块包括通信模组,所述通信模组连接所述嵌入式设备。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210135403.1A CN114640584B (zh) | 2022-02-14 | 2022-02-14 | 模块升级方法和*** |
PCT/CN2022/138272 WO2023151372A1 (zh) | 2022-02-14 | 2022-12-12 | 模块升级方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210135403.1A CN114640584B (zh) | 2022-02-14 | 2022-02-14 | 模块升级方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640584A true CN114640584A (zh) | 2022-06-17 |
CN114640584B CN114640584B (zh) | 2023-11-24 |
Family
ID=81946071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210135403.1A Active CN114640584B (zh) | 2022-02-14 | 2022-02-14 | 模块升级方法和*** |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114640584B (zh) |
WO (1) | WO2023151372A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023151372A1 (zh) * | 2022-02-14 | 2023-08-17 | 西安广和通无线软件有限公司 | 模块升级方法和*** |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933150A (zh) * | 2016-04-20 | 2016-09-07 | 努比亚技术有限公司 | Ota升级方法、装置及*** |
CN106301959A (zh) * | 2016-10-10 | 2017-01-04 | 烽火通信科技股份有限公司 | 基于windows和linux平台的网关批量升级方法及*** |
CN109144554A (zh) * | 2018-06-21 | 2019-01-04 | 深圳和而泰数据资源与云技术有限公司 | 固件升级方法、相关设备、***及介质 |
CN110650169A (zh) * | 2018-06-27 | 2020-01-03 | 视联动力信息技术股份有限公司 | 一种终端设备升级方法和装置 |
CN110716733A (zh) * | 2019-09-30 | 2020-01-21 | 四川九州电子科技股份有限公司 | 一种ont产品软件互升级方法 |
CN112118137A (zh) * | 2020-09-17 | 2020-12-22 | 上海闻泰电子科技有限公司 | 固件升级方法、装置、计算机设备和可读存储介质 |
CN112416391A (zh) * | 2020-11-16 | 2021-02-26 | 深圳市有方科技股份有限公司 | ***升级方法、装置、计算机设备和存储介质 |
CN112564956A (zh) * | 2020-11-30 | 2021-03-26 | 山东亚华电子股份有限公司 | 一种客户端的远程升级方法及设备、装置、存储介质 |
CN113626057A (zh) * | 2021-08-30 | 2021-11-09 | 南京邮电大学 | 一种基于GigE Vision接口的相机远程固件升级***和方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6976062B1 (en) * | 1999-09-22 | 2005-12-13 | Intermec Ip Corp. | Automated software upgrade utility |
CN106020884A (zh) * | 2016-05-20 | 2016-10-12 | 江苏华辉云控科技有限公司 | 网络摄像机***在线升级方法 |
CN111930396B (zh) * | 2020-06-29 | 2021-05-11 | 广西东信易联科技有限公司 | 一种基于notify机制的4G路由器中通讯模组的升级方法 |
CN114640584B (zh) * | 2022-02-14 | 2023-11-24 | 西安广和通无线软件有限公司 | 模块升级方法和*** |
-
2022
- 2022-02-14 CN CN202210135403.1A patent/CN114640584B/zh active Active
- 2022-12-12 WO PCT/CN2022/138272 patent/WO2023151372A1/zh unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105933150A (zh) * | 2016-04-20 | 2016-09-07 | 努比亚技术有限公司 | Ota升级方法、装置及*** |
CN106301959A (zh) * | 2016-10-10 | 2017-01-04 | 烽火通信科技股份有限公司 | 基于windows和linux平台的网关批量升级方法及*** |
CN109144554A (zh) * | 2018-06-21 | 2019-01-04 | 深圳和而泰数据资源与云技术有限公司 | 固件升级方法、相关设备、***及介质 |
CN110650169A (zh) * | 2018-06-27 | 2020-01-03 | 视联动力信息技术股份有限公司 | 一种终端设备升级方法和装置 |
CN110716733A (zh) * | 2019-09-30 | 2020-01-21 | 四川九州电子科技股份有限公司 | 一种ont产品软件互升级方法 |
CN112118137A (zh) * | 2020-09-17 | 2020-12-22 | 上海闻泰电子科技有限公司 | 固件升级方法、装置、计算机设备和可读存储介质 |
CN112416391A (zh) * | 2020-11-16 | 2021-02-26 | 深圳市有方科技股份有限公司 | ***升级方法、装置、计算机设备和存储介质 |
CN112564956A (zh) * | 2020-11-30 | 2021-03-26 | 山东亚华电子股份有限公司 | 一种客户端的远程升级方法及设备、装置、存储介质 |
CN113626057A (zh) * | 2021-08-30 | 2021-11-09 | 南京邮电大学 | 一种基于GigE Vision接口的相机远程固件升级***和方法 |
Non-Patent Citations (1)
Title |
---|
王胜利: "企业内部网安全软件升级接口的研究与实现", 《CNKI中国优秀硕士学位论文全文数据库》, pages 1 - 95 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023151372A1 (zh) * | 2022-02-14 | 2023-08-17 | 西安广和通无线软件有限公司 | 模块升级方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN114640584B (zh) | 2023-11-24 |
WO2023151372A1 (zh) | 2023-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109525624B (zh) | 一种容器登录方法、装置及存储介质 | |
WO2017166446A1 (zh) | 漏洞修复方法和装置 | |
CN108023765A (zh) | 设备固件升级方法、装置及存储介质 | |
CN109547509B (zh) | 一种跨平台部署的方法和*** | |
CN108563579B (zh) | 白盒测试方法、装置、***及存储介质 | |
CN103729189B (zh) | 基于lua的播放协议转换方法、***、终端 | |
WO2018121272A1 (zh) | 固件升级方法、装置和*** | |
CN111984261A (zh) | 编译方法与编译*** | |
CN112433812B (zh) | 一种虚拟机跨集群迁移方法、***、设备及计算机介质 | |
CN114640584B (zh) | 模块升级方法和*** | |
CN110221840A (zh) | 应用程序的功能实现方法及装置、设备及存储介质 | |
CN106547602A (zh) | 一种适用于iSCSI协议远程无线加载的操作***镜像的制作方法 | |
CN107609197B (zh) | 一种数据同步方法、数据同步装置及移动终端 | |
CN104570967B (zh) | 基于Android***的远程控制方法及*** | |
WO2015176443A1 (zh) | 企业互联网应用的处理方法及装置 | |
CN108259895A (zh) | 机顶盒测试方法、***及终端设备 | |
CN110493646A (zh) | 通过外部设备进行电视升级的方法、装置、电视及*** | |
CN109189629B (zh) | 基于usb设备实现终端远程控制的方法、存储介质 | |
CN104468671B (zh) | 一种配置信息处理方法、装置及相关设备 | |
CN106681761B (zh) | 一种交互式升级的方法及*** | |
CN115167874A (zh) | 自动驾驶软件镜像部署方法、装置、电子设备和可读介质 | |
CN101615112B (zh) | 命令处理方法、装置及*** | |
JP2007026318A (ja) | 携帯電話機、プログラム作成方式、プログラム更新方式、プログラム作成方法及びプログラム更新方法 | |
WO2017096889A1 (zh) | ***升降级的方法和装置 | |
KR20130056539A (ko) | 미디어 전송 프로토콜을 지원하는 디바이스와 통신을 수행하기 위한 휴대용 단말기의 장치 및 방법 |
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 |