CN116932334B - 多核微控制单元的异常复位监控方法及装置 - Google Patents
多核微控制单元的异常复位监控方法及装置 Download PDFInfo
- Publication number
- CN116932334B CN116932334B CN202311188128.0A CN202311188128A CN116932334B CN 116932334 B CN116932334 B CN 116932334B CN 202311188128 A CN202311188128 A CN 202311188128A CN 116932334 B CN116932334 B CN 116932334B
- Authority
- CN
- China
- Prior art keywords
- abnormal
- information
- program
- control unit
- reset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000002159 abnormal effect Effects 0.000 title claims abstract description 195
- 238000000034 method Methods 0.000 title claims abstract description 67
- 238000012544 monitoring process Methods 0.000 title claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 50
- 230000005856 abnormality Effects 0.000 claims abstract description 33
- 238000003745 diagnosis Methods 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 238000012806 monitoring device Methods 0.000 claims description 5
- 238000013507 mapping Methods 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001627 detrimental effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/24—Resetting means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例涉及微控制器技术领域,公开了一种多核微控制单元的异常复位监控方法,包括:在检测到多核微控制单元中某一个处理核进入异常程序分支之后,获取相应程序异常现场的异常程序信息;将处理核身份信息以及异常程序信息写入非清随机存取存储器的指定存储区域,其中,非清随机存取存储器中指定存储区域被配置为在进行微控制单元软件复位之后,指定存储区域内的数据仍保持为复位前的存储数据。本发明实施例中的多核微控制单元的异常复位监控方法通过设计非清随机存取存储器来使得在整个程序运行产生异常时,能够将产生的异常信息存储到非清随机存取存储器的指定区域来进行数据保护,使得在后续进行复位时,不会对保护区域的数据进行清除。
Description
技术领域
本发明涉及微控制器技术领域,具体涉及一种多核微控制单元的异常复位监控方法及装置。
背景技术
目前,在车用控制器中,当用户对MCU资源使用不当或者MCU自身故障而导致MCU系统运行异常时,软件会进入异常程序(TRAP)分支。这时,通常的软件做法是通过看门狗超时(被动复位)来复位软件,从而使软件恢复到正常状态。有些设计者在软件复位前,将这些故障信息记录在只读存储器(ROM)中,也即是AUTOSAR标准的NVM模块中,然后复位MCU,这样便于在复位后查询故障原因。
这样做存在有如下问题:1、TRAP产生可能是由NVM(或其下属模块MemIf、Fee、Fls)自身错误造成的,事实上这种错误很常见,这种情况下去操作NVM可能产生新的故障;2、这种通过看门狗被动复位的方法需要消耗较长时间,通常在几十甚至几百毫秒,更何况NVM的操作本身需要消耗时间(尤其是在Fee sector切换的时候),这不利于MCU快速的故障恢复;3、在多核MCU系统中,NVM通常只能由一个核(例如Core0)来执行,当其他核(例如Core1)进入trap程序分支时,显然不能直接由Core1调用NVM接口;4、被动复位通常需要一定的滤波时间(例如看门狗的超时时间),不利于快速恢复故障。因此,设计一种能够进行快速故障复位且复位后能查询故障原因的方案成为本领域技术人员亟待解决的技术问题。
发明内容
针对所述缺陷,本发明实施例公开了一种多核微控制单元的异常复位监控方法,其能够利用随机存取存储器(RAM)来实现相应的信息记录,使得故障恢复更加快速;并且采用主动复位代替被动复位,使得微控制单元复位更快,软件流程更加可控。
本发明实施例第一方面公开了多核微控制单元的异常复位监控方法,包括:
在检测到多核微控制单元中某一个处理核进入异常程序分支之后,获取相应程序异常现场的异常程序信息,所述异常程序信息包括异常地址信息、异常时间信息、异常类别信息、异常核来源信息、异常程序等级中的一种或者多种;
获取与所述异常程序信息关联当前处理核身份信息,将所述处理核身份信息以及异常程序信息写入非清随机存取存储器(复位后不清除RAM,后简称“非清RAM”)的指定存储区域,并执行微控制单元复位操作,其中,所述非清RAM中指定存储区域被配置为在进行微控制单元软件复位之后,所述指定存储区域内的数据仍保持为复位前的存储数据。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述执行微控制单元复位操作之前,还包括:
将异常标识位置的标志状态调整为第一状态,所述标志状态包括第一状态和第二状态。
通过在进行故障信息记录之后,需要对标识状态进行调整,这样下次在进行应用程序初始化运行的时候,可以直接通过标识状态信息来确定是否进行下一步的操作,能够提高整体程序运行的流畅度。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述获取与所述异常程序信息关联当前处理核身份信息之后,还包括:
根据循环校验算法来计算所述处理核身份信息以及异常程序信息的第一校验数值,将所述第一校验数值写入非清随机存取存储器的指定存储区域。
通过采用CRC32算法来对相应信息进行冗余计算以得到校验数值,将该校验数值作为后续冗余校验的基础比对数据,这样,软件复位后,重新计算非清RAM的CRC32的值,并通过与复位前记录的CRC32值比较,可知道非清RAM有无被篡改。能够进一步提高后续进行故障数据输出的准确性。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述执行微控制单元复位操作之后,还包括:
在主处理核(Core0)处获取所述非清随机存取存储器的指定存储区域的处理核身份信息以及异常程序信息;
在主处理核(Core0)处根据循环校验算法来计算所述处理核身份信息以及异常程序信息的第二校验数值,并将所述第二校验数值与存储在非清随机存取存储器中的第一校验数值进行比对,在比对通过之后,根据处理核身份信息、异常程序信息以及设定条件来确定相应的故障诊断代码以及快照信息;
将所述故障诊断代码以及快照信息传输至诊断事件管理模块以使得用户通过诊断接口来获取相应的故障诊断代码。
通过上述步骤来实现异常故障信息的分析和记录,也能够提供相应的诊断接口给相应用户来直接获取对应的故障诊断信息,大大提高了分析故障根本原因的可能性。
作为一种可选的实施方式,在本发明实施例第一方面中,在所述检测到多核微控制单元中某一个处理核进入异常程序分支之后,还包括:
根据所述异常程序分支来确定异常类别信息;所述异常类别信息至少有两个;
根据所述异常类别信息来确定异常程序等级,其中,各个异常类别信息与异常程序等级之间存在有固定的映射关系;
当检测到异常程序等级为第一异常等级时,则在寄存器EIPC获取第一异常地址信息以及在寄存器EIIC获取第一异常原因码;
当检测到异常程序等级为第二异常等级时,分别在寄存器FEPC获取第二异常地址信息和在寄存器FEIC获取第二异常原因码。
在具体实施时,将异常类别信息与异常程序等级来进行相应的关联,这就使得不管是什么类型的异常均能映射对应的异常等级,也能够获取到相应的异常地址和异常原因码,便于进行后续的信息记录,并通过基于实际结构来对异常类别进行简化记录。
作为一种可选的实施方式,在本发明实施例第一方面中,所述异常时间信息通过如下步骤获取得到:
在进入异常程序分支之后获取系统时间信息,并将所述系统时间信息确定为异常时间信息,所述异常时间信息为异常时的时间戳信息。
上述步骤为具体的时间获取步骤,通过上述步骤能够实现对异常发生时间点的信息确定;提升了时间信息获取的便捷性。
作为一种可选的实施方式,在本发明实施例第一方面中,所述指定存储区域的空间大小至少为200字节;所述非清RAM被配置为多核微控制单元共享。
由于随机存取存储器(RAM)具有读取速度快,由用户自主分配的特点,这就使得数据快速存取和被多核微控制单元共享成为可能,通过使用多核共享非清RAM既能保证由一个核处理故障而其他核只记录故障信息,同时因“非清”的特点也能保证快速复位后,记录的故障信息仍旧保留。
在进行具体的指定存储区域的空间设置的时候,可预留足够的空间,因为一般RAM相对于NVM资源充足得多,分配也更加灵活。
本发明实施例第二方面公开一种多核微控制单元的异常复位监控装置,包括:
获取模块:用于在检测到多核微控制单元中某一个处理核进入异常程序分支之后,获取相应程序异常现场的异常程序信息,所述异常程序信息包括异常地址信息、异常时间信息、异常类别信息、异常核来源信息、异常程序等级中的一种或者多种;
存储模块:用于获取与所述异常程序信息关联当前处理核身份信息,将所述处理核身份信息以及异常程序信息写入非清RAM的指定存储区域,并执行微控制单元复位操作,其中,所述非清RAM中指定存储区域被配置为在进行微控制单元软件复位之后,所述指定存储区域内的数据仍保持为复位前的存储数据。
本发明实施例第三方面公开一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行本发明实施例第一方面公开的多核微控制单元的异常复位监控方法。
本发明实施例第四方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本发明实施例第一方面公开的多核微控制单元的异常复位监控方法。
与现有技术相比,本发明实施例具有以下有益效果:
本发明实施例中的多核微控制单元的异常复位监控方法通过设计非清随机存取存储器(非清RAM)而非NVM来使得在整个程序运行产生异常时,能够将产生的异常信息快速存储到非清RAM的指定区域来进行数据保护,且通过合理的设计使得在后续进行复位时,不会对保护区域的数据进行清除。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例公开的多核微控制单元的异常复位监控方法的流程示意图;
图2是本发明实施例公开的多核微控制单元的异常复位监控方法的具体流程示意图;
图3是本发明实施例公开的进行故障分析的流程示意图;
图4是本发明实施例公开的进行异常等级确定以及异常原因获取的流程示意图;
图5是本发明实施例公开的软件进入异常程序分支后信息记录过程示意图;
图6是本发明实施例公开的非清RAM复位不清除方法流程示意图;
图7是本发明实施例提供的一种多核微控制单元的异常复位监控装置的结构示意图;
图8是本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定顺序。本发明实施例的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,示例性地,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
当MCU运行故障导致程序进入异常程序(TRAP)分支后,正常程序无法喂狗,进而看门狗超时导致MCU复位(被动复位),使软件恢复到正常状态。这是MCU异常最常见的处理方法。为了获取异常复位的原因,通常在软件进入TRAP后,将故障信息记录在非易失性存储器(AUTOSAR架构使用NVM)中;软件复位后,通过读取NVM获取的信息来做故障分析。NVM有其固有的问题,并不适用于异常复位处理程序;“被动复位”的方法也不利于软件恢复的时间控制。本发明实施例公开了多核微控制单元的异常复位监控方法、装置、电子设备及存储介质,通过设计非清随机存取存储器来使得在整个程序运行产生异常时,能够将产生的异常信息存储到非清随机存取存储器的指定区域来进行数据保护,使得在后续进行复位时,不会对保护区域的数据进行清除。
实施例一
请参阅图1,图1是本发明实施例公开的多核微控制单元的异常复位监控方法的流程示意图。其中,本发明实施例所描述的方法的执行主体为由软件或/和硬件组成的执行主体,该执行主体可以通过有线或/和无线方式接收相关信息,并可以发送一定的指令。当然,其还可以具有一定的处理功能和存储功能。该执行主体可以控制多个设备,例如远程的物理服务器或云服务器以及相关软件,也可以是对某处安置的设备进行相关操作的本地主机或服务器以及相关软件等。在一些场景中,还可以控制多个存储设备,存储设备可以与设备放置于同一地方或不同地方。如图1和图2所示,该基于多核微控制单元的异常复位监控方法包括以下步骤:
S101:在检测到多核微控制单元中某一个处理核进入异常程序分支之后,获取相应程序异常现场的异常程序信息,所述异常程序信息包括异常地址信息、异常时间信息、异常类别信息、异常核来源信息、异常程序等级中的一种或者多种;
S102:获取与所述异常程序信息关联当前处理核身份信息,将所述处理核身份信息以及异常程序信息写入非清随机存取存储器的指定存储区域,并执行微控制单元复位操作,其中,所述非清随机存取存储器中指定存储区域被配置为在进行微控制单元软件复位之后,所述指定存储区域内的数据仍保持为复位前的存储数据。
在具体实施时,应用程序在运行过程中有可能会出现异常状况;当某一个核进入异常程序(TRAP)分支时,一个重要的方面就是要获取程序异常现场的相关信息。这些信息包括异常地址、异常时间、异常类别、异常核来源(来自哪个核的异常)、异常等级等,具体能获取的信息因MCU而异。
在本发明实施例中使用“非清RAM”代替NVM来记录TRAP相关的信息,避免因NVM本身缺陷所产生的问题;使用主动复位代替被动复位来控制软件复位时间和程序流走向;通过上述方式能够使得该软件恢复时间可控,且相应故障信息不会在复位之后被清除,能够保证数据存储的稳定性。在本发明实施中,非清随机存取存储器指的即是复位不清除RAM,具体的含义是非清RAM在MCU软复位后,仍然保持复位前的值。
具体的,运行在任何MCU核的软件进入TRAP程序分支后,可将大量的故障相关信息记录到非清RAM中,然后过软件主动复位MCU,这个过程通常消耗几微秒。
更为优选的,在所述执行微控制单元复位操作之前,还包括:
将异常标识位置的标志状态调整为第一状态,所述标志状态包括第一状态和第二状态。
通过在进行故障信息记录之后,需要对标识状态进行调整,这样下次在进行应用程序初始化运行的时候,可以直接通过标识状态信息来确定是否进行下一步的操作,能够提高整体程序运行的流畅度。
更为优选的,在所述获取与所述异常程序信息关联当前处理核身份信息之后,还包括:
根据循环校验算法来计算所述处理核身份信息以及异常程序信息的第一校验数值,将所述第一校验数值写入非清随机存取存储器的指定存储区域。
通过采用CRC32算法来对相应信息进行冗余计算以得到校验数值,将该校验数值作为后续冗余校验的基础比对数据,这样软件复位后,重新计算非清RAM的CRC32的值,并通过与复位前记录的CRC32值比较,可知道非清RAM有无被篡改,这样能够进一步提高后续进行故障数据输出的准确性。
更为优选的,图3是本发明实施例公开的进行故障分析的流程示意图,如图3所示,在所述执行微控制单元复位操作之后,还包括:
S103:在主处理核处获取所述非清随机存取存储器的指定存储区域的处理核身份信息以及异常程序信息;
S104:在主处理核处根据循环校验算法来计算所述处理核身份信息以及异常程序信息的第二校验数值,并将所述第二校验数值与存储在非清随机存取存储器中的第一校验数值进行比对,在比对通过之后,根据处理核身份信息、异常程序信息以及设定条件来确定相应的故障诊断代码以及快照信息;
S105:将所述故障诊断代码以及快照信息传输至诊断事件管理模块以使得用户通过诊断接口来获取相应的故障诊断代码。
通过上述步骤来实现异常故障信息的分析和记录,也能够提供相应的诊断接口给相应用户来直接获取对应的故障诊断信息,大大提升了整体的便捷性以及应用场景的广泛性。
在软件复位后,Core0校验非清RAM中的信息为真后,可提取故障来源(如来自哪个核)、故障类别、出现故障的程序地址等信息,根据这些信息将故障报给Dem模块,用户可通过诊断接口读出故障码。
在本发明实施例中Trap故障信息分析发生在App初始化阶段,如图2所示。Trap故障信息输入为非清RAM留下来的信息,输出为要报给Dem模块的DTC码及快照信息。Trap对应的DTC码数量可多可少,根据系统的需求分配,这里不过多描述。具体的,首先判断Trap_Flag是否为TRUE,只有为TRUE的时候才需要分析非清RAM中的数据;然后判断非清RAM数据的Crc32是否正确,只有为正确时才需要处理;最后根据实际需要分类CRC并分配快照数据。如果根据CoreId来设置DTC,可设置两个DTC。DTC的快照可以选取非清RAM中的所有或部分信息。这样汽车诊断工程师可以通过读取故障码及其快照来判断程序出错的位置、时间、所属核等信息。
更为优选的,图4是本发明实施例公开的进行异常等级确定以及异常原因获取的流程示意图;图5是本发明实施例公开的软件进入异常程序分支后信息记录过程示意图;如图4和图5所示,在所述检测到多核微控制单元中某一个处理核进入异常程序分支之后,还包括:
S1011:根据所述异常程序分支来确定异常类别信息;所述异常类别信息至少有两个;
S1012:根据所述异常类别信息来确定异常程序等级,其中,各个异常类别信息与异常程序等级之间存在有固定的映射关系;
S1013:当检测到异常程序等级为第一异常等级时,则在寄存器EIPC获取第一异常地址信息以及在寄存器EIIC获取第一异常原因码;
S1014:当检测到异常程序等级为第二异常等级时,分别在寄存器FEPC获取第二异常地址信息和在寄存器FEIC获取第二异常原因码。
在具体实施时,将异常类别信息与异常程序等级来进行相应的关联,这就使得不管是什么类型的异常均能映射对应的异常等级,也能够获取到相应的异常地址和异常原因码,便于进行后续的信息记录,并通过基于实际结构来对异常类别进行简化记录。
更为优选的,所述异常时间信息通过如下步骤获取得到:
在进入异常程序分支之后获取系统时间信息,并将所述系统时间信息确定为异常时间信息,所述异常时间信息为异常时的时间戳信息。
上述步骤为具体的时间获取步骤,通过上述步骤能够实现对异常发生时间点的信息确定;提升了时间信息获取的便捷性。
在本发明实施例中以瑞萨MCU RH850 P1H-C为例来阐述相应的设计方案,在瑞萨MCU RH850 P1H-C中主要有两个异常等级EI和FE,以及15个异常类别。每个异常类别有一个单独的异常程序分支,也即是每一个异常程序分支会触发相应的异常类别。异常类别和异常等级之间有固定的映射关系,因此,当程序异常而进入某一个异常程序分支后,其异常类别也是可知。当异常程序等级为EI时,可分别在寄存器EIPC和EIIC获取异常地址(ExpAddr)和异常原因码(CauseCode),当异常程序等级为FE时,可分别在寄存器FEPC和FEIC获取异常地址(ExpAddr)和异常原因码(CauseCode)。
本发明实施例中的异常时间,即异常时的时间戳,可在进入异常分支程序后获取系统时间(SystemTimer)来得到。所有上述获取的信息最后汇总写入“非清RAM”中,顺带写入当前核ID(表示由哪个核进入Trap),并将进入Trap标志位置(Trap_Flag)信息调整为TRUE。最后,计算所有这些写入信息的CRC32值,将其写入非清RAM结尾处。这样,软件复位后,重新计算非清RAM CRC32的值,并通过与复位前记录的CRC32值比较,可知道非清RAM有无被篡改。Trap故障信息获取如下图5所示。
更为优选的,所述指定存储区域的空间大小至少为200字节;所述非清随机存取存储器被配置为多核微控制单元共享。
由于随机存取存储器具有读取速度快,操作方便的特点,这就使得其被多核微控制单元共享成为可能,通过使用多核共享非清RAM来保证只有一个处理核来处理故障,而其他处理核只是记录故障信息。在进行具体的指定存储区域的空间设置的时候,可以适当预留一些空间,便于后续对方案的扩展,例如,核数量变多,故障信息变多等等。
在本发明实施例中非清RAM是指软件复位后,其内容不会被恢复为默认值的一段RAM地址块。非清RAM需要通过软件和硬件结合的方法来实现,从MCU复位到APP使用非清RAM之间需要经历RAM模块复位(硬件保证)、Bootloader软件对RAM的初始化(软件保证)、APP对RAM初始化(软件保证)三个阶段。只有当经历这三个阶段过程中RAM中特定区域的数据都不清除时,APP诊断软件才能在非清RAM中获取复位前的TRAP信息。MCU复位有硬复位、系统复位、软件复位之分,只有当选择软复位且寄存器STAC_LM0=1时,复位后,SelfRam最后1K(以下称SelfRam_Last)的空间不会被硬件恢复到默认。在Bootloader和App启动阶段不初始化SelfRam_Last,非清RAM可按照下图6所示设计。也即是bootloader软件和应用程序均设置有相应的命令段,这两段命令段在执行时不会对非清RAM中指定存储区域的数据执行清除操作,其只会对非清RAM中指定存储区域之外的区域数据来进行清除操作,这样在后续应用程序初始化阶段即可实现对特定数据信息的获取。
在本发明实施例中使用“非清RAM”代替NVM来记录TRAP相关的信息,避免因NVM本身缺陷所产生的问题;使用主动复位代替被动复位来控制软件复位时间和程序流走向;使用多核共享非清RAM来保证只有一个来处理故障,而其他核只是记录故障信息;通过CheckSum来保证非清RAM数据前后的一致性。 实现这种异常监控方法的前提是要设计“非清RAM”;其次需要在进入Trap后,尽可能多的获取关键信息;最后在软件复位后,需要分析故障原因,得到故障码和快照信息,并报告给Dem模块。软件流程如下图2所示。
本发明实施例方案的设计有三个关键的步骤,即非清RAM设计、Trap故障信息获取、Trap故障信息分析,虽然开发的这种异常复位故障监控方法理论上可用于任何车规级MCU,但因为软件异常(TRAP)与MCU本身有强相关联系,具体一点讲,不同MCU的TRAP种类以及产生TRAP的机理不同,在进行具体实施时可以依据不同的MCU来进行相应的故障获取。
本发明实施例的方案存在有如下优点:第一、利用RAM而非NVM来记录信息,使得故障恢复更加迅速;第二、利用资源相对充足的RAM而非NVM可以记录更多的故障信息,便于分析;第三、利用主动复位代替被动复位,使MCU复位更快,软件流程更加可控;第四、将分析后的故障报给Dem模块,而不是直接存储到NVM,更符合汽车软件的标准。
本发明实施例中的多核微控制单元的异常复位监控方法通过设计非清随机存取存储器来使得在整个程序运行产生异常时,能够将产生的异常信息存储到非清随机存取存储器的指定区域来进行数据保护,使得在后续进行复位时,不会对保护区域的数据进行清除。
实施例二
请参阅图7,图7是本发明实施例公开的多核微控制单元的异常复位监控装置的结构示意图。如图7所示,该多核微控制单元的异常复位监控装置可以包括:
获取模块21:用于在检测到多核微控制单元中某一个处理核进入异常程序分支之后,获取相应程序异常现场的异常程序信息,所述异常程序信息包括异常地址信息、异常时间信息、异常类别信息、异常核来源信息、异常程序等级中的一种或者多种;
存储模块22:用于获取与所述异常程序信息关联当前处理核身份信息,将所述处理核身份信息以及异常程序信息写入非清随机存取存储器的指定存储区域,并执行微控制单元复位操作,其中,所述非清随机存取存储器中指定存储区域被配置为在进行微控制单元软件复位之后,所述指定存储区域内的数据仍保持为复位前的存储数据。
本发明实施例中的多核微控制单元的异常复位监控方法通过设计非清随机存取存储器来使得在整个程序运行产生异常时,能够将产生的异常信息存储到非清随机存取存储器的指定区域来进行数据保护,使得在后续进行复位时,不会对保护区域的数据进行清除。
实施例三
请参阅图8,图8是本发明实施例公开的一种电子设备的结构示意图。电子设备可以是计算机以及服务器等,当然,在一定情况下,还可以是手机、平板电脑以及监控终端等智能设备,以及具有处理功能的图像采集装置。如图8所示,该电子设备可以包括:
存储有可执行程序代码的存储器510;
与存储器510耦合的处理器520;
其中,处理器520调用存储器510中存储的可执行程序代码,执行实施例一中的多核微控制单元的异常复位监控方法中的部分或全部步骤。
本发明实施例公开一种计算机可读存储介质,其存储计算机程序,其中,该计算机程序使得计算机执行实施例一中的多核微控制单元的异常复位监控方法中的部分或全部步骤。
本发明实施例还公开一种计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的多核微控制单元的异常复位监控方法中的部分或全部步骤。
本发明实施例还公开一种应用发布平台,其中,应用发布平台用于发布计算机程序产品,其中,当计算机程序产品在计算机上运行时,使得计算机执行实施例一中的多核微控制单元的异常复位监控方法中的部分或全部步骤。
在本发明的各种实施例中,应理解,所述各过程的序号的大小并不意味着执行顺序的必然先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物单元,即可位于一个地方,或者也可以分布到多个网络单元上。可根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元若以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可获取的存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或者部分,可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干请求用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本发明的各个实施例所述方法的部分或全部步骤。
在本发明所提供的实施例中,应理解,“与A对应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其他信息确定B。
本领域普通技术人员可以理解所述实施例的各种方法中的部分或全部步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上对本发明实施例公开的多核微控制单元的异常复位监控方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种多核微控制单元的异常复位监控方法,其特征在于,包括:
在检测到多核微控制单元中某一个处理核进入异常程序分支之后,获取相应程序异常现场的异常程序信息,所述异常程序信息包括异常地址信息、异常时间信息、异常类别信息、异常核来源信息、异常程序等级中的一种或者多种;
获取与所述异常程序信息关联当前处理核身份信息,将所述处理核身份信息以及异常程序信息写入非清随机存取存储器的指定存储区域,并执行微控制单元复位操作,其中,所述非清随机存取存储器指的是复位不清除RAM,所述非清随机存取存储器中指定存储区域被配置为在进行微控制单元软件复位之后,所述指定存储区域内的数据仍保持为复位前的存储数据。
2.如权利要求1所述的多核微控制单元的异常复位监控方法,其特征在于,在所述执行微控制单元复位操作之前,还包括:
将异常标识位置的标志状态调整为第一状态,所述标志状态包括第一状态和第二状态。
3.如权利要求2所述的多核微控制单元的异常复位监控方法,其特征在于,在所述获取与所述异常程序信息关联当前处理核身份信息之后,还包括:
根据循环校验算法来计算所述处理核身份信息以及异常程序信息的第一校验数值,将所述第一校验数值写入非清随机存取存储器的指定存储区域。
4.如权利要求3所述的多核微控制单元的异常复位监控方法,其特征在于,在所述执行微控制单元复位操作之后,还包括:
在主处理核处获取所述非清随机存取存储器的指定存储区域的处理核身份信息以及异常程序信息;
在主处理核处根据循环校验算法来计算所述处理核身份信息以及异常程序信息的第二校验数值,并将所述第二校验数值与存储在非清随机存取存储器中的第一校验数值进行比对,在比对通过之后,根据处理核身份信息、异常程序信息以及设定条件来确定相应的故障诊断代码以及快照信息;
将所述故障诊断代码以及快照信息传输至诊断事件管理模块以使得用户通过诊断接口来获取相应的故障诊断代码。
5.如权利要求1-4中任意一项所述的多核微控制单元的异常复位监控方法,其特征在于,在所述检测到多核微控制单元中某一个处理核进入异常程序分支之后,还包括:
根据所述异常程序分支来确定异常类别信息;所述异常类别信息至少有两个;
根据所述异常类别信息来确定异常程序等级,其中,各个异常类别信息与异常程序等级之间存在有固定的映射关系;
当检测到异常程序等级为第一异常等级时,则在寄存器EIPC获取第一异常地址信息以及在寄存器EIIC获取第一异常原因码;
当检测到异常程序等级为第二异常等级时,分别在寄存器FEPC获取第二异常地址信息和在寄存器FEIC获取第二异常原因码。
6.如权利要求1-4中任意一项所述的多核微控制单元的异常复位监控方法,其特征在于,所述异常时间信息通过如下步骤获取得到:
在进入异常程序分支之后获取系统时间信息,并将所述系统时间信息确定为异常时间信息,所述异常时间信息为异常时的时间戳信息。
7.如权利要求1所述的多核微控制单元的异常复位监控方法,其特征在于,所述指定存储区域的空间大小至少为200字节;所述非清随机存取存储器被配置为多核微控制单元共享。
8.一种多核微控制单元的异常复位监控装置,其特征在于,包括:
获取模块:用于在检测到多核微控制单元中某一个处理核进入异常程序分支之后,获取相应程序异常现场的异常程序信息,所述异常程序信息包括异常地址信息、异常时间信息、异常类别信息、异常核来源信息、异常程序等级中的一种或者多种;
存储模块:用于获取与所述异常程序信息关联当前处理核身份信息,将所述处理核身份信息以及异常程序信息写入非清随机存取存储器的指定存储区域,并执行微控制单元复位操作,其中,所述非清随机存取存储器指的是复位不清除RAM,所述非清随机存取存储器中指定存储区域被配置为在进行微控制单元软件复位之后,所述指定存储区域内的数据仍保持为复位前的存储数据。
9.一种电子设备,其特征在于,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行权利要求1至7任一项所述的多核微控制单元的异常复位监控方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机程序,其中,所述计算机程序使得计算机执行权利要求1至7任一项所述的多核微控制单元的异常复位监控方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311188128.0A CN116932334B (zh) | 2023-09-15 | 2023-09-15 | 多核微控制单元的异常复位监控方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311188128.0A CN116932334B (zh) | 2023-09-15 | 2023-09-15 | 多核微控制单元的异常复位监控方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116932334A CN116932334A (zh) | 2023-10-24 |
CN116932334B true CN116932334B (zh) | 2023-11-28 |
Family
ID=88384703
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311188128.0A Active CN116932334B (zh) | 2023-09-15 | 2023-09-15 | 多核微控制单元的异常复位监控方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932334B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040194080A1 (en) * | 2002-12-05 | 2004-09-30 | Srinivas Rao | System and method for software download to wireless communication device |
US20210173992A1 (en) * | 2018-10-22 | 2021-06-10 | Acetec Semiconductor Co. Ltd. | Fpga chip-based handler simulation test system and a test method |
CN114077512A (zh) * | 2020-08-21 | 2022-02-22 | 华为技术有限公司 | 一种异常复位的处理方法、异常处理装置及存储介质 |
CN114416637A (zh) * | 2021-12-30 | 2022-04-29 | 山东云海国创云计算装备产业创新中心有限公司 | 一种soc芯片复位处理方法、装置、soc芯片及介质 |
-
2023
- 2023-09-15 CN CN202311188128.0A patent/CN116932334B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040194080A1 (en) * | 2002-12-05 | 2004-09-30 | Srinivas Rao | System and method for software download to wireless communication device |
US20210173992A1 (en) * | 2018-10-22 | 2021-06-10 | Acetec Semiconductor Co. Ltd. | Fpga chip-based handler simulation test system and a test method |
CN114077512A (zh) * | 2020-08-21 | 2022-02-22 | 华为技术有限公司 | 一种异常复位的处理方法、异常处理装置及存储介质 |
CN114416637A (zh) * | 2021-12-30 | 2022-04-29 | 山东云海国创云计算装备产业创新中心有限公司 | 一种soc芯片复位处理方法、装置、soc芯片及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116932334A (zh) | 2023-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10013298B2 (en) | Enhanced dump data collection from hardware fail modes | |
CN107239389B (zh) | 一种在混合app中确定用户操作记录的方法及装置 | |
US11392461B2 (en) | Method and apparatus for processing information | |
JP2557180B2 (ja) | ソフトウェア例外条件に対する選択的データ捕獲方法 | |
CN100472471C (zh) | 一种计算机操作系统故障现场信息获取的系统和方法 | |
US8977895B2 (en) | Multi-core diagnostics and repair using firmware and spare cores | |
WO2021244535A1 (zh) | 车辆软件故障检测方法、装置、设备及存储介质 | |
CN110413432B (zh) | 一种信息处理方法、电子设备及存储介质 | |
JP3481737B2 (ja) | ダンプ採取装置およびダンプ採取方法 | |
CN111414268A (zh) | 故障处理方法、装置及服务器 | |
Lee et al. | Measurement-based evaluation of operating system fault tolerance | |
CN115935631A (zh) | 用于车机设备的测试系统和方法、存储介质 | |
EP3534259B1 (en) | Computer and method for storing state and event log relevant for fault diagnosis | |
CN112231130A (zh) | 一种根据日志定位故障的方法、系统、设备及介质 | |
CN116340053A (zh) | 系统崩溃的日志处理方法、装置、计算机设备和介质 | |
CN114385418A (zh) | 通信设备的保护方法、装置、设备和存储介质 | |
CN116932334B (zh) | 多核微控制单元的异常复位监控方法及装置 | |
CN109086162B (zh) | 一种内存诊断方法和装置 | |
CN111694724B (zh) | 分布式表格系统的测试方法、装置、电子设备及存储介质 | |
CN116450398A (zh) | 异常回溯方法、装置、设备和介质 | |
CN115292082A (zh) | 一种处理BIOS启动过程中Assert宕机故障的方法及系统 | |
CN116266150A (zh) | 一种业务恢复方法、数据处理单元及相关设备 | |
CN111240898B (zh) | 一种基于Hypervisor的黑匣子实现方法及系统 | |
CN113064750A (zh) | 一种bios日志信息的追踪方法、装置和介质 | |
CN113392006A (zh) | 一种使用capsys监控自动化测试日志的方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |