基于CAPL语言的网关BOOTLOADER刷写系统技术方案

技术编号:32562795 阅读:43 留言:0更新日期:2022-03-09 16:47
各家车辆生产企业在开发和车辆下线EOL阶段,都有着强烈的对控制器Bootloader重编程的需求;本申请提出了一种基于CAPL语言的网关重编程系统,并公开了其硬件和软件系统的设计方案;该系统面向对象为研发和测试工程师,在软件系统中还设计了CANOE中的panel上位机界面,可实现0基础的人机交互,完成整个重编程过程,本文的重编程系统主要在车载网关控制器上实现。现。

【技术实现步骤摘要】
基于CAPL语言的网关BOOTLOADER刷写系统
[0001]
:本专利技术属于车辆控制
,特别涉及一种基于CAPL语言的网关BOOTLOADER刷写系统,及其重编程流程。
[0002]
技术介绍
:Bootloader是一段固化在车辆控制器中flash内存中的代码,可以通过启用Bootloader中的应用程序刷新模块并调用相应的驱动程序来对控制器进行重编程,以达到应用程序更新的目的。
[0003]CAPL是一种用于CAN总线访问的编程语言,这种语言是基于事件进行建模,与C语言类似,是一种汽车电子行业常用的编程语言;本文就是基于CAPL语言,在VECTOR公司CANOE软件中用CAPL编写了Bootloader重编程软件。
[0004]随着车辆网络架构的设计越来越复杂,车载网络的负载压力逐日剧增,网络安全也在车辆安全中占有绝对的地位;在不改变车载网络类型的情况下,可以通过网关控制器进行不同网段之间的路由,以实现降低车辆负载和保证车辆网络安全的目的。本文基于网关控制器作为应用软件刷写的载体,实现网关的软件版本迭代。进过检索并未发现有人申报类似的专利申请,,我们希望通过本申请填补该空白。
[0005]公开于该
技术介绍
部分的信息仅仅旨在增加对本专利技术的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
[0006]
技术实现思路
:本专利技术的目的在于提供一种,从而克服上述现有技术中的缺陷。
[0007]为实现上述目的,本专利技术提供了一种基于CAPL语言的网关BOOTLOADER刷写系统,其特征在于:包括:工控机,用于在WINDOWS系统中运行VECTOR CANOE软件,并启用所开发的刷写脚本软件,通过脚本软件控制刷写;德国维克多总线开发软件VECTOR CANCASE,用于运行德国维克多CANOE软件,基于CAPL语言,在VECTOR公司CANOE软件中用CAPL编写了Bootloader重编程软件;整车或网关控制器,至少含有诊断CAN通道,诊断CAN通道上运行Bootloader;12V稳压电源,用于给整车或网关控制器供电。
[0008]优选地,上述技术方案中,Bootloader刷写系统的软件架构主要包括:测试面板、解析刷写文件模块、主刷写模块、进度条模块、指令模块、结果显示模块;该系统的主要基于CANOE软件开发环境开发,由CAPL脚本模块、PANEL模块组成;系统中的测试面板主要基于PANEL工具开发,通过按钮、输入框和进度条关联系统变量和环境变量以实现人机交互面板的编写,系统变量就是系统中设置的变量,环境变量是由用户自定义设置的变量;系统变量和环境变量可以通过VECTOR CANOE中的CAPL语言进行脚本编程,以实现各软件模块在CAN总线中的诊断命令交互逻辑,最终构建出整个系统的软件架构。
[0009]优选地,上述技术方案中,测试面板通过CANOE中的PANEL工具编写,主要由:文字、文本框、下拉菜单、按钮和进度条组成;其中文字用来显示面板的标题或做一些标注;文本
框可以输入/输出一些文字信息,可以关联一些环境变量;下拉菜单可供用户选择下拉列表中的选项;按钮可以关联系统和环境变量以触发一些脚本效果,还可以设置文件路径按钮以加载并访问计算机中的文件;进度条可以通过编程实现对编程进度的监控。
[0010]优选地,上述技术方案中,解析刷写文件的模块通过文件路径按钮可以加载需要刷写的网关软件,而刷写文件分为驱动文件和应用文件,驱动文件是硬件厂商根据网关控制器的嵌入式操作系统所编写的配置文件,通过驱动文件可以让硬件设备正常运行,以达到既定的工作效果;应用文件是嵌入式软件更新的主体文件,通过该文件的刷写进行网关文件的更新。
[0011]优选地,上述技术方案中,解析刷写文件部分通过ReadFile函数实现了:判断文件是否符合解析类型;根据文件中每一行的标识符,将S19文件分块,等待刷写执行命令开始后按序刷写;在读取驱动和应用文件后,程序将自动校验文件类型是否符合,并同时通过CRC32多项式校验来校核S19文件的完整性,文件类型或完整性不符都会自动报错;校核通过后会自动将S19文件根据其每行的前缀标识符进行分块,优选地,上述技术方案中,S19文件根据每行的前缀S0~S9分为8种类型:S0包括标识文件名,并不包含数据存储地址,以0000置位,此行表示文件的起始行,无需下载至控制器的微控制单元中;S1~S3分别记录着地址为2~4个字节的数据,图3中示例的S3为4个字节的数据记录;S5表示了S1~S3数据行的个数;S7~S9分别表示4~2个字节数据的结束行,此行也无需下载至控制单元中。
[0012]优选地,上述技术方案中,通过对数据文件的分行解析,将需要刷写的起始地址及数据通过CAN网络上的BOOTLOADER刷写诊断协议写入网关控制器。
[0013]基于CAPL语言的网关BOOTLOADER重编程流程,重编程时序分为三个编程步骤:预编程进行编程前的CAN网络准备、主编程下载应用软件或应用数据至控制器、后编程步骤进行CAN网络的重同步;预编程步骤通过对预编程条件的检查、设置控制器DTC为关闭和禁止应用报文的收发功能实现了重编程前的CAN网络准备,包括如下分步骤:a)为诊断会话控制,预编程步骤的命令都需要在此会话模式中完成;b)为编程条件检查的例程控制命令,通过此例程来检查控制器的编程条件以保证编程安全进行;c)为控制DTC设置功能,该功能可以设置控制器关闭DTC的生成;d)为通信控制;e)为编程之前的控制器信息读取步骤,此步骤会读取一些被编程控制器的软件标识符,以明确当前的控制器状态;在预编程步骤完成对控制器下载前的准备及状态检查之后,就可以进入主编程步骤;主编程步骤执行了控制器的编程事件,通过物理寻址的方式下载控制器应用软件数据,包括如下分步骤:a)诊断会话控制进入编程模式,以执行主编程操作;b)安全访问通过校验刷写诊断仪中和控制器预设的安全算法的一致性,保证主编程的安全;c)驱动下载操作当控制器的存储单元中不存在驱动软件时,下载那个驱动文件的传输,以满足应用软件需求;d)写入刷写工具的指纹信息以标识对控制器内存做修改的刷写工具名称及刷写日期等信息;e)擦除内存的例程控制命令用以擦除控制器内存中存储的应用软件数据;f)与驱动下载步骤类似,该步骤通过命令执行了应用数据的传输;g)通过检查编程完整性的例
程控制命令检查了编程后的控制器数据完整性;h)当所有数据传输完成时,要通过例程控制命令检查控制器重编程的依赖,这部分可由使用者自定义;i)最后,通过硬复位命令将控制器复位,以结束重编程过程,回归正常运行模式;后编程步骤包括如下分步骤:a)为会话模式控制,该命令将退出编程模式;b)为清除诊断信息的命令,命令执行了编程过程中的历史故障信息清除操作。
[0014]优选地,上述技术方案中,编程步骤中的安全算法交互方式为问答的方式,通过脚本语言控制系统向总线发送解锁请求,并根据总线回复的种子用算法计算得出秘钥,再反馈至控制器,以实现解锁功能;如本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于CAPL语言的网关BOOTLOADER刷写系统,其特征在于:包括:工控机,用于在WINDOWS系统中运行VECTOR CANOE软件,并启用所开发的刷写脚本软件,通过脚本软件控制刷写;德国维克多总线开发软件VECTOR CANCASE,用于运行德国维克多CANOE软件,基于CAPL语言,在VECTOR公司CANOE软件中用CAPL编写了Bootloader重编程软件;整车或网关控制器,至少含有诊断CAN通道,诊断CAN通道上运行Bootloader;12V稳压电源,用于给整车或网关控制器供电。2.根据权利要求1所述的基于CAPL语言的网关BOOTLOADER刷写系统,其特征在于:Bootloader刷写系统的软件架构主要包括:测试面板、解析刷写文件模块、主刷写模块、进度条模块、指令模块、结果显示模块;该系统的主要基于CANOE软件开发环境开发,由CAPL脚本模块、PANEL模块组成;系统中的测试面板主要基于PANEL工具开发,通过按钮、输入框和进度条关联系统变量和环境变量以实现人机交互面板的编写,系统变量就是系统中设置的变量,环境变量是由用户自定义设置的变量;系统变量和环境变量可以通过VECTOR CANOE中的CAPL语言进行脚本编程。3.根据权利要求2所述的基于CAPL语言的网关BOOTLOADER刷写系统,其特征在于:测试面板通过CANOE中的PANEL工具编写,主要由:文字、文本框、下拉菜单、按钮和进度条组成;其中文字用来显示面板的标题或做一些标注;文本框可以输入/输出一些文字信息,可以关联一些环境变量;下拉菜单可供用户选择下拉列表中的选项;按钮可以关联系统和环境变量以触发一些脚本效果,还可以设置文件路径按钮以加载并访问计算机中的文件;进度条可以通过编程实现对编程进度的监控。4.根据权利要求1所述的基于CAPL语言的网关BOOTLOADER刷写系统,其特征在于:解析刷写文件的模块通过文件路径按钮可以加载需要刷写的网关软件,而刷写文件分为驱动文件和应用文件,驱动文件是硬件厂商根据网关控制器的嵌入式操作系统所编写的配置文件,通过驱动文件可以让硬件设备正常运行,以达到既定的工作效果;应用文件是嵌入式软件更新的主体文件,通过该文件的刷写进行网关文件的更新。5.根据权利要求4所述的基于CAPL语言的网关BOOTLOADER刷写系统,其特征在于:解析刷写文件部分通过ReadFile函数实现了:判断文件是否符合解析类型;根据文件中每一行的标识符,将S19文件分块,等待刷写执行命令开始后按序刷写;在读取驱动和应用文件后,程序将自动校验文件类型是否符合,并同时通过CRC32多项式校验来校核S19文件的完整性,文件类型或完整性不符都会自动报错;校核通过后会自动将S19文件根据其每行的前缀标识符进行分块,根据权利要求5所述的基于CAPL语言的网关BOOTLOADER刷写系统,其特征在于:所述S19文件根据每行的前缀S0~S9分为8种类型:S0包括标识文件名,并不包含数据存储地址,以0000置位,此行表示文件的起始行,无需下载至控制器的微控制单元中;S1~S3分别记录着地址为2~4个字节的数据,图3中示例的S3为4个字节的数据记录;S5表示了S1~S3数据行的个数;S7~S9分别表示4~2个字节数据的结束行,此行也无需下载至控制单元中。
6.根据权利要求5所述的基于CAPL语言的网关BOOTLOADER刷写系统,其特征在于:通过对数据文件的分行解析,将需要刷写的起始地址及数据通过C...

【专利技术属性】
技术研发人员:宋伟陶鹤鸣张婷婷麻方玉
申请(专利权)人:南京依维柯汽车有限公司
类型:发明
国别省市:

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

1