一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种系统挂死故障的恢复和定位方法、装置、设备及存储介质与流程

2022-03-05 02:40:20 来源:中国专利 TAG:


1.本发明涉及车辆安全驾驶技术领域,具体涉及一种系统挂死故障的恢复和定位方法、装置、设备及存储介质。


背景技术:

2.随着智能车辆技术的进步,智能车辆中各种驾驶辅助设备也取得了长足的发展。在汽车领域,智能驾驶操作系统开始逐步走入人们的视野,智能驾驶操作系统可以在行车时进行辅助,例如可以提供ar导航,紧急避险等功能,在不久的将来,智能驾驶操作系统甚至可以提供自动驾驶服务。以紧急避险功能举例,紧急避险功能可以在前车急停或后车危险超越时紧急规避,在智能驾驶操作系统工作时,智能驾驶操作系统可以在短时间内操纵车辆行驶方向和刹车。
3.由于汽车车机的内存、算力或其他客观因素的原因,因此在某些情况下,智能驾驶操作系统会发生挂死,此时需要及时cpu检测到故障并尽快恢复,而在很多实际情形中,cpu已经彻底挂死无法执行指令,甚至无法响应不可屏蔽中断(non maskable interrupt,nmi),只能人为手动下电重启,这对处于行驶状态中的车辆造成了巨大的安全隐患。同时,在只能手动下电重启的情况下,也无法记录智能驾驶操作系统挂死的异常现场信息,对开发人员后续定位问题带来了困难。


技术实现要素:

4.针对现有技术的上述问题,本发明的目的在于提供一种系统挂死故障的恢复和定位方法、装置、设备及存储介质,能够及时处理和定位智能驾驶操作系统挂死故障问题。
5.为解决上述技术问题,本发明采用以下技术方案:
6.根据本发明实施例的一种系统挂死故障的恢复和定位方法,应用于智能车辆,智能车辆包括智能驾驶操作系统和安全岛域系统,智能驾驶操作系统包括至少一个设有看门狗的soc,方法包括:
7.soc的中央处理器每间隔预设时长向看门狗发起喂狗动作;当看门狗在连续间隔两次预设时长未接收到喂狗动作,看门狗向安全岛域系统发送外部中断信号,使安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并对智能驾驶操作系统的进行热复位;
8.智能驾驶操作系统经过安全岛域系统热复位后,通过内核转储工具启动转储内核进行异常现场的转储,将异常现场转储到磁盘介质中;
9.智能驾驶操作系统转储完毕后,重新启动智能驾驶操作系统。
10.在本发明的一个实施例中,当看门狗在连续间隔两次预设时长未接收到喂狗动作,看门狗向安全岛域系统发送外部中断信号,使安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并对智能驾驶操作系统的进行热复位,包括:
11.当看门狗在间隔预设时长时,第一次未收到喂狗动作,则看门狗向智能驾驶操作
系统发送中断;
12.当看门狗在间隔第二个预设时长时,仍未接收到喂狗动作则向安全岛域系统发送外部中断信号,使安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并对智能驾驶操作系统进行热复位以重启基本输入输出系统。
13.在本发明的一个实施例中,当看门狗在间隔第二个预设时长时,仍未接收到喂狗动作则向安全岛域系统发送外部中断信号,使安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并对智能驾驶操作系统进行热复位,包括:
14.安全岛域系统读取智能驾驶操作系统的硬件寄存器,将硬件寄存器中的异常现场记录到黑匣子中;
15.安全岛域系统在智能驾驶操作系统中设置标识以通知智能驾驶操作系统进行热复位。
16.在本发明的一个实施例中,智能驾驶操作系统经过安全岛域系统热复位后,通过内核转储工具启动转储内核进行异常现场的转储,将异常现场转储到磁盘介质中,包括:
17.内核转储工具启动转储内核并通过共享内存将转储内核的信息传递给智能驾驶操作系统的基本输入输出系统;
18.基本输入输出系统通过转储内核捕获智能驾驶操作系统故障挂死时生成的异常现场并存放至预留内存中;
19.智能驾驶操作系统将预留内存中的异常现场转储至磁盘介质中。
20.在本发明的一个实施例中,信息包括:转储内核的目标地址、跳转参数。
21.在本发明的一个实施例中,内核转储工具启动转储内核并通过共享内存将转储内核的信息传递给智能驾驶操作系统的基本输入输出系统,包括:
22.基本输入输出系统对目标地址进行幻数校验,若幻数校验通过,则基本输入输出系统可以跳转至目标地址。
23.本发明的另一实施例还提供一种电子装置,电子装置包括智能驾驶操作系统和安全岛域系统,智能驾驶操作系统包括至少一个设有看门狗的soc,包括:
24.喂狗模块,用于每间隔预设时长向看门狗发起喂狗动作;
25.看门狗模块,用于在间隔预设时长时未接收到喂狗动作时,向智能驾驶操作系统和安全岛域系统发送中断;
26.安全岛域系统包括:
27.异常现场记录模块,用于接收看门狗模块在间隔预设时长时未接收到喂狗动作时向安全岛域系统发送的外部中断,读取智能驾驶操作系统的硬件寄存器以记录异常现场;
28.热复位模块,用于通知智能驾驶操作系统进行热复位以使智能驾驶操作系统的基本输入输出系统通过转储内核进行转储并重新启动智能驾驶操作系统。
29.在本发明的一个实施例中,看门狗模块用于:
30.在间隔预设时长时,第一次未收到喂狗动作时,看门狗向智能驾驶操作系统发送中断;
31.在间隔第二个预设时长时,仍未接收到喂狗动作则向安全岛域系统发送外部中断信号,使安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并对智能驾驶操作系统进行热复位。
32.在本发明的一个实施例中,异常现场记录模块用于:
33.使安全岛域系统读取智能驾驶操作系统的硬件寄存器,将硬件寄存器中的异常现场记录到黑匣子中。
34.在本发明的一个实施例中,热复位模块用于:
35.在黑匣子中设置标识以通知智能驾驶操作系统进行热复位。
36.在本发明的一个实施例中,电子装置包括:
37.地址信息传输模块,用于将转储内核的信息通过共享内存传递至智能驾驶操作系统的基本输入输出系统以使基本输入输出系统通过转储内核捕获智能驾驶操作系统故障挂死时生成的异常现场并存放至预留内存中,并在转储完毕后重启智能驾驶操作系统。
38.在本发明的一个实施例中,地址信息传输模块用于:
39.使基本输入输出系统对信息进行幻数校验,若幻数校验通过,则基本输入输出系统可以跳转至转储内核的目标地址。
40.本发明的另一实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法中任一项的系统挂死故障的恢复和定位方法。
41.本发明的另一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现上述方法中任一项的系统挂死故障的恢复和定位方法的步骤。
42.本发明的上述技术方案至少具有如下有益效果之一:
43.1.本发明实施例的系统挂死故障的恢复和定位方法,在智能驾驶操作系统发生挂死故障时可以及时检测到故障,并使用安全岛域系统对智能驾驶操作系统进行热复位,有效提升了产品安全性能;
44.2.本发明实施例的系统挂死故障的恢复和定位方法,通过安全岛域系统保存智能驾驶操作系统挂死异常现场,便于开发人员之后进行问题定位;
45.3.本发明实施例的系统挂死故障的恢复和定位方法,通过安全岛域系统保存智能驾驶操作系统挂死异常现场并可以上传至云端,不需要在车辆上额外设置调试接口,有利于节省车辆生产开销。
附图说明
46.图1为本发明实施例的系统挂死故障的恢复和定位方法的实施环境示意图;
47.图2为本发明实施例的系统挂死故障的恢复和定位方法的流程图;
48.图3为本发明实施例的智能驾驶操作系统挂死故障的电子装置的结构示意图;
49.图4为本发明实施例的智能驾驶操作系统挂死故障的电子设备的soc框图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第
二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
52.下面将参考附图并结合实施例来详细说明本发明的工作原理。
53.参考说明书附图1,其示出了本发明一个实施例提供的系统挂死故障的恢复和定位方法的实施环境示意图,如图1所示,该实施环境可以包括智能驾驶操作系统和安全岛域(safety lsland)系统。在实际应用中,车辆驾驶中,智能驾驶操作系统负责提供驾驶辅助服务或自动驾驶服务,但可能会由于各种客观因素而挂死,在挂死之后需要及时的检测到故障并尽快恢复,例如可以通知安全岛域系统做驾驶系统主备切换或紧急刹车等,同时也需要记录异常现场,便于开发人员定位问题。所以,可以在智能驾驶操作系统中的soc中设置一个看门狗并定时进行喂狗,在系统挂死后,系统无法继续喂狗,看门狗第一次检测到喂狗超时时,会向智能驾驶操作系统发送中断。当看门狗第二次检测到喂狗超时时,表明智能驾驶操作系统的cpu已经无法执行指令,需要外部系统对智能驾驶操作系统进行热复位,看门狗可以向安全岛域系统发出外部中断,安全岛域系统收到外部中断后可以记录智能驾驶操作系统挂死时的异常现场并记录至黑匣子,同时使智能驾驶操作系统的基本输入输出系统(basic input output system,bios)进行热复位。然后使用内核转储工具启动kdump以运行转储内核,并将转储内核的目标地址通过共享内存传递至智能驾驶操作系统的基本输入输出系统,此时基本输入输出系统可以根据目标地址跳转至并通过转储内核对异常现场进行转储以重新启动智能驾驶操作系统。
54.由此,在智能驾驶操作系统得cpu无法执行指令时,通过安全岛域系统对挂死的智能驾驶操作系统进行重启,有效提高了挂死重启的反应速度,提高了驾车安全性,同时,安全岛域系统中还保存了异常现场的相关信息,便于开发人员日后分析问题原因。
55.需要说明的是,图1仅仅是一种示例。本领域技术人员可以理解,虽然图1中只示出了智能驾驶操作系统与安全岛域系统中的部分模块,但并不构成对本发明实施例的限定,可以包括比图示更多或更少的模块。
56.下面结合图2具体描述本发明实施例提供的一种系统挂死故障的恢复和定位方法,图2为本发明实施例的智能驾驶操作系统挂死检测和恢复的方法的流程图。该方法应用于设置有智能驾驶操作系统的车辆,车辆还包括安全岛系统,智能驾驶操作系统包括至少一个设有看门狗的soc,soc的中央处理器定时喂狗,该流程图包括s210-s240,下面对几个步骤详细描述:
57.s210,soc的中央处理器每间隔预设时长向看门狗发起喂狗动作。
58.本发明的一个实施例中,看门狗(watchdog timer)是一种定时器电路,当智能驾驶操作系统的cpu正常工作的时候,会每隔一段时间输出一个信号到看门狗将看门狗定时器清零,该操作称为喂狗,如果当智能驾驶操作系统发生意外,导致cpu挂死无法定时喂狗,即,在预设时长内未收到喂狗动作,看门狗检测到定喂狗超时就会向智能驾驶操作系统发出一个中断信号以使智能驾驶操作系统热复位。
59.s220,当看门狗在连续间隔两次预设时长未接收到喂狗动作,看门狗向安全岛域系统发送外部中断信号,使安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并对智能驾驶操作系统的进行热复位。
60.在本发明实施例中,当看门狗在间隔预设时长时,第一次未收到喂狗动作,则看门狗向智能驾驶操作系统发送中断;当看门狗在间隔第二个预设时长时,仍未接收到喂狗动作则向安全岛域系统发送外部中断信号,使安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并对智能驾驶操作系统进行热复位。
61.具体来说,在本发明的一个实施例中,当看门狗第二次检测到喂狗超时时,即在第二个预设时长时,仍未接收到所述喂狗动作,表明智能驾驶操作系统的cpu已经无法执行指令,需要外部系统对智能驾驶操作系统进行操作以重启智能驾驶操作系统。看门狗向安全岛域系统发送外部中断后,安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并可以通过云端或本地调试的方式将内核转储发送给开发人员,由此,为之后开发人员分析挂死原因提供了依据。
62.更具体来说,安全岛域系统读取智能驾驶操作系统的硬件寄存器后,会将读取到的异常现场的信息保存至黑匣子,黑匣子实质是一种自定义的信号处理函数,可以代替内核的默认处理将异常现场的信息保存,方便之后对问题进行定位。同时,安全岛域系统还会在智能驾驶操作系统中设置重启标识,以使智能驾驶操作系统进行热复位。
63.s230,智能驾驶操作系统经过安全岛域系统热复位后,通过内核转储工具启动转储内核进行异常现场的转储,将异常现场转储到磁盘介质中。
64.在本发明实施例中,智能驾驶操作系统经过安全岛域系统热复位后,可以使用kexec工具加载kdump以运行转储内核,并通过共享内存将转储内核的信息传递给智能驾驶操作系统的基本输入输出系统,kexec工具可以跳过整个引导装载程序阶段并直接跳转到一个新内核,而kdump可以在系统崩溃、死锁或死机时转储内存运行参数,由此,在kexec加载kdump后,kdump可以通过kexec工具运行一个新的内核,即转储内核,并通过共享内存将转储内核的信息传递给智能驾驶操作系统的基本输入输出系统;基本输入输出系统通过转储内核捕获智能驾驶操作系统故障挂死时生成的异常现场并存放至预留内存中;智能驾驶操作系统将预留内存中的异常现场转储至磁盘介质中。
65.具体来说,在本发明的一个实施例中,kexec工具可以根据预先配置的信息将转储内核的目标地址及地址参数,即存放转储内核的地址,通过共享内存发送至基本输入输出系统以使基本输入输出系统根据目标地址及地址参数跳转至转储内核所在的地址。基本输入输出系统是一组固化到计算机内主板上一个只读存储器(read-only memory,rom)芯片上的程序,可以使用转储内核捕获智能驾驶操作系统故障挂死时生成的异常现场并存放至预留内存中,异常现场可以包括系统运行时的内存信息,寄存器状态,堆栈指针,内存管理信息等信息,同时智能驾驶操作系统将预留内存中的异常现场转储至磁盘介质中。由此,基本输入输出系统可以跳转至转储内核的目标地址使用转储内核进行异常转储并重新启动智能驾驶操作系统。
66.更具体来说,基本输入输出系统在跳转至转储内核的目标地址前,会读取目标地址中的幻数(magic number)并和储存的幻数进行校验,如校验一致,则基本输入输出系统可以跳转至目标地址。幻数是一种自定义的校验数,由于内存地址信息较为冗长,进行内存
地址校验的时间复杂度较高,此时可以设置一个或多个幻数对地址进行校验。目标地址是存放转储内核的地址,当基本输入输出系统跳转至目标地址,即为基本输入输出系统使用转储内核进行转储操作进行热服务提供了前置条件。
67.s240,智能驾驶操作系统转储完毕后,重新启动智能驾驶操作系统。
68.应当注意的是,本发明实施例的方法不仅可以应用于智能车辆的智能驾驶操作系统中,其他需要迅速热复位并保存异常现场的安全系统,均可以适用本方法。
69.本发明的另一实施例还提供一种电子装置,如图3所示,电子装置包括智能驾驶操作系统和安全岛域系统,智能驾驶操作系统包括至少一个设有看门狗的soc,包括:
70.喂狗模块,用于每间隔预设时长向看门狗发起喂狗动作;
71.看门狗模块,用于在间隔预设时长时未接收到喂狗动作时,向智能驾驶操作系统和安全岛域系统发送中断;
72.安全岛域系统包括:
73.异常现场记录模块,用于接收看门狗模块在间隔预设时长时未接收到喂狗动作时向安全岛域系统发送的外部中断,读取智能驾驶操作系统的硬件寄存器以记录异常现场;
74.热复位模块,用于通知智能驾驶操作系统进行热复位以使智能驾驶操作系统的基本输入输出系统通过转储内核进行转储并重新启动智能驾驶操作系统。
75.在本发明的一个实施例中,看门狗模块用于:
76.在间隔预设时长时,第一次未收到喂狗动作时,看门狗向智能驾驶操作系统发送中断;
77.在间隔第二个预设时长时,仍未接收到喂狗动作则向安全岛域系统发送外部中断信号,使安全岛域系统读取智能驾驶操作系统的硬件寄存器以记录异常现场,并对智能驾驶操作系统进行热复位。
78.在本发明的一个实施例中,异常现场记录模块用于:
79.使安全岛域系统读取智能驾驶操作系统的硬件寄存器,将硬件寄存器中的异常现场记录到黑匣子中。
80.在本发明的一个实施例中,热复位模块用于:
81.在黑匣子中设置标识以通知智能驾驶操作系统进行热复位。
82.在本发明的一个实施例中,电子装置包括:
83.地址信息传输模块,用于将转储内核的信息通过共享内存传递至智能驾驶操作系统的基本输入输出系统以使基本输入输出系统通过转储内核捕获智能驾驶操作系统故障挂死时生成的异常现场并存放至预留内存中,并在转储完毕后重启智能驾驶操作系统。
84.在本发明的一个实施例中,地址信息传输模块用于:
85.使基本输入输出系统对信息进行幻数校验,若幻数校验通过,则基本输入输出系统可以跳转至转储内核的目标地址。
86.需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与相应方法实施例属于同一构思,其具体实现过程详见对应方法实施例,这里不再赘述。
87.本发明的另一实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述方法中的系统挂死故障的恢复和定位方法。
88.存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
89.本发明的另一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,程序被处理器执行时实现上述方法中的系统挂死故障的恢复和定位方法的步骤。
90.以运行在车机上为例,如图4所示,其示出了本技术的一实施例提供的soc(system on chip,片上系统)1300的框图。在图4中,相似的部件具有同样的附图标记。另外,虚线框是更先进的soc的可选特征。在图4中,soc1300包括:互连单元1350,其被耦合至应用处理器1310;系统代理单元1380;总线控制器单元1390;集成存储器控制器单元1340;一组或一个或多个协处理器1320,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(static random access memory,sram)单元1330;直接存储器存取(dma)单元1360。在一个实施例中,协处理器1320包括专用处理器,诸如例如网络或通信处理器、压缩引擎、gpgpu、高吞吐量mic处理器、或嵌入式处理器等。
91.静态随机存取存储器(sram)单元1330中可以包括用于存储数据和/或指令的一个或多个计算机可读介质。计算机可读存储介质中可以存储有指令,具体而言,存储有该指令的暂时和永久副本。该指令可以包括:由处理器中的至少一个单元执行时使soc1300执行根据上述实施例中的计算方法,具体可参照上述图2所示的方法,在此不再赘述。
92.本领域普通技术人员可以理解,图4所示的结构仅为示意,soc1300还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。
93.本发明一个实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质可设置于电子设备之中以保存用于实现一种系统挂死故障的恢复和定位方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述各种可选实施例中提供的系统挂死故障的恢复和定位方法。
94.可选地,在本发明实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
95.本发明一个实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的系统挂死故障的恢复和定位方法。
96.需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且
仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
97.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
98.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
99.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献