[发明专利]一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法有效
申请号: | 201811109375.6 | 申请日: | 2018-09-21 |
公开(公告)号: | CN109522033B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 吴锋;吕成磊;姚栋伟;李泽嵩;侯珏;金一垒 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F8/65 | 分类号: | G06F8/65 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静;邱启旺 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,本发明基于硬件RTSP的在线自编程功能,允许自编程程序对芯片内部进行刷写,实现ECU程序的升级,提高了后期维护效率并在量产过程中实现软件的批量刷写;本发明应用程序和引导更新程序分别采用主中断向量表和备用中断向量表,减少了程序的复杂度并提高程序的运行效率;本发明将更新内容分为标定数据模块和应用程序模块,实现数据和程序的分别更新,更为合理和高效;在自编程程序中加入权限管理功能,只有指定的上位机才能实现程序及数据模块的更新,避免下位机的程序存储空间被任意更改。 | ||
搜索关键词: | 一种 基于 器件 运行 编程 中断 量表 ecu 程序 数据 升级 方法 | ||
【主权项】:
1.一种基于器件运行自编程和双中断向量表的ECU程序与数据升级方法,其特征在于,该方法包括以下步骤:(1)在进行应用程序或者标定数据更新之前,上位机首先进行权限校核,根据自己的硬件信息来校核其是否有权限进行下位机应用程序或者标定数据的更新;(2)在权限校核通过的情况下,上位机执行引导更新程序;若下位机在执行应用程序,则上位机会命令下位机进行复位操作,并将程序存储空间中的更新标志位置为需要更新状态;然后,将使用者指定的应用程序文件*.hex以及标定数据文件*.xlsx转化为二进制*.bin文件,同时向下位机发送控制指令表明刷写对象是应用程序模块还是标定数据模块;最后,将二进制*.bin文件中的数据根据通信协议的格式进行处理打包,以数据帧的形式向下位机发送;(3)下位机在接收到上位机指令实现复位或者每次上电之后,首先进行初始化,然后执行引导程序检验程序存储空间中的更新标志位,判断是否进入更新程序,若无需进入则直接转入应用程序首地址开始执行应用程序;相反,则执行步骤(4)开始程序和标定数据的独立更新过程;(4)在接收到上位机发送来的数据之后,下位机首先判断该帧数据是数据帧还是控制帧;若为控制帧,则根据控制帧的内容,进行相关控制操作;若为数据帧,则根据通信协议对数据进行校核,并将校核结果向上位机反馈,若校核出错,则根据出错类型,命令上位机重发该帧数据或者直接中断传输;若数据帧通过校核,则执行步骤(5)进入标定数据模块和应用程序模块的独立刷写流程;(5)根据更新内容将程序存储空间分为以下四个部分:第一部分为“GOTO指令”、“复位地址”、主中断向量表和备用中断向量表;第二部分为Bootloader程序,无需经常更新;第三部分为用户写入的标定数据模块;第四部分为应用程序模块,包含ECU应用程序;应用程序模块和标定数据模块在程序存储空间中刷写的目标地址不同;在应用程序模块刷写时,由于从上位机接收到的应用程序模块的二进制数据包含着整个芯片内部闪存空间的映射,需要在刷写应用程序模块时对每一帧数据的刷写位置进行限定;在标定数据模块刷写时,由于标定数据模块的二进制数据帧中只包含有效的数据信息,直接按顺序将标定数据刷入相应程序存储空间地址即可;上位机在读取完二进制*.bin文件所有数据之后,若最后一帧不完整,则用0xFF补足;同样,数据数量不足硬件单次刷写要求数量的均用0xFF补足;同时,上位机向下位机发送结束刷写指令;下位机接收该指令后,先将程序存储空间的更新标志位置为无需更新状态,然后重新进入引导程序的主循环,等待下一次刷写或者复位进入应用程序。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201811109375.6/,转载请声明来源钻瓜专利网。
- 上一篇:固件升级方法和装置
- 下一篇:一种应用优化方法、终端及计算机可读存储介质