【技术实现步骤摘要】
基于LIN线的ECU模块刷新校验方法
[0001]本申请涉及电子控制单元
,具体涉及一种基于LIN线的ECU模块刷新校验方法。
技术介绍
[0002]LIN(Local Interconnect Network)是一种低成本的串行通讯网络,用于实现汽车中的分布式电子系统控制。基于LIN线对ECU进行刷写是一种常用的更新程序方法,很多带LIN通信的ECU模块通常安装在车辆的一些不容易拆装的位置,如果涉及到软件更新,ECU没有刷新功能对于后期的维护成本非常高。如果能通过LIN线进行程序的更新就完全可以降低这种风险,可大大节省成本,因此其使用非常的广泛。
[0003]LIN线是单线传输数据,校验相对非常简单。通过LIN线对一些功能较为单一的ECU模块进行软件更新时,如果对刷写的程序校验不充分,系统的可靠性就得不到保证,会导致该ECU模块在刷写过程或刷写完成后无法运行,严重时甚至完全失效导致程序无法重新回到Boot程序,最后不得不重新更换ECU模块。
技术实现思路
[0004]本申请提供了一种基于LIN线的ECU模块刷新校验方法,可以解决基于LIN线的ECU模块刷新过程中,数据验证不够充分,导致ECU模块刷新失败、刷新死机、后期程序跑飞中的至少一个问题。
[0005]一方面,本申请实施例提供了一种基于LIN线的ECU模块刷新校验方法,包括:
[0006]对多个初始程序模块进行地址填充以得到地址连续的刷新程序模块;
[0007]获取所述刷新程序模块的数据的校验填充值; />[0008]对所述刷新程序模块和所述校验填充值进行验证,生成刷新文件;
[0009]将所述刷新文件通过LIN线传输到ECU端;
[0010]在ECU端对所述刷新文件进行校验。
[0011]可选的,在所述的基于LIN线的ECU模块刷新校验方法中,所述ECU端配置有:应用程序区和引导程序区,所述在ECU端对所述刷新文件进行校验包括:
[0012]利用所述引导程序区识别本次刷新请求以及识别所述刷新文件的有效性;
[0013]利用所述引导程序区读取并计算所述刷新文件的所述刷新程序模块的数据,获取校验计算值;
[0014]将所述校验计算值与所述校验填充值进行比对,若所述校验计算值和所述校验填充值相等,则更新ECU模块刷新成功的标志并跳转到所述应用程序区;若所述校验计算值和所述校验填充值不相等,则更新ECU模块刷新失败的标志并停留在所述引导程序区等待下一次的模块刷新。
[0015]可选的,在所述的基于LIN线的ECU模块刷新校验方法中,在车辆系统每次上电之后、运行所述应用程序区的程序之前,利用所述引导程序区对所述刷新文件进行一次校验。
[0016]可选的,在所述的基于LIN线的ECU模块刷新校验方法中,所述在车辆系统每次上电之后、运行所述应用程序区的程序之前,利用所述引导程序区对所述刷新文件进行一次校验包括:
[0017]执行系统复位操作,进入所述引导程序区;
[0018]利用所述应用程序区读取并计算所述应用程序区的所述刷新文件中的所述刷新程序模块的数据,获取当前校验值;
[0019]将所述当前校验值与所述校验填充值进行比对;
[0020]若所述当前校验值与所述校验填充值相等,则跳转到所述应用程序区。
[0021]可选的,在所述的基于LIN线的ECU模块刷新校验方法中,所述ECU端自定义所述刷新文件的校验算法,通过所述校验算法,计算所述刷新文件的所述刷新程序模块的数据,获取校验计算值。
[0022]可选的,在所述的基于LIN线的ECU模块刷新校验方法中,所述ECU端自定义所述刷新文件的校验算法,通过所述校验算法,计算所述应用程序区的所述刷新文件中的所述刷新程序模块的数据,获取当前校验值。
[0023]可选的,在所述的基于LIN线的ECU模块刷新校验方法中,所述校验算法包括:Hash算法、CMAC算法或HMAC算法。
[0024]可选的,在所述的基于LIN线的ECU模块刷新校验方法中,所述刷新文件为S19文件、HEX文件或BIN文件。
[0025]本申请技术方案,至少包括如下优点:
[0026]本申请通过对初始程序模块进行地址填充以得到地址连续的刷新程序模块,只需要在刷新过程中添加一次地址信息,甚至在芯片约定的情况下都不需要添加地址信息便可将已填充校验填充值的刷新文件通过LIN线传输到ECU端,同样在后续的校验中ECU端也只需要对整个刷新程序模块进行一次校验即可,从而简化了刷新流程和校验方法,保证了刷新的可靠性。
[0027]进一步的,在传输到ECU端并进行ECU模块刷新之前,所述刷新文件已在刷新设备端完成校验并获取校验填充值,保证了刷新文件没有被篡改,保证了刷新文件的正确性。
[0028]进一步的,在传输到ECU端之后,对刷新文件的刷新校验在ECU端完成,保证了ECU端的刷新程序文件不会被篡改,增加了自身刷新文件的可靠性。即使程序文件被篡改,但由于所述刷新文件的校验算法由ECU端自定义得到,篡改方无法获知刷新文件的校验算法,所以在校验填充区无法写入正确的校验值,那么在ECU端就会识别到传输过来的刷新文件不正确。本申请提供的校验方法是叠加在传统的刷新数据包签名和校验上的一种方法,即使不对刷新文件进行签名和校验也能保证刷新文件的可靠,同时还简化了刷新设备端的开发。
[0029]此外,在车辆系统每次上电之后、运行所述应用程序区的程序之前,都需要利用引导程序区对所述刷新文件进行一次校验,能够提前识别应用程序区的程序是否被改写,有效地避免了系统运行被改写的应用程序的情况,从而避免了ECU系统失效,增加了产品的可靠性。
附图说明
[0030]为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]图1是本专利技术实施例的基于LIN线的ECU模块刷新校验方法的流程图;
[0032]图2是本专利技术实施例的多个地址不连续的初始程序模块的示意图;
[0033]图3是本专利技术实施例的地址连续的刷新程序模块的示意图;
[0034]图4是本专利技术实施例的写入校验填充值的刷新文件的示意图;
[0035]图5是本专利技术实施例的系统上电之后ECU端启动校验流程的示意图。
具体实施方式
[0036]下面将结合附图,对本申请中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在不做出创造性劳动的前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0037]在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于LIN线的ECU模块刷新校验方法,其特征在于,包括:对多个初始程序模块进行地址填充以得到地址连续的刷新程序模块;获取所述刷新程序模块的数据的校验填充值;对所述刷新程序模块和所述校验填充值进行验证,生成刷新文件;将所述刷新文件通过LIN线传输到ECU端;在ECU端对所述刷新文件进行校验。2.根据权利要求1所述的基于LIN线的ECU模块刷新校验方法,所述ECU端配置有:应用程序区和引导程序区,其特征在于,所述在ECU端对所述刷新文件进行校验包括:利用所述引导程序区识别本次刷新请求以及识别所述刷新文件的有效性;利用所述引导程序区读取并计算所述刷新文件的所述刷新程序模块的数据,获取校验计算值;将所述校验计算值与所述校验填充值进行比对,若所述校验计算值和所述校验填充值相等,则更新ECU模块刷新成功的标志并跳转到所述应用程序区;若所述校验计算值和所述校验填充值不相等,则更新ECU模块刷新失败的标志并停留在所述引导程序区等待下一次的模块刷新。3.根据权利要求2所述的基于LIN线的ECU模块刷新校验方法,其特征在于,在车辆系统每次上电之后、运行所述应用程序区的程序之前,利用所述引导程序区对所述刷新文件进行一次校验。4.根据权利要求3所述的基于LIN线的ECU模块刷新校验方...
【专利技术属性】
技术研发人员:倪孟雄,柳慈翀,陈宁,
申请(专利权)人:联合汽车电子有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。