System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() CAN总线设备升级方法技术_技高网

CAN总线设备升级方法技术

技术编号:40504010 阅读:3 留言:0更新日期:2024-03-01 13:17
本发明专利技术涉及CAN总线设备领域,公开了一种CAN总线设备升级方法,所述CAN总线设备升级方法包括:步骤一、通过开源差分算法bsdiff提取新旧固件差异部分,制作差分包;步骤二、引导加载程序BootLoader读取环境变量,判断是否对固件设备进行升级;步骤三、需要对固件进行升级时,引导加载程序BootLoader通过CAN接口获取差分包;步骤四、引导加载程序BootLoade将差分包解压缩后存入RAM;步骤五、差分文件结合用户应用程序APP区中的老固件还原出新固件,完成固件升级。该CAN总线设备能够对设备进行高效的固件升级。

【技术实现步骤摘要】

本专利技术涉及can总线设备领域,具体地涉及一种can总线设备升级方法。


技术介绍

1、controller area network(can)即控制器局域网,是一种串行通信协议,是国际上应用最广泛的现场总线之一。广泛应用于汽车和工业控制系统等领域。can通信协议定义了不同类型的帧,其中包括数据段和标识符(id)。

2、在can 2.0a和2.0b标准中,数据段的长度为8字节。数据段包含实际的数据信息,用于传输应用层的信息。由于can总线数据帧只有8字节长度,带宽特别低,因此,当需要更新固件时,更新的过程就非常慢。


技术实现思路

1、为了克服现有技术存在的can总线设备更新固件缓慢的问题,本专利技术提供一种can总线设备升级方法,使用该can总线设备升级方法能够对设备进行高效的固件升级。

2、为了实现上述目的,本专利技术提供一种can总线设备升级方法,所述can总线设备升级方法包括:

3、步骤一、通过开源差分算法bsdiff提取新旧固件差异部分,制作差分包;

4、步骤二、引导加载程序bootloader读取环境变量,判断是否对固件设备进行升级;

5、步骤三、需要对固件进行升级时,引导加载程序bootloader通过can接口获取差分包;

6、步骤四、引导加载程序bootloade将差分包解压缩后存入ram;

7、步骤五、差分文件结合用户应用程序app区中的老固件还原出新固件,完成固件升级。

<p>8、优选地,所述差分包制作完成后,还可以通过lzw压缩算法对所述差分包进行压缩。

9、优选地,所述环境变量包含用户应用程序app长度和是否需要升级的标志位。

10、优选地,用户应用程序app能够修改所述环境变量的用户应用程序app长度和标志位。

11、优选地,完成固件升级后用户应用程序app将环境变量修改为无需升级,并对环境变量中app长度进行更新。

12、优选地,所述差分包中包含用于追踪数据包顺序的流水号。

13、优选地,所述差分包中还包含用于判断数据传输过程的数据类型。

14、优选地,所述流水号占用8比特的扩展id,所述数据类型占用2比特的扩展id。

15、优选地,所述差分包包含用于判断差分包信息获取是否正确的包头信息。

16、优选地,所述包头信息包含所述差分包的校验值和长度信息,以及新固件的校验值和长度信息。

17、根据上述技术方案,该can总线设备升级方法首先使用开源差分算法bsdiff提取新旧固件差异部分并制作差分包。bsdiff差分算法生成的差分包包括一个描述文件和一个数据文件。描述文件中包含了一系列的偏移量和长度,用于指示如何合并旧文件和新文件。数据文件中存储了实际的差异数据。

18、bsdiff算法能够生成较小的差分包,这对于需要通过网络传输或存储在受限空间的环境中传递软件更新是非常有利的。

19、因此,该该can总线设备升级方法首先通过开源差分算法bsdiff获得了较小的差分包。

20、引导加载程序bootloader会通过can接口获取差分包,并将差分包结合用户应用程序app区域中的旧固件还原新固件至片外flash中,并最终完成对固件的用户应用程序app更新。

本文档来自技高网
...

【技术保护点】

1.一种CAN总线设备升级方法,其特征在于,所述CAN总线设备升级方法包括以下步骤:

2.根据权利要求1所述的CAN总线设备升级方法,其特征在于,所述差分包制作完成后,还可以通过lzw压缩算法对所述差分包进行压缩。

3.根据权利要求2所述的CAN总线设备升级方法,其特征在于,所述环境变量包含APP长度和是否需要升级的标志位。

4.根据权利要求3所述的CAN总线设备升级方法,其特征在于,用户应用程序APP设置为能够修改所述环境变量的APP长度和标志位。

5.根据权利要求4所述的CAN总线设备升级方法,其特征在于,完成固件升级后用户应用程序APP将环境变量修改为无需升级,并对环境变量中APP长度进行更新。

6.根据权利要求1-5中任意一项所述的CAN总线设备升级方法,其特征在于,所述差分包中包含用于追踪数据包顺序的流水号。

7.根据权利要求6所述的CAN总线设备升级方法,其特征在于,所述差分包中还包含用于判断数据传输过程的数据类型。

8.根据权利要求7所述的CAN总线设备升级方法,其特征在于,所述流水号占用8比特的扩展ID,所述数据类型占用2比特的扩展ID。

9.根据权利要求8所述的CAN总线设备升级方法,其特征在于,所述差分包包含用于判断差分包信息获取是否正确的包头信息。

10.根据权利要求9述的CAN总线设备升级方法,其特征在于,所述包头信息包含所述差分包的校验值和长度信息,以及新固件的校验值和长度信息。

...

【技术特征摘要】

1.一种can总线设备升级方法,其特征在于,所述can总线设备升级方法包括以下步骤:

2.根据权利要求1所述的can总线设备升级方法,其特征在于,所述差分包制作完成后,还可以通过lzw压缩算法对所述差分包进行压缩。

3.根据权利要求2所述的can总线设备升级方法,其特征在于,所述环境变量包含app长度和是否需要升级的标志位。

4.根据权利要求3所述的can总线设备升级方法,其特征在于,用户应用程序app设置为能够修改所述环境变量的app长度和标志位。

5.根据权利要求4所述的can总线设备升级方法,其特征在于,完成固件升级后用户应用程序app将环境变量修改为无需升级,并对环境变量中app长度进行更新。

<...

【专利技术属性】
技术研发人员:杨锐
申请(专利权)人:中航华东光电有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1