CN112905212A - 一种固件数据处理方法、装置、设备及存储介质 - Google Patents
一种固件数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112905212A CN112905212A CN202110318945.8A CN202110318945A CN112905212A CN 112905212 A CN112905212 A CN 112905212A CN 202110318945 A CN202110318945 A CN 202110318945A CN 112905212 A CN112905212 A CN 112905212A
- Authority
- CN
- China
- Prior art keywords
- firmware
- frame
- data
- format
- bus
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 101
- 238000004806 packaging method and process Methods 0.000 claims abstract description 81
- 238000005538 encapsulation Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000012795 verification Methods 0.000 claims description 41
- 230000004044 response Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 15
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 230000003993 interaction Effects 0.000 description 3
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000011022 operating instruction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种固件数据处理方法、装置、设备及存储介质。该方法包括:通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。可见,只需要通过主设备提供的外部接口即可对系统中每个从设备进行固件数据的相关操作,降低了固件升级或固件信息获取等操作的复杂程度,提高了固件数据处理效率。
Description
技术领域
本发明涉及固件应用领域,特别涉及一种固件数据处理方法、装置、设备及存储介质。
背景技术
固件(Firmware)作为一种软件,硬件设备为实现具体功能需求需要将对应固件烧写到硬件设备内存当中。通常一个完整的设备系统含有多个设备,例如,较大型无人机机载航电设备包括飞控设备、电调设备、磁罗盘等设备。现有技术中,在进行固件升级或读取固件数据时,需要由专业的人员对每个设备引出通信接口进行固件烧写或读取,增加了操作复杂程度,因此,如何提高固件数据处理的效率是目前亟需解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种固件数据处理方法、装置、设备及介质,能够提高固件数据处理效率。其具体方案如下:
第一方面,本申请公开了一种固件数据处理方法,应用于总线主设备,包括:
通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;
通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。
可选的,所述预设数据封装格式包括目标格式帧标识、帧类型、数据长度、数据内容和校验值。
可选的,所述按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧,包括:
若所述固件操作指令为固件信息请求指令,则按照所述预设数据封装格式对所述固件信息请求指令进行封装,得到相应的固件信息请求帧,以便所述总线从设备按照所述预设数据封装格式对接收到的所述固件信息请求帧进行解析得到固件信息请求,并按照所述预设数据封装格式对根据所述固件信息请求确定出的目标固件信息进行封装,然后按照相应的总线基础协议将封装后得到的固件信息请求响应帧依次通过所述第二内部通信接口和所述第一内部通信接口发送给所述总线主设备;
相应的,所述通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备之后,还包括:
接收所述固件信息请求响应帧,并通过本地外部通信接口将所述固件信息请求响应帧反馈给请求方。
可选的,所述按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧,包括:
若所述固件操作指令为固件升级指令,则按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧,以便所述总线从设备按照所述预设数据封装格式对接收到的所述固件数据帧进行解析得到固件数据,并利用所述固件数据进行固件升级,然后在固件升级后按照所述预设数据封装格式生成相应的升级结束响应帧,并按照相应的总线基础协议将所述升级结束响应帧依次通过所述第二内部通信接口和所述第一内部通信接口发送给所述总线主设备。
可选的,所述按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧,包括:
按照所述预设数据封装格式对待升级固件参数进行封装,得到固件参数帧;
将所述固件参数帧发送给所述总线从设备,以便所述总线从设备在对所述固件参数帧进行校验后,按照所述预设数据封装格式生成校验结果帧并发送给所述总线主设备;
接收所述校验结果帧,并根据所述校验结果帧,按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧。
可选的,所述按照所述预设数据封装格式对待升级固件参数进行封装,得到固件参数帧,包括:
按照所述预设数据封装格式对固件升级请求进行封装,得到固件升级请求帧;所述固件升级请求帧的数据内容字段包括硬件唯一标识符;
将所述固件升级请求帧发送给所述总线从设备,以便所述总线从设备根据所述硬件唯一标识符进行核对后,按照所述预设数据封装格式生成待升级固件请求帧并发送给所述总线主设备;
接收所述待升级固件请求帧,并根据所述待升级固件请求帧,按照所述预设数据封装格式对待升级固件数据参数进行封装,得到固件参数帧。
可选的,所述根据所述校验结果帧,按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧,包括:
读取所述校验结果帧的帧类型;所述校验结果帧的帧类型包括固件信息错误、固件版本相同、固件内存不符和校验成功;
若所述帧类型为所述校验成功,则按照所述预设数据封装格式对所述固件升级指令中的固件数据进行封装得到相应的固件数据帧。
第二方面,本申请公开了一种固件数据处理装置,包括:
数据封装模块,用于通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;
数据传输模块,用于通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的固件数据处理方法。
第四方面,本申请公开了一种固件数据处理系统,包括:
总线主设备,用于执行前述的固件数据处理方法;
总线从设备,用于接收所述总线主设备发送的目标格式帧,并按照预设数据封装格式对所述目标格式帧进行解析,然后根据解析后数据执行相应的操作;
其中,所述总线主设备的第一内部通信接口与所述总线从设备的第二内部通信接口通过总线相连。
第五方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中计算机程序被处理器执行时实现前述的固件数据处理方法。
本申请中,通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。可见,通过总线主设备的外部通信接口接收固件操作指令,然后按照预设数据封装格式封装得到对应的目标格式帧,在通过总线基础协议转发至各总线从设备,从而通过总线主设备即可控制总线上的总线从设备,不需要引出每个从设备外接接口,只需要通过主设备提供的外部接口即可对系统中每个从设备进行固件数据的相关操作,降低了固件升级或固件信息获取等操作的复杂程度,提高了固件数据处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种固件数据处理方法流程图;
图2为本申请提供的一种具体的预设数据封装格式示意图;
图3为本申请提供的一种固件信息获取方法流程图;
图4为本申请提供的一种具体的帧结构举例示意图;
图5为本申请提供的一种固件升级方法流程图;
图6为本申请提供的一种具体的帧结构举例示意图;
图7为本申请提供的一种具体的校验结果帧结构举例示意图;
图8为本申请提供的一种固件数据处理装置结构示意图;
图9为本申请提供的一种电子设备结构图;
图10为本申请提供的一种具体的系统结构示意图。
具体实施方式
现有技术中,在进行固件升级或读取固件数据时,需要由专业的人员对每个设备引出通信接口进行固件烧写或读取,增加了操作复杂程度。为克服上述技术问题,本申请提供一种固件数据处理方法,能够提高固件数据处理效率。
本申请实施例公开了一种固件数据处理方法,应用于总线主设备,参见图1所示,该方法可以包括以下步骤:
步骤S11:通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧。
本实施例中,首先本地外部通信接口接收固件操作指令,并按照预设数据封装格式对上述固件操作指令进行封装,得到相应的目标格式帧,即利用总线主设备提供的外部通信接口接收外部设备发送的固件操作指令,其中,上述固件操作指令包括但不限于固件信息读取指令和固件升级指令。然后总线主设备按照预设数据封装格式对固件操作指令进行封装,得到相应的目标格式帧。其中,上述外部通信接口可以为无线通信接口,如支持TCP/IP等通信协议,也可以为有线通信接口,如USART(Universal Synchronous/Asynchronous Receiver/Transmitter,通用同步/异步串行接收/发送器),该外部通信接口主要用于在需要固件升级或读取固件数据时,接受外部设备,如PC应用程序对系统内部设备发送的相关请求。
本实施例中,所述预设数据封装格式可以包括目标格式帧标识、帧类型、数据长度、数据内容和校验值。例如图2所示的一种具体的预设数据封装格式,其中,Byte1可以为固定值,即目标格式帧标识符,用于通信双发明确该帧数据为经过预设数据封装格式封装后的数据帧;其中,Byte2为帧类型,为可变值,可自行设定,用于明确该帧的消息类型;其中,Byte3-Byte4为数据长度,用于明确该帧附带的数据内容的长度;其中,Byte5-Byte1022为通信的具体数据内容;其中,Byte1023-Byte1024为校验值,用于校验数据内容的正确性。
步骤S12:通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。
本实施例中,得到上述目标格式帧后,通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将上述目标格式帧发送给总线从设备,以便总线从设备接收到上述目标格式帧后,按照上述述预设数据封装格式对上述目标格式帧进行解析,并根据解析后数据执行相应的操作。可以理解的是,总线主设备提供的第一内部通信接口包括但不限于IIC(Inter-Integrated Circuit,集成电路总线)接口、SPI接口(Serial Peripheral Interface,串行外设接口)、CAN(Controller Area Network,控制器局域网络)接口,通过该第一内部通信接口以及相应的总线基础协议,总线主设备可以与系统内部其他设备进行数据交互;相应的,上述总线从设备提供的第二内部通信接口包括但不限于IIC接口、SPI接口、CAN接口,通过该第二内部通信接口以及相应的总线基础协议,总线从设备可以与系统内部其他设备进行数据交互。其中,上述总线主设备的第一内部通信接口和上述从设备的第二内部通信接口可以保持一致,即使用相同的总线通信协议;也可以通过为相应的总线主设备和总线从设备添加接口转换设备,以便通过上述接口转换设备将数据通信协议转换为自身支持的协议类型。
上述总线从设备在得到目标格式帧后,按照上述预设数据封装格式对上述目标格式帧进行解析,并根据解析后数据执行相应的操作。可以理解的是,总线从设备根据解析后数据可以得到相应的操作指令,然后根据操作指令进行相应的操作,例如反馈相应的固件信息数据或进行固件升级等操作;需要说明是,上述总线从设备向总线主设备反馈信息时,也会按照上述预设数据封装格式将数据封装后发送。
本实施例中,所述按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧,可以包括:若所述固件操作指令为固件信息请求指令,则按照所述预设数据封装格式对所述固件信息请求指令进行封装,得到相应的固件信息请求帧,以便所述总线从设备按照所述预设数据封装格式对接收到的所述固件信息请求帧进行解析得到固件信息请求,并按照所述预设数据封装格式对根据所述固件信息请求确定出的目标固件信息进行封装,然后按照相应的总线基础协议将封装后得到的固件信息请求响应帧依次通过所述第二内部通信接口和所述第一内部通信接口发送给所述总线主设备;相应的,所述通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备之后,还包括:接收所述固件信息请求响应帧,并通过本地外部通信接口将所述固件信息请求响应帧反馈给请求方。
可以理解得的是,例如图3所示,若上述固件操作指令为固件信息请求指令,则按照预设数据封装格式对固件信息请求指令进行封装,得到相应的固件信息请求帧发送给总线从设备,以便总线从设备按照预设数据封装格式对接收到的固件信息请求帧进行解析得到固件信息请求,并按照预设数据封装格式对根据上述固件信息请求确定出的目标固件信息进行封装,然后按照相应的总线基础协议将封装后得到的固件信息请求响应帧发送给上述总线主设备。其中,上述固件信息请求帧和固件信息请求响应帧的结构例如图4所示,固件信息请求帧中Byte2即帧类型字段为0x0A,表征该帧为固件信息请求帧,固件信息请求响应帧中Byte2即帧类型字段为0x0B,表征该帧为固件信息请求响应帧,数据内容字段为固件信息。即外部设备向系统总线主设备发起固件信息请求,总线主设备接收到该请求后,向总线中发送一条固件信息请求帧,系统中每个总线从设备都通过各自的内部通信接口接收到固件信息请求帧,并且返回附带固件信息的固件信息请求响应帧。
由上可见,本实施例中通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。可见,通过总线主设备的外部通信接口接收固件操作指令,然后按照预设数据封装格式封装得到对应的目标格式帧,在通过总线基础协议转发至各总线从设备,从而通过总线主设备即可控制总线上的总线从设备,不需要引出每个从设备外接接口,只需要通过主设备提供的外部接口即可对系统中每个从设备进行固件数据的相关操作,降低了固件升级或固件信息获取等操作的复杂程度,提高了固件数据处理效率。
本申请实施例公开了一种固件升级方法,应用于总线主设备,参见图5所示,该方法可以包括以下步骤:
步骤S21:通过本地外部通信接口接收固件升级指令,按照预设数据封装格式对固件升级请求进行封装,得到固件升级请求帧;所述固件升级请求帧的数据内容字段包括硬件唯一标识符。
本实施例中,通过本地外部通信接口接收固件升级指令,按照预设数据封装格式对固件升级请求进行封装,得到固件升级请求帧;上述固件升级请求帧的数据内容字段包括硬件唯一标识符。上述预设数据封装格式已在前述实施例中进行描述,在此不再进行赘述。例如图6所示,固件升级请求帧中帧类型字段为0x0C表征该帧为更新指令,数据内容字段包括硬件唯一标识符。
步骤S22:将所述固件升级请求帧发送给总线从设备,以便所述总线从设备根据所述硬件唯一标识符进行核对后,按照所述预设数据封装格式生成待升级固件请求帧并发送给所述总线主设备。
本实施例中,将上述固件升级请求帧发送给总线从设备,以便总线从设备根据上述硬件唯一标识符进行核对后,按照上述预设数据封装格式生成待升级固件请求帧并发送给上述总线主设备。例如图6所示,待升级固件请求帧中帧类型字段为0x0D表征该帧为待升级固件请求帧。即外部设备向机载总线主设备发起固件升级请求,总线主设备接受到该请求后,通过总线向从设备发送一条固件升级请求帧,总线从设备收到该请求帧后,按照预设数据封装协议解析出其中的硬件标识号,然后自动匹配,匹配成功后进入更新模式,进而向总线主设备发送待升级固件请求帧。
步骤S23:接收所述待升级固件请求帧,并根据所述待升级固件请求帧,按照所述预设数据封装格式对待升级固件数据参数进行封装,得到固件参数帧。
本实施例中,接收上述待升级固件请求帧,并根据上述待升级固件请求帧,按照上述预设数据封装格式对待升级固件数据参数进行封装,得到固件参数帧。即总线主设备接收到总线从设备的待升级固件请求帧,向总线从设备回应基于待升级固件数据参数得到的固件参数帧。例如图6所示,固件参数帧中帧类型字段为0x0E表征该帧为固件参数帧,数据内容字段为待升级固件数据参数。
步骤S24:将所述固件参数帧发送给所述总线从设备,以便所述总线从设备在对所述固件参数帧进行校验后,按照所述预设数据封装格式生成校验结果帧并发送给所述总线主设备。
本实施例中,将上述固件参数帧发送给总线从设备,以便总线从设备在对上述固件参数帧进行校验后,按照预设数据封装格式生成校验结果帧并发送给上述总线主设备。即从设备根据上述固件参数帧中数据内容字段的数据,判断对应的固件是否为正确可用的固件数据。上述校验结果帧可以包括四种类型,通过帧类型字段表征,如图7所示,包括但不限于固件信息错误、固件版本相同、固件内存不符和校验成功,例如帧类型字段使用0xA1表征固件信息错误,帧类型字段使用0xA2表征固件版本相同,帧类型字段使用0xA3表征固件内存不符,即固件的数据大小超过规定内存大小,帧类型字段使用0xA4表征校验成功。
步骤S25:接收所述校验结果帧,并根据所述校验结果帧,按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧。
本实施例中,接收上述校验结果帧,并根据上述校验结果帧,按照上述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧。
本实施例中,所述根据所述校验结果帧,按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧,可以包括:读取所述校验结果帧的帧类型;所述校验结果帧的帧类型包括固件信息错误、固件版本相同、固件内存不符和校验成功;若所述帧类型为所述校验成功,则按照所述预设数据封装格式对所述固件升级指令中的固件数据进行封装得到相应的固件数据帧。即若收到校验成功的校验结果帧,则按照预设数据封装格式述固件升级指令中的固件数据进行封装得到相应的固件数据帧。
步骤S26:将所述固件数据帧发送给所述总线从设备,以便所述总线从设备按照所述预设数据封装格式对接收到的所述固件数据帧进行解析得到固件数据,并利用所述固件数据进行固件升级,然后在固件升级后按照所述预设数据封装格式生成相应的升级结束响应帧,并按照相应的总线基础协议将所述升级结束响应帧依次通过所述总线从设备第二内部通信接口和所述总线主设备第一内部通信接口发送给所述总线主设备。
本实施例中,总线从设备接收到固件数据帧后,根据固件数据帧中数据内容字段的固件数据进行固件升级,并在固件升级后按照预设数据封装格式生成相应的升级结束响应帧,例如图6所示,升级结束响应帧中帧类型字段为0xA6表征该帧为升级结束响应帧。
由上可见,通过向总线主设备发送固件升级指令,由总线主设备根据固件升级指令向总线从设备进行接收确认和固件参数确认后,将固件数据发送给总线从设备进行升级,由此,对系统内总线从设备升级时只需通过总线主设备提供的外部接口,即可对系统中每个从设备进行固件升级,方便用户操作,提高了固件更新的效率。
相应的,本申请实施例还公开了一种固件数据处理装置,参见图8所示,该装置包括:
数据封装模块11,用于通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;
数据传输模块12,用于通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。
在一些具体实施例中,所述预设数据封装格式具体可以包括目标格式帧标识、帧类型、数据长度、数据内容和校验值。
由上可见,本实施例中通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。可见,通过总线主设备的外部通信接口接收固件操作指令,然后按照预设数据封装格式封装得到对应的目标格式帧,在通过总线基础协议转发至各总线从设备,从而通过总线主设备即可控制总线上的总线从设备,不需要引出每个从设备外接接口,只需要通过主设备提供的外部接口即可对系统中每个从设备进行固件数据的相关操作,降低了固件升级或固件信息获取等操作的复杂程度,提高了固件数据处理效率。
在一些具体实施例中,所述数据封装模块11具体可以包括:
固件信息请求指令封装单元,用于若所述固件操作指令为固件信息请求指令,则按照所述预设数据封装格式对所述固件信息请求指令进行封装,得到相应的固件信息请求帧,以便所述总线从设备按照所述预设数据封装格式对接收到的所述固件信息请求帧进行解析得到固件信息请求,并按照所述预设数据封装格式对根据所述固件信息请求确定出的目标固件信息进行封装,然后按照相应的总线基础协议将封装后得到的固件信息请求响应帧依次通过所述第二内部通信接口和所述第一内部通信接口发送给所述总线主设备;
固件数据封装单元,用于若所述固件操作指令为固件升级指令,则按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧,以便所述总线从设备按照所述预设数据封装格式对接收到的所述固件数据帧进行解析得到固件数据,并利用所述固件数据进行固件升级,然后在固件升级后按照所述预设数据封装格式生成相应的升级结束响应帧,并按照相应的总线基础协议将所述升级结束响应帧依次通过所述第二内部通信接口和所述第一内部通信接口发送给所述总线主设备。
在一些具体实施例中,所述固件数据处理装置具体可以包括:
响应帧接收模块,用于接收所述固件信息请求响应帧,并通过本地外部通信接口将所述固件信息请求响应帧反馈给请求方。
在一些具体实施例中,所述固件数据封装单元具体可以包括:
固件参数封装单元,用于按照所述预设数据封装格式对待升级固件参数进行封装,得到固件参数帧;
固件参数帧发送单元,用于将所述固件参数帧发送给所述总线从设备,以便所述总线从设备在对所述固件参数帧进行校验后,按照所述预设数据封装格式生成校验结果帧并发送给所述总线主设备;
校验结果帧接收单元,用于接收所述校验结果帧,并根据所述校验结果帧,按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧。
在一些具体实施例中,所述固件数据封装单元具体可以包括:
固件升级请求封装单元,用于按照所述预设数据封装格式对固件升级请求进行封装,得到固件升级请求帧;所述固件升级请求帧的数据内容字段包括硬件唯一标识符;
固件升级请求帧发送单元,用于将所述固件升级请求帧发送给所述总线从设备,以便所述总线从设备根据所述硬件唯一标识符进行核对后,按照所述预设数据封装格式生成待升级固件请求帧并发送给所述总线主设备;
待升级固件请求帧接收单元,用于接收所述待升级固件请求帧,并根据所述待升级固件请求帧,按照所述预设数据封装格式对待升级固件数据参数进行封装,得到固件参数帧。
在一些具体实施例中,所述校验结果帧接收单元具体可以包括:
帧类型读取单元,用于读取所述校验结果帧的帧类型;所述校验结果帧的帧类型包括固件信息错误、固件版本相同、固件内存不符和校验成功;
帧类型判断单元,用于若所述帧类型为所述校验成功,则按照所述预设数据封装格式对所述固件升级指令中的固件数据进行封装得到相应的固件数据帧。
进一步的,本申请实施例还公开了一种电子设备,参见图9所示,图中的内容不能被认为是对本申请的使用范围的任何限制。
图9为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的固件数据处理方法中的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及包括固件操作指令在内的数据223等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的固件数据处理方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种固件数据处理系统,所述固件数据处理系统包括:总线主设备,用于执行前述任一实施例公开的固件数据处理方法;总线从设备,用于接收所述总线主设备发送的目标格式帧,并按照预设数据封装格式对所述目标格式帧进行解析,然后根据解析后数据执行相应的操作。其中,上述总线主设备的第一内部通信接口与上述总线从设备的第二内部通信接口通过总线相连。以图10所示的一种具体的系统结构示意图进行说明,图10中TX设备即数据发送设备作为总线主设备,总线从设备包括如飞控、磁罗盘、气压计、电调等总线从设备,通过各自的内部通信接口连接总线并按照相应的总线基础协议进行通信。可以理解的是,系统中总线主设备设有一个外部通信接口和一个内部通信接口,总线主设备的外部通信接口用于接收外部设备发送的固件操作指令,系统中每个总线从设备都设有一个自身的内部通信接口,总线主设备与总线从设备之间通过各自的内部通信接口连接到总线进行数据交互。由此,通过总线主设备即可控制总线上的总线从设备,不需要引出每个从设备的外接接口,外部设备只需要通过主设备提供的外部接口即可对系统中每个从设备进行固件数据的相关操作,降低了固件升级或固件信息获取等操作的复杂程度,提高了固件数据处理效率。
进一步的,本申请实施例还公开了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的固件数据处理方法步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种固件数据处理方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种固件数据处理方法,其特征在于,应用于总线主设备,包括:
通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;
通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。
2.根据权利要求1所述的固件数据处理方法,其特征在于,所述预设数据封装格式包括目标格式帧标识、帧类型、数据长度、数据内容和校验值。
3.根据权利要求2所述的固件数据处理方法,其特征在于,所述按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧,包括:
若所述固件操作指令为固件信息请求指令,则按照所述预设数据封装格式对所述固件信息请求指令进行封装,得到相应的固件信息请求帧,以便所述总线从设备按照所述预设数据封装格式对接收到的所述固件信息请求帧进行解析得到固件信息请求,并按照所述预设数据封装格式对根据所述固件信息请求确定出的目标固件信息进行封装,然后按照相应的总线基础协议将封装后得到的固件信息请求响应帧依次通过所述第二内部通信接口和所述第一内部通信接口发送给所述总线主设备;
相应的,所述通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备之后,还包括:
接收所述固件信息请求响应帧,并通过本地外部通信接口将所述固件信息请求响应帧反馈给请求方。
4.根据权利要求2或3所述的固件数据处理方法,其特征在于,所述按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧,包括:
若所述固件操作指令为固件升级指令,则按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧,以便所述总线从设备按照所述预设数据封装格式对接收到的所述固件数据帧进行解析得到固件数据,并利用所述固件数据进行固件升级,然后在固件升级后按照所述预设数据封装格式生成相应的升级结束响应帧,并按照相应的总线基础协议将所述升级结束响应帧依次通过所述第二内部通信接口和所述第一内部通信接口发送给所述总线主设备。
5.根据权利要求4所述的固件数据处理方法,其特征在于,所述按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧,包括:
按照所述预设数据封装格式对待升级固件参数进行封装,得到固件参数帧;
将所述固件参数帧发送给所述总线从设备,以便所述总线从设备在对所述固件参数帧进行校验后,按照所述预设数据封装格式生成校验结果帧并发送给所述总线主设备;
接收所述校验结果帧,并根据所述校验结果帧,按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧。
6.根据权利要求5所述的固件数据处理方法,其特征在于,所述按照所述预设数据封装格式对待升级固件参数进行封装,得到固件参数帧,包括:
按照所述预设数据封装格式对固件升级请求进行封装,得到固件升级请求帧;所述固件升级请求帧的数据内容字段包括硬件唯一标识符;
将所述固件升级请求帧发送给所述总线从设备,以便所述总线从设备根据所述硬件唯一标识符进行核对后,按照所述预设数据封装格式生成待升级固件请求帧并发送给所述总线主设备;
接收所述待升级固件请求帧,并根据所述待升级固件请求帧,按照所述预设数据封装格式对待升级固件数据参数进行封装,得到固件参数帧。
7.根据权利要求5所述的固件数据处理方法,其特征在于,所述根据所述校验结果帧,按照所述预设数据封装格式对固件升级指令中的固件数据进行封装,得到相应的固件数据帧,包括:
读取所述校验结果帧的帧类型;所述校验结果帧的帧类型包括固件信息错误、固件版本相同、固件内存不符和校验成功;
若所述帧类型为所述校验成功,则按照所述预设数据封装格式对所述固件升级指令中的固件数据进行封装得到相应的固件数据帧。
8.一种固件数据处理装置,其特征在于,应用于总线主设备,包括:
数据封装模块,用于通过本地外部通信接口接收固件操作指令,并按照预设数据封装格式对所述固件操作指令进行封装,得到相应的目标格式帧;
数据传输模块,用于通过本地的第一内部通信接口和总线从设备的第二内部通信接口,按照相应的总线基础协议将所述目标格式帧发送给所述总线从设备,以便所述总线从设备接收到所述目标格式帧后,按照所述预设数据封装格式对所述目标格式帧进行解析,并根据解析后数据执行相应的操作。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的固件数据处理方法。
10.一种固件数据处理系统,其特征在于,包括:
总线主设备,用于执行如权利要求1至7任一项所述的固件数据处理方法;
总线从设备,用于接收所述总线主设备发送的目标格式帧,并按照预设数据封装格式对所述目标格式帧进行解析,然后根据解析后数据执行相应的操作;
其中,所述总线主设备的第一内部通信接口与所述总线从设备的第二内部通信接口通过总线相连。
11.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中计算机程序被处理器执行时实现如权利要求1至7任一项所述的固件数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110318945.8A CN112905212A (zh) | 2021-03-25 | 2021-03-25 | 一种固件数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110318945.8A CN112905212A (zh) | 2021-03-25 | 2021-03-25 | 一种固件数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112905212A true CN112905212A (zh) | 2021-06-04 |
Family
ID=76106529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110318945.8A Pending CN112905212A (zh) | 2021-03-25 | 2021-03-25 | 一种固件数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905212A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665271A (zh) * | 2022-08-09 | 2023-01-31 | 深圳市九牛一毛智能物联科技有限公司 | 工业总线数据解析转义方法、装置及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271747A1 (en) * | 2005-05-26 | 2006-11-30 | Symbol Technologies, Inc. | Wireless access device with integrated universal serial bus interface |
CN105373404A (zh) * | 2015-11-25 | 2016-03-02 | 青岛海信宽带多媒体技术有限公司 | 软件镜像烧录方法及设备 |
CN108572848A (zh) * | 2018-06-26 | 2018-09-25 | 深圳市未来感知科技有限公司 | 交互系统的底层固件在线升级方法、装置及存储介质 |
CN109656587A (zh) * | 2018-11-13 | 2019-04-19 | 深圳智链物联科技有限公司 | 一种设备固件的升级方法及装置 |
CN110474791A (zh) * | 2018-05-11 | 2019-11-19 | 上海智峥科技有限公司 | 多核网络设备固件升级方法及其装置 |
-
2021
- 2021-03-25 CN CN202110318945.8A patent/CN112905212A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060271747A1 (en) * | 2005-05-26 | 2006-11-30 | Symbol Technologies, Inc. | Wireless access device with integrated universal serial bus interface |
CN105373404A (zh) * | 2015-11-25 | 2016-03-02 | 青岛海信宽带多媒体技术有限公司 | 软件镜像烧录方法及设备 |
CN110474791A (zh) * | 2018-05-11 | 2019-11-19 | 上海智峥科技有限公司 | 多核网络设备固件升级方法及其装置 |
CN108572848A (zh) * | 2018-06-26 | 2018-09-25 | 深圳市未来感知科技有限公司 | 交互系统的底层固件在线升级方法、装置及存储介质 |
CN109656587A (zh) * | 2018-11-13 | 2019-04-19 | 深圳智链物联科技有限公司 | 一种设备固件的升级方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115665271A (zh) * | 2022-08-09 | 2023-01-31 | 深圳市九牛一毛智能物联科技有限公司 | 工业总线数据解析转义方法、装置及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113067811A (zh) | 协议转换方法、装置、系统、电子设备及存储介质 | |
CN111064720A (zh) | 一种配置网关数据协议转换方法及装置 | |
CN110597539A (zh) | 电能表升级方法、系统和存储介质 | |
CN110708205A (zh) | 通过网关对设备进行fota的方法及系统 | |
US9836958B2 (en) | Device control method, server, system and computer storage medium | |
CN111880446A (zh) | 控制指令的发送方法及控制指令的接收方法 | |
CN106453629B (zh) | 一种基于移动网络的汽车电子系统远程升级系统及其方法 | |
CN102984258A (zh) | 物联网数据传输方法和适配器 | |
CN112905212A (zh) | 一种固件数据处理方法、装置、设备及存储介质 | |
CN111641528A (zh) | 设备管理方法、装置、存储介质和计算机可读介质 | |
CN112181147B (zh) | 基于小程序的可穿戴设备交互方法、装置和电子设备 | |
CN108897689B (zh) | 嵌入式应用程序仿真调试方法、设备以及可读存储介质 | |
CN108958781B (zh) | 一种远程嵌入式固件在线升级方法 | |
CN106294119B (zh) | 测试调度系统、方法及终端设备 | |
CN114115866A (zh) | 基于跨域的车载场景自定义方法、装置、设备及存储介质 | |
CN108989428B (zh) | 蓝牙终端升级方法、服务器、计算机可读存储介质及系统 | |
CN112399446A (zh) | 边缘网关通信方法、装置、计算机设备和存储介质 | |
CN110704080B (zh) | 一种通过Wi-Fi模块给蓝牙模块升级的方法 | |
CN117032750A (zh) | 一种基于fota的储能充电桩远程升级方法和相关设备 | |
CN108920389B (zh) | 一种多协议usb设备协议类型与应用动态匹配的方法及设备 | |
CN111682965A (zh) | 一种fota控制器 | |
CN108928213B (zh) | 控制面板的参数配置方法、控制面板及被控设备 | |
EP4116831A1 (en) | Communication device, program, communication method, information processing method, information processing device, and communication system | |
CN115454575A (zh) | jar包转换并自动加载的方法、装置、设备及存储介质 | |
CN112379902B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210604 |