一种ECU下电方法、装置、设备及存储介质制造方法及图纸

技术编号:29933177 阅读:11 留言:0更新日期:2021-09-04 19:05
本发明专利技术公开了一种ECU下电方法、装置、设备及存储介质。该方法包括:接收到下电请求后,读取受保护缓存PRAM中的目标数据;根据所述目标数据判断是否存在内存故障;若存在内存故障,则擦除Flash进行错误修复,通过本发明专利技术的技术方案,以实现能够在AUTOSAR架构的ECUM模块管理的下电流程的基础上,增加了数据完整性校验以及内存故障状态检查,保证ECU下电过程中可将数据存入安全的数据存储区域,并进行了备份存储。存储。存储。

【技术实现步骤摘要】
一种ECU下电方法、装置、设备及存储介质


[0001]本专利技术实施例涉及车辆
,尤其涉及一种ECU下电方法、装置、设备及存储介质。

技术介绍

[0002]目前车用控制器在收到下电指令,满足下电条件后,会进入固定的下电流程。现有的基于AUTOSAR架构的ECU下电流程,均是由BswM模块和EcuM模块处理。其中,BswM模块属于模式管理的一部分,其主要功能为模式仲裁、模式控制,模式仲裁是接收来自SWC或其他BSW模块的模式请求和通知。先由BswM对基础软件各模块的调度状态进行修改,停止周期任务,将关键数据写入NvM(NonVolatile Memory,固定存储器)。完成NvM写入后,BswM模块将权限交由EcuM模块,由EcuM模块完成芯片的下电处理。EcuM模块会对各模块进行Deinit操作后,关闭操作系统,并完成用户一些关闭操作系统的定制化任务,最后使芯片断电。ECU再次上电后,上电流程中将从Flash中读取上次存储数据。在全部操作流程中,没有记录是否安全有效完成全部下电流程;在ECU的下一运行周期中,也没有对flash数据进行任何有效性的校验。
[0003]在下电写NvM操作Flash的时候,如因外部原因断电,芯片内存ECC校验将无法通过,芯片会锁定该Flash区域。上电后访问此区域时,将会触发系统错误,系统无法有效运行,同时也将丢失历史有效数据。
[0004]当前实现内存校验的方案均由OS模块负责处理,当访问到失效的Flash区域后,OS会触发进入系统错误处理函数,并将Flash区域擦除进行修复。而擦除修复Flash需要时间较长,需要几百毫秒甚至数秒,在部分控制器中无法满足实时性要求。

技术实现思路

[0005]本专利技术实施例提供一种ECU下电方法、装置、设备及存储介质,以实现能够在AUTOSAR架构的ECUM模块管理的下电流程的基础上,增加了数据完整性校验以及内存故障状态检查,保证ECU下电过程中可将数据存入安全的数据存储区域,并进行了备份存储。若Flash出现异常,芯片内存出现ECC故障,数据被破坏时,ECU可读取外部存储中的数据备份执行程序,保证ECU在本运行周期中使用的参数均为可信的有效参数。修复Flash的动作在下电时进行,并可随时由唤醒源信号中断,保证ECU工作时可在规定时间内做出应答,解决了当前修复故障时间过长导致ECU启动后长时间无法正常运行的问题。
[0006]第一方面,本专利技术实施例提供了一种ECU下电方法,包括:
[0007]接收到下电请求后,读取受保护缓存PRAM中的目标数据;
[0008]根据所述目标数据判断是否存在内存故障;
[0009]若存在内存故障,则擦除Flash进行错误修复。
[0010]进一步的,还包括:
[0011]在擦除Flash期间,判断是否存在有效唤醒源;
[0012]若存在有效唤醒源,则终止修复Flash,并对有效唤醒源做出响应。
[0013]进一步的,对有效唤醒源做出响应包括:
[0014]在下电时将运行数据存储至片外存储设备;
[0015]存储完成之后,控制ECU重启。
[0016]进一步的,根据所述目标数据判断是否存在内存故障,包括:
[0017]判断目标数据中是否包含ECC错误标志位;
[0018]若包含ECC错误标志位,则内存故障;
[0019]若未包含ECC错误标志位,则不存在内存故障。
[0020]进一步的,还包括:
[0021]若不存在内存故障,则将运行数据写入Flash中,并将运行数据备份存储到片外存储设备。
[0022]进一步的,还包括:
[0023]接受到上电请求后,读取受保护缓存中的目标数据;
[0024]根据所述目标数据判断是否存在内存故障;
[0025]若存在内存故障,则读取片外存储设备中备份的运行数据;
[0026]读取完成后,禁用Flash;
[0027]控制ECU正常上电进入初始化流程。
[0028]进一步的,在根据所述目标数据判断是否存在内存故障之后,还包括:
[0029]若不存在内存故障,则读取Flash中存储的运行数据;
[0030]若在读取Flash中存储的运行数据时,获取硬件寄存器的状态信息;
[0031]若硬件寄存器的状态为故障,则将ECC错误标志位写入PRAM中。
[0032]第二方面,本专利技术实施例还提供了一种ECU下电装置,该装置包括:
[0033]第一读取模块,用于接收到下电请求后,读取受保护缓存PRAM中的目标数据;
[0034]第一判断模块,用于根据所述目标数据判断是否存在内存故障;
[0035]擦除模块,用于若存在内存故障,则擦除Flash进行错误修复。
[0036]进一步的,还包括:
[0037]有效唤醒源判断模块,用于在擦除Flash期间,判断是否存在有效唤醒源;
[0038]响应模块,用于若存在有效唤醒源,则终止修复Flash,并对有效唤醒源做出响应。
[0039]进一步的,所述响应模块具体用于:
[0040]在下电时将运行数据存储至片外存储设备;
[0041]存储完成之后,控制ECU重启。
[0042]进一步的,所述第一判断模块具体用于:
[0043]判断目标数据中是否包含ECC错误标志位;
[0044]若包含ECC错误标志位,则内存故障;
[0045]若未包含ECC错误标志位,则不存在内存故障。
[0046]进一步的,还包括:
[0047]第一备份模块,用于若不存在内存故障,则将运行数据写入Flash中,并将运行数据备份存储到片外存储设备。
[0048]进一步的,还包括:
[0049]第二读取模块,用于接受到上电请求后,读取受保护缓存中的目标数据;
[0050]第二判断模块,用于根据所述目标数据判断是否存在内存故障;
[0051]第二备份模块,用于若存在内存故障,则读取片外存储设备中备份的运行数据;
[0052]禁用模块,用于读取完成后,禁用Flash;
[0053]控制模块,用于控制ECU正常上电进入初始化流程。
[0054]进一步的,还包括:
[0055]第三读取模块,用于在根据所述目标数据判断是否存在内存故障之后,若不存在内存故障,则读取Flash中存储的运行数据;
[0056]获取模块,用于若在读取Flash中存储的运行数据时,获取硬件寄存器的状态信息;
[0057]写入模块,用于若硬件寄存器的状态为故障,则将ECC错误标志位写入PRAM中。
[0058]第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的ECU下电方法。
[0059]第四方面,本专利技术本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种ECU下电方法,其特征在于,包括:接收到下电请求后,读取受保护缓存PRAM中的目标数据;根据所述目标数据判断是否存在内存故障;若存在内存故障,则擦除Flash进行错误修复。2.根据权利要求1所述的方法,其特征在于,还包括:在擦除Flash期间,判断是否存在有效唤醒源;若存在有效唤醒源,则终止修复Flash,并对有效唤醒源做出响应。3.根据权利要求2所述的方法,其特征在于,对有效唤醒源做出响应包括:在下电时将运行数据存储至片外存储设备;存储完成之后,控制ECU重启。4.根据权利要求1所述的方法,其特征在于,根据所述目标数据判断是否存在内存故障,包括:判断目标数据中是否包含ECC错误标志位;若包含ECC错误标志位,则内存故障;若未包含ECC错误标志位,则不存在内存故障。5.根据权利要求1所述的方法,其特征在于,还包括:若不存在内存故障,则将运行数据写入Flash中,并将运行数据备份存储到片外存储设备。6.根据权利要求1所述的方法,其特征在于,还包括:接受到上电请求后,读取受保护缓存中的目标数据;根据所述目标数据判断是否存在内存故障;若存在内...

【专利技术属性】
技术研发人员:张晓谦姜珊许凯程孙忠刚
申请(专利权)人:中国第一汽车股份有限公司
类型:发明
国别省市:

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

1