一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种车载嵌入式OTA刷写文件、刷写装置及刷写方法与流程

2021-11-03 12:31:00 来源:中国专利 TAG:

一种车载嵌入式ota刷写文件、刷写装置及刷写方法
技术领域
1.本发明属于汽车软件技术,具体涉及汽车软件远程升级的软件包及其刷写技术。


背景技术:

2.空中下载技术(over

the

air technology,ota),是一种通过云端与车端通信,对车端控制器进行软件远程升级的技术。目前软件定义汽车已经是行业内的共识,整车软件的快速迭代,以及个性需求的实现和更新都将依赖于ota。ota作为汽车软件升级的通道,其价值是将新软件远程刷写到汽车中。不同零部件厂商供应的控制器在文件格式、软件包大小及写入地址、软件包数量、升级刷写流程、升级对象等方面皆存在差异。为保证刷写过程的效率及其可靠性,因此需要一种能够快速识别刷写数据内容的ota刷写文件格式,及其对应的刷写装置。
3.中国专利文献cn111190629a公开了一种嵌入式终端升级软件包及其解析方法,其是一种制作和解析特定格式的文件的方法,其优势在于结合了刷写流程及刷写数据在同一份文件中,统一流程;但其不足在于,文件格式定义了复杂的标识,且刷写过程中,需要对刷写文件中的这些标识符进行解析,如标识符识别、数据解析等过程,这些解析过程是在刷写过程中才进行的,复杂的解析过程对刷写效率产生了极大的影响。不能够满足整车ota升级过程效率高,时间短,用户等候时间少的要求。


技术实现要素:

4.本发明的目的是提供一种嵌入式控制器ota刷写文件、刷写装置及刷写方法,针对汽车进行ota远程升级,实现对控制器软件的高效升级迭代的需求。
5.本发明的技术方案如下:本发明提出一种嵌入式控制器ota刷写文件,所述刷写文件格式包括:文件配置参数、数据块配置参数、刷写数据块及文件结束标志。其中,文件配置参数:被配置为刷写装置引用,包含:参数标识符、分隔符和参数;所述参数标识符由“otafilecfg”和“:”组成,“otafilecfg”代表该行为文件配置参数,“:”为参数分隔符,其后为参数;参数由两个十六进制数组成,第一个代表数据块单行的有效数据内容位数,第二代表文件中总计有多少个数据块。
6.数据块配置参数:被配置为刷写装置引用,包括数据块配置参数标识及刷写传输参数,所述刷写传输参数包括:传输块大小;单次传输块起始地址;传输数据总大小。
7.所述数据块配置参数标识由“cfg”和“:”组成,“cfg”标识代表该行数据为数据块配置参数行,“:”为参数分割标识,其后为传输参数。
8.传输参数由10个十六进制数组成,其中1至2位代表单次传输blocksize大小的值;第3至6位代表单次传输块起始地址; 第7至10位代表传输数据总大小;所述blocksize指被刷控制器能支持的接收能力。
9.刷写数据块:被配置为刷写装置传输的数据内容,数据块的数据按行存储,每一行
数据包括数据内容、数据crc、数据结束标识;所述刷写数据块的一行数据包括65个十六进制数据,64个刷写数据及1个crc校验值,之后跟行数据结束标识“xx”。
10.文件结束标志,以“end”代表该ota刷写文件内容结束。
11.所述ota刷写文件经过加密算法处理之后得到加密的ota刷写文件。
12.本发明还提出一种嵌入式控制器ota刷写文件的刷写装置,其包括解码器和刷写器。所述解码器包括:解码模块:用于解码以上所述的ota刷写文件的加密数据,通过解密算法得到真实的数据内容。
13.存储模块:用于将真实的数据内容按照以上所述的ota刷写文件格式进行数据保存;所述刷写器包括:刷写任务模块:对多个刷写任务进行管理,按优先级顺序依次展开刷写任务。
14.安全认证模块:用于对被刷写对象的安全访问,通过密钥验证,获取其刷写等级的安全权限。
15.数据读取模块:用于从存储区域读取刷写文件,并按照权利要求1所述ota刷写文件格式标识进行数据读取。
16.数据刷写模块:根据读取模块传输的配置参数,以及刷写数据内容,按照规定的传输格式,传输数据到被刷写对象。
17.刷写验证模块:用于对被刷写对象中刷写后的数据进行数据完整性校验以及数据可用性校验。
18.本发明还提出一种嵌入式控制器ota刷写文件的刷写方法,其采用以上所述的ota刷写文件,包括以下步骤:步骤1:解码器解码加密后的ota刷写文件并存储解码后的ota刷写文件,等待刷写器的读取。
19.步骤2:通过刷写任务管理,记录一个刷写任务开始与结束,并在任务结束之后开始下一个任务,直到指定所有刷写对象都完成刷写。
20.步骤3:对被刷写对象进行安全认证,如果成功则进入步骤4;否则刷写结束。
21.步骤4:读取ota刷写文件数据,过程出现读取失败,则进入步骤7。
22.步骤41:首先打开文件,读取文件首行,获取刷写文件配置参数。
23.步骤42:读取文件第二行,识别第一个数据块配置参数,获取第一个数据块的起始地址,数据块大小,以及类型。
24.步骤43:按照数据文件配置中的行数据位数,读取数据行内容。
25.步骤44:传输数据内容至刷写器刷写模块。
26.步骤5:开始刷写,传输数据,过程出现传输失败,则进入步骤7。
27.步骤51:根据数据块的地址信息和大小,进行flash擦除。
28.步骤52:进行数据传输。
29.步骤53:数据传输结束,如果有数据块,回到步骤51。
30.步骤6:刷写成功验证,过程出现传输失败,则进入步骤7。
31.步骤7:刷写结束。
32.本发明具有以下有益效果:1、本发明为汽车软件的远程升级ota提供一种简洁的,通用的刷写文件格式,通过将bin、hex、s19等文件按照本发明所述的ota刷写文件格式转换为ota刷写文件,ota刷写文件内容只有必须几个标识符和数据,格式易识别,易读取。
33.2、本发明为汽车软件的远程升级ota提供一种刷写装置,能够为ota远程升级提供较高的刷写效率。其优势在于,最大程度的统一化刷写流程,使得流程标准化,包括流程中的肯定响应和否定响应等户离。不同刷写对象的刷写文件差异信息则配置在ota刷写文件的配置信息otafilecfg中,刷写过程不需要进行解码或者解密数据,而是直接读取数据,其后发送数据,减少了处理过程,从而减少刷写时间,使得整车控制器的唤醒时长减少,降低资源消耗和成本。
34.3、本发明在一定程度上为ota刷写性能提升提供了帮助。
附图说明
35.图1为本发明的刷写文件图;图2为本发明的刷写装置图;图3为本发明的处理流程图。
36.具体实施方式:下面结合附图对本发明作进一步说明。
37.实施例1提供一种嵌入式控制器ota刷写文件格式,将其他格式的文件如bin、hex、s19等数据内容按照此格式创建ota刷写文件。
38.ota刷写文件格式包括:文件配置参数,数据块配置,刷写数据块及文件结束标志。
39.文件配置参数:被配置为刷写装置引用,文件配置参数包含参数标识符,分隔符和参数数据块配置参数:被配置为刷写装置引用,数据块配置参数包括刷写数据传输参数。所述刷写传输参数包括:传输块大小;单次传输块起始地址;传输数据总大小。
40.刷写数据块:被配置为刷写装置传输的数据内容,数据块的数据按行存储,每一行数据包括数据,数据crc,数结尾标识。
41.文件结束标志,以标识符“end”,代表该ota刷写文件内容结束。
42.具体地,文件配置参数指配置参数包括参数标识符和参数。参数标识符由“otafilecfg”和“:”组成。“otafilecfg”代表该行为文件配置参数。“:”为参数分隔符,其后为参数。参数由两个十六进制数组成,第一个代表数据块单行的有效数据内容位数;第二代表文件中总计有多少个数据块。所述数据块配置参数,其包括数据块配置参数标识及传输参数。
43.数据块配置参数标识由“cfg”和“:”组成。“cfg”标识代表该行数据为数据块配置参数行;“:”为参数分割标识,其后为传输参数。
44.传输参数包括单次传输blocksize大小;单次传输块起始地址;传输数据总大小。传输参数由10个十六进制数组成,其中1至2位代表单次传输blocksize大小的值;第3至6位
代表单次传输块起始地址; 第7至10位代表传输数据总大小。所述blocksize指被刷控制器能支持的接收能力。
45.所述刷写数据块,是指在cfg与cfg之间的数据,或者cfg与end之间的数据。数据块的数据按行存储,每一行数据包括数据,数据crc,数结尾标识。一行数据包括65个十六进制数据,64个刷写数据及1个crc校验值,之后跟行数据结束标识“xx”。
46.ota刷写文件经过加密算法处理之后得到加密的ota刷写文件。
47.以下结合图1进一步说明以上刷写文件的格式。
48.所述刷写文件首行为刷写配置参数,为格式1。
49.所述格式1为otafilecfg标识的。参数标识符由“otafilecfg”和“:”组成。“otafilecfg”代表该行为文件配置参数。“:”为参数分隔符,其后为参数,即图中
ꢀ“
40 02 0f f1”为文件配置参数,其中“40”为单行存储的数据位数,即单行有64个byte的数据;“02”为数据块个数,即当前刷写文件总共有2个数据块;“0ff1”为单次传输数据blocksize大小,即单次传输最大blocksize为4081 byte 。
50.刷写文件中,某行以标识cfg:作为开头,代表刷写数据块配置参数行。所述数据块配置,包括单次传输块起始地址;传输数据总大小及传输块类型,以数据中的“cfg: 00 a1 a1 eb 00 00 01 0a 00”为列说明。“cfg:”为标识符;“00 a1 a1 eb”为数据块起始地址,占用4byte;
ꢀ“
00 00 01 0a”为传输数据总大小,占用4位十六进制数据,最后一位“00”代表数据块类型。
51.刷写数据块紧跟cfg所在行的下一行,每一个数据块的范围为cfg之间的数据行,或者cfg到end的数据行。
52.所述刷写文件的所有内容以标识符end作为结尾,表示后续不在有数据内容。
53.本实施例提供ota刷写文件格式通用,内容易识别,易读取。
54.实施例2如图2所述的是刷写装置。刷写装置分为解码器和刷写器。其中解码器含有两个模块:解码模块 和存储模块。
55.解码模块,根据约定的加密和解密算法,对刷写文件进行解码。
56.存储模块,将解码之后的数据,按照otafilecfg约定的格式对刷写数据进行逐行保存。
57.刷写任务模块:记录或者接受来自上层的刷写任务,并对多个刷写任务进行管理,按优先级顺序依次展开刷写任务。
58.安全认证模块:用于对被刷写对象的安全访问,通过密钥验证,获取其刷写等级的安全权限。如果认证通过,则开始进行数据刷写;如果认证不通过,则记录异常原因,中断刷写。
59.数据读取模块:用于从存储区域读取刷写文件,并按照所属的刷写文件格式标识进行数据读取。
60.数据刷写模块:根据读取模块传输的配置参数,以及刷写数据内容,按照规定的传输格式传输数据到被刷写对象。
61.刷写验证模块:用于对被刷写对象中刷写后的数据进行数据完整性校验以及数据可用性校验。
62.本实施例的刷写装置,其流程标准化,刷写过程不需要进行解码或者解密数据,而是直接读取数据,其后发送数据,减少了处理过程,从而减少刷写时间。
63.实施例3如图3提供一种嵌入式控制器ota刷写文件的刷写方法,包括:步骤1:刷写装置接受到新的来自外部的加密后的ota刷写文件,解码器先进行ota刷写文件的解码,并将解码后的ota刷写文件保存在本地内存中,此时的ota刷写文件格式即为实施例1所述的ota刷写文件格式,文件命名为被刷写对象的名称。
64.步骤2:刷写任务管理,记录一个刷写任务开始与结束,并在任务结束之后开始下一个任务,直到指定任务都完成。
65.步骤3:对被刷写对象进行安全认证,如果成功则进入步骤4;否则刷写结束。
66.步骤4:读取刷写文件内容,过程出现读取失败,则进入步骤7。
67.步骤41:首先打开文件,读取文件首行,获取刷写文件配置参数。
68.步骤42:读取文件第二行,识别第一个数据块配置参数,获取第一个数据块的起始地址,数据块大小,以及类型。
69.步骤43:按照数据文件配置中的行数据位数,读取数据行内容。
70.步骤44:传输数据内容至刷写器刷写模块。
71.步骤5:开始刷写,传输数据,过程出现传输失败,则进入步骤7。
72.步骤51:根据数据块的地址信息和大小,进行flash擦除。
73.步骤52:进行数据传输。
74.步骤53:数据传输结束,如果有数据块,回到步骤51步骤6:刷写成功验证,过程出现传输失败,则进入步骤7。
75.步骤7:刷写结束。
76.以上方法可通过编程组成一整套软件,可以在一个上位机,或者一个控制器内进行。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献