当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法技术

技术编号:20680101 阅读:31 留言:0更新日期:2019-03-27 18:36
本发明专利技术公开了一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,本发明专利技术基于硬件RTSP的在线自编程功能,允许自编程程序对芯片内部进行刷写,实现ECU程序的升级,提高了后期维护效率并在量产过程中实现软件的批量刷写;本发明专利技术应用程序和引导更新程序分别采用主中断向量表和备用中断向量表,减少了程序的复杂度并提高程序的运行效率;本发明专利技术将更新内容分为标定数据模块和应用程序模块,实现数据和程序的分别更新,更为合理和高效;在自编程程序中加入权限管理功能,只有指定的上位机才能实现程序及数据模块的更新,避免下位机的程序存储空间被任意更改。

【技术实现步骤摘要】
一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法
本专利技术主要涉及一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,可在汽车电子控制器大规模量产或车载开发测试等脱离开发环境条件下,通过总线通信方式对控制器内部数据和程序进行灵活在线更新。
技术介绍
汽车电子技术的发展和汽车智能化程度的提高,使汽车逐渐成为复杂的机电一体化控制系统,而分布于车身的汽车电子控制器(简称ECU:ElectronicControlUnit)则是汽车复杂控制系统的核心。ECU本质上就是汽车专用的微机控制器,其内部含有预先写入的软件程序指令,通过对传感器输入信息进行处理和运算,生成输出信号控制外部执行器,从而完成相应的功能。ECU功能的开发和升级实际上就是内部软件程序的更新和升级。传统微机电子控制器利用专用的芯片下载器或调试器来进行更新,不仅下载效率低、操作复杂,而且需要预留特殊的硬件接口,不适合控制器量产时批量程序下载和车载控制器程序升级。另一方面,虽然目前国内的汽车电子自编程系统可在脱离芯片专用下载器或调试器的情况下,利用程序存储空间内提前写入的引导程序来接收、校核并刷写来自通信接本文档来自技高网...

【技术保护点】
1.一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,该方法包括以下步骤:(1)在进行应用程序或者标定数据更新之前,上位机首先进行权限校核,根据自己的硬件信息来校核其是否有权限进行下位机应用程序或者标定数据的更新;(2)在权限校核通过的情况下,上位机执行引导更新程序;若下位机在执行应用程序,则上位机会命令下位机进行复位操作,并将程序存储空间中的更新标志位置为需要更新状态;然后,将使用者指定的应用程序文件*.hex以及标定数据文件*.xlsx转化为二进制*.bin文件,同时向下位机发送控制指令表明刷写对象是应用程序模块还是标定数据模块;最后,将二进制*.bin文件中的数...

【技术特征摘要】
1.一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,该方法包括以下步骤:(1)在进行应用程序或者标定数据更新之前,上位机首先进行权限校核,根据自己的硬件信息来校核其是否有权限进行下位机应用程序或者标定数据的更新;(2)在权限校核通过的情况下,上位机执行引导更新程序;若下位机在执行应用程序,则上位机会命令下位机进行复位操作,并将程序存储空间中的更新标志位置为需要更新状态;然后,将使用者指定的应用程序文件*.hex以及标定数据文件*.xlsx转化为二进制*.bin文件,同时向下位机发送控制指令表明刷写对象是应用程序模块还是标定数据模块;最后,将二进制*.bin文件中的数据根据通信协议的格式进行处理打包,以数据帧的形式向下位机发送;(3)下位机在接收到上位机指令实现复位或者每次上电之后,首先进行初始化,然后执行引导程序检验程序存储空间中的更新标志位,判断是否进入更新程序,若无需进入则直接转入应用程序首地址开始执行应用程序;相反,则执行步骤(4)开始程序和标定数据的独立更新过程;(4)在接收到上位机发送来的数据之后,下位机首先判断该帧数据是数据帧还是控制帧;若为控制帧,则根据控制帧的内容,进行相关控制操作;若为数据帧,则根据通信协议对数据进行校核,并将校核结果向上位机反馈,若校核出错,则根据出错类型,命令上位机重发该帧数据或者直接中断传输;若数据帧通过校核,则执行步骤(5)进入标定数据模块和应用程序模块的独立刷写流程;(5)根据更新内容将程序存储空间分为以下四个部分:第一部分为“GOTO指令”、“复位地址”、主中断向量表和备用中断向量表;第二部分为Bootloader程序,无需经常更新;第三部分为用户写入的标定数据模块;第四部分为应用程序模块,包含ECU应用程序;应用程序模块和标定数据模块在程序存储空间中刷写的目标地址不同;在应用程序模块刷写时,由于从上位机接收到的应用程序模块的二进制数据包含着整个芯片内部闪存空间的映射,需要在刷写应用程序模块时对每一帧数据的刷写位置进行限定;在标定数据模块刷写时,由于标定数据模块的二进制数据帧中只包含有效的数据信息,直接按顺序将标定数据刷入相应程序存储空间地址即可;上位机在读取完二进制*.bin文件所有数据之后,若最后一帧不完整,则用0xFF补足;同样,数据数量不足硬件单次刷写要求数量的均用0xFF补足;同时,上位机向下位机发送结束刷写指令;下位机接收该指令后,先将程序存储空间的更新标志位置为无需更新状态,然后重新进入引导程序的主循环,等待下一次刷写或者复位进入应用程序。2.根据权利要求1所述的一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,所述步骤(1)中,所述权限校核具体为:通过加密算法将随机数与指定硬件信息相结合来完成对应用程序或标定数据更新...

【专利技术属性】
技术研发人员:姚栋伟吴锋吕成磊李泽嵩侯珏金一垒
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

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

1