本发明专利技术涉及一种仪表软件升级方法,所述仪表的控制芯片为双核心架构芯片,所述双核心架构芯片包括第一核心和第二核心,第一核心通过第二核心与外部进行通信。该方法中,升级工具获取新版本软件的烧写镜像,并对烧写镜像数据进行处理得到升级包文件;第二核心与升级工具建立通讯连接,并接收所述升级包文件;第一核心分段接收数据包后进行两次校验,校验完成后,第一核心执行升级任务,对仪表软件进行升级。通过本方法,只需用户通过有线或无线方式建立汽车仪表与升级工具间的通讯连接,即可完成软件上的更新同时极大程度保证了车载仪表的安全性和稳定性,进而保护了用户的财产安全。全。全。
【技术实现步骤摘要】
一种仪表软件升级方法
[0001]本专利技术涉及软件升级
,具体涉及一种仪表软件升级方法。
技术介绍
[0002]目前技术的发展日新月异,用户对仪表系统的显示的要求越来越高。在车辆出厂之前,汽车仪表的软件以固化的形式在存储芯片之中,在拆装仪表之前是无法对存储芯片内的数据进行更新的。因此在已售车型上对软件进行更新是一件十分困难的事情,需要将车辆进行召回,经过层层运转到工厂拆机后再进行刷写或者更换。目前的环境下需要一个操作简单,只需用户前往指定点即可完成软件上的更新。然而在这种更新方式存在很多不安全的因素,而且当前环境下部分正在使用的升级系统的数据传输方式采用明文传输,被截获的数据包可以被第三方修改后仍可使用,或则升级包被第三方破解或误修改后的损坏导致升级失败或异常。
技术实现思路
[0003]本专利技术针对现有技术中存在的技术问题,提供一种仪表软件升级方法,能够安全的对仪表内存储芯片数据进行更新。
[0004]本专利技术解决上述技术问题的技术方案如下:一种仪表软件升级方法,所述仪表的控制芯片为双核心架构芯片,所述双核心架构芯片包括第一核心和第二核心,第一核心通过第二核心与外部进行通信,该方法包括:
[0005]升级工具获取新版本软件的烧写镜像,并对烧写镜像数据进行处理得到升级包文件;
[0006]第二核心与升级工具建立通讯连接,并接收所述升级包文件;所述第二核心包括第一缓冲区和第二缓冲区,第二核心将接收的升级包文件先存入所述第一缓冲区内,当第一缓冲区满时,则将第一缓冲区内的数据转存到第二缓冲区内,同时请求第一核心接收存入第二缓冲区的数据;
[0007]第一核心包括第三缓冲区、第四缓冲区和第五缓冲区,第一核心收到第二核心发送的数据接收请求后,接收第二缓冲区内存储的数据存入第三缓冲区;当第三缓冲区数据满时,则将数据拷贝到第四缓冲区内,第四缓冲区的大小为升级包分段大小,第四缓冲区满时对数据进行校验,数据经过校验后存入第五缓冲区,第五缓冲区在完整数据包存入后对数据包进行二次校验,校验完成后,第一核心执行升级任务,对仪表软件进行升级。
[0008]进一步的,所述第一缓冲区设置在第二核心的内存中,第二缓冲区设置在第一核心与第二核心的共享内存中,所述第三缓冲区与第四缓冲区设置在第一核心的内存中,所述第五缓冲区设置在存储设备中。
[0009]进一步的,所述第一核心收到第二核心发送的数据接收请求后,从第二缓冲区中取出通信协议中指定偏移量和指定大小的数据拷贝到第三缓冲区中。
[0010]进一步的,该方法还包括,在第一核心执行升级任务之前,仪表管理程序通过检测
当前仪表事件,判断当前仪表是否属于安全的状态,若在安全状态的情况下,则允许第一核心执行升级任务否则拒绝本次升级。
[0011]进一步的,第一核心在对升级包数据进行两次校验时,任意一次校验结果异常,则中断本次升级任务。
[0012]进一步的,二次校验完成后,第一核心将数据接收完成的消息通过第二核心发送给升级工具,结束数据传输任务。
[0013]进一步的,第一核心执行升级任务,包括:
[0014]利用软件隔离的方式将存储设备划分成A/B插槽的形式,其中一个为活动插槽,另一个为非活动插槽;
[0015]将当前正在运行的插槽拷贝到非活动插槽,读取第五缓冲区中存储的完整升级包,通过升级包的文件协议获取升级包中需要升级模块的数量,并对各个模块数据依次进行解压,解压后进行数据校验,与文件协议中存储的校验码进行比较,数据无误的情况下将升级数据写入备份插槽的指定偏移量,覆盖掉旧版本数据。
[0016]进一步的,升级任务完成后,通过修改引导区域的标志位,使当前启动的插槽设置为非活动插槽,将非活动插槽设置为活动插槽。
[0017]进一步的,所述仪表的控制芯片还包括MCU核心,所述MCU负责CAN通讯,通过GTS建立和所述升级工具的通讯,接收升级工具发送的数据,对数据进行解密和校验,并通过双路SPI协议与所述第二核心进行交互。
[0018]进一步的,对烧写镜像数据进行处理得到升级包文件,包括:
[0019]根据升级包文件格式对烧写镜像数据进行异构排布,生成二进制文件;
[0020]将生成的二进制文件转换成多个S
‑
Record格式文件;
[0021]对所述多个S
‑
Record格式文件进行加密,得到包含多个加密后的S
‑
Record格式文件的升级包文件。
[0022]本专利技术的有益效果是:1、通过本方法,无需对待升级车辆进行召回、拆机、刷写或者更换。只需用户通过有线或无线方式建立汽车仪表与升级工具间的通讯连接,即可完成软件上的更新。
[0023]2、本升级方法对数据的安全性做到每次操作关键数据后均进行了校验操作,极大程度保证了车载仪表的安全性和稳定性,进而保护了用户的财产安全。
[0024]3、升级包文件制作时,加密后生成多个S
‑
Record格式文件,一方面提高数据安全性,另一方面生成多个文件在数据传输时可以采用断点续传等策略,提高数据传输效率。
附图说明
[0025]图1为本专利技术实施例提供的一种仪表软件升级方法示意图。
具体实施方式
[0026]以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。
[0027]如图1所示,本专利技术实施例提供一种仪表软件升级方法,包括以下步骤:
[0028]步骤S101:软件发行商发布版本后,会向外界提供存储介质的烧写镜像,及在可选
条件下的证书组。
[0029]其中镜像应该包含了汽车仪表的2D显示程序、3D显示程序、仪表管理程序、仪表性能控制程序等。
[0030]步骤S102:烧写镜像通过配置文件的形式进行内部解析、重组、压缩并打包,根据升级包文件格式对数据进行异构排布形成新的后缀名文件。该程序将会装载进自动化集成系统中,通过每次集成中产生的配置信息以及所需程序配置,进行系统级别的集中生产出所需的二进制升级包文件。将包含车载仪表的机种、升级包软件版本、更新软件版本信息、硬件版本以及集成时间等信息。
[0031]其中机种为升级包所面向的指定车型仪表;升级包软件本版本为当前所使用的升级包制作软件的版本信息,作将在仪表升级程序内部所识别;更新软件版本信息是指车载仪表的版本信息,用于在仪表升级程序内部是识别是否为可升级版本和记录升级信息等。
[0032]具体实施中,由于数据量庞大,为将传输过程耗时减少,数据将会通过LZMA(Lempel
‑
Ziv
‑
Markov chain
‑
Algiorithm)压缩技术进行压缩。可将升级包的体积压缩75%。
[0033]最后将生成的二进制文件将转换成S
‑
Record格式文件。
[0034]S
‑...
【技术保护点】
【技术特征摘要】
1.一种仪表软件升级方法,所述仪表的控制芯片为双核心架构芯片,所述双核心架构芯片包括第一核心和第二核心,第一核心通过第二核心与外部进行通信,其特征在于,该方法,包括:升级工具获取新版本软件的烧写镜像,并对烧写镜像数据进行处理得到升级包文件;第二核心与升级工具建立通讯连接,并接收所述升级包文件;所述第二核心包括第一缓冲区和第二缓冲区,第二核心将接收的升级包文件先存入所述第一缓冲区内,当第一缓冲区满时,则将第一缓冲区内的数据转存到第二缓冲区内,同时请求第一核心接收存入第二缓冲区的数据;第一核心包括第三缓冲区、第四缓冲区和第五缓冲区,第一核心收到第二核心发送的数据接收请求后,接收第二缓冲区内存储的数据存入第三缓冲区;当第三缓冲区数据满时,则将数据拷贝到第四缓冲区内,第四缓冲区的大小为升级包分段大小,第四缓冲区满时对数据进行校验,数据经过校验后存入第五缓冲区,第五缓冲区在完整数据包存入后对数据包进行二次校验,校验完成后,第一核心执行升级任务,对仪表软件进行升级。2.根据权利要求1所述的方法,其特征在于,所述第一缓冲区设置在第二核心的内存中,第二缓冲区设置在第一核心与第二核心的共享内存中,所述第三缓冲区与第四缓冲区设置在第一核心的内存中,所述第五缓冲区设置在存储设备中。3.根据权利要求1所述的方法,其特征在于,所述第一核心收到第二核心发送的数据接收请求后,从第二缓冲区中取出通信协议中指定偏移量和指定大小的数据拷贝到第三缓冲区中。4.根据权利要求1所述的方法,其特征在于,还包括,在第一核心执行升级任务之前,仪表管理程序通过检测当前仪表事件,判断当前仪表是否属于安全的状态,若在安全状态的情况下,则允许第一核心执行升级任务否则拒绝本次升级。5.根据权利要求1所...
【专利技术属性】
技术研发人员:张龙,肖洋林,彭钲皓,雷鑫,
申请(专利权)人:电装光庭汽车电子武汉有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。