DE102019208129A1 - Electronic control unit - Google Patents

Electronic control unit Download PDF

Info

Publication number
DE102019208129A1
DE102019208129A1 DE102019208129.0A DE102019208129A DE102019208129A1 DE 102019208129 A1 DE102019208129 A1 DE 102019208129A1 DE 102019208129 A DE102019208129 A DE 102019208129A DE 102019208129 A1 DE102019208129 A1 DE 102019208129A1
Authority
DE
Germany
Prior art keywords
address
program
instruction
control unit
electronic control
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.)
Granted
Application number
DE102019208129.0A
Other languages
German (de)
Other versions
DE102019208129B4 (en
Inventor
Eiji Matsuoka
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of DE102019208129A1 publication Critical patent/DE102019208129A1/en
Application granted granted Critical
Publication of DE102019208129B4 publication Critical patent/DE102019208129B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Eine elektronische Steuereinheit, die einen Unterbrechungserzeugungsabschnitt und einen Adresseinrichtungsabschnitt beinhaltet, ist vorgesehen. Der Unterbrechungserzeugungsabschnitt (S20) ist konfiguriert, um eine Unterbrechung zum Ausführen einer Ausnahmeverarbeitung zum Unterbrechen eines Programms in Antwort auf ein Auftreten eines Zugriffsfehlers beim Zugreifen auf eine Ressource durch eine erste Anweisung des ausgeführten Programms zu erzeugen. Der Adresseinrichtungsabschnitt (S25) ist konfiguriert, um eine Rückkehradresseinrichtung in einer Zeitperiode von, wenn die Unterbrechung erzeugt wird, bis, wenn das Programm, dass aufgrund der erzeugten Unterbrechung unterbrochen wurde, wieder ausgeführt wird, durchzuführen. Die Rückkehradresseinrichtung dient zum festgelegen einer Rückkehradresse, bei der das Programm, das unterbrochen wurde, wieder ausgeführt wird, so dass die Rückkehradresse als eine Adresse einer zweiten Anweisung festgelegt wird, die in dem Programm nach der ersten Anweisung auszuführen ist, die beim Auftreten des Zugriffsfehlers ausgeführt wurde.

Figure DE102019208129A1_0000
An electronic control unit including an interruption generation section and an addresser section is provided. The interruption generation section (S20) is configured to generate an interruption for executing exception processing for interrupting a program in response to occurrence of an access error in accessing a resource by a first instruction of the executed program. The address setting section (S25) is configured to perform return address recovery in a time period from when the interruption is generated to when the program that was interrupted due to the generated interruption is re-executed. The return address means is to set a return address at which the program which has been interrupted is executed again, so that the return address is set as an address of a second instruction to be executed in the program after the first instruction which occurs upon occurrence of the access error was executed.
Figure DE102019208129A1_0000

Description

Technisches GebietTechnical field

Die vorliegende Offenbarung betrifft eine elektronische Steuereinheit.The present disclosure relates to an electronic control unit.

Hintergrundbackground

Eine herkömmliche Fahrzeugsteuereinheit, die in Patentdokument 1 offenbart ist, beinhaltet einen nichtflüchtigen Speicher, der elektrisch löschbar und wiederbeschreibbar ist. Eine derartige Steuereinheit führt eine Fehlererfassung von Aktualisierungsdaten durch, die von dem nichtflüchtigen Speicher bei der Inbetriebnahme gelesen werden, und führt ein Rücksetzen nach Sichern von Fehlerinformationen durch, wenn ein Fehler erfasst wird. Beim Bestimmen, dass die Aktualisierungsdaten eine Abnormalität beim Neustarten aufgrund des Rücksetzens haben, basierend auf den Fehlerinformationen, überschreibt die Fahrzeugsteuereinheit die Aktualisierungsdaten mit einem festen Wert vor einer Fehlererfassung.A conventional vehicle control unit disclosed in Patent Document 1 includes a nonvolatile memory that is electrically erasable and rewritable. Such a control unit performs error detection of update data read from the nonvolatile memory at start-up, and performs reset after saving error information when an error is detected. In determining that the update data has an abnormality in restarting due to the reset based on the error information, the vehicle control unit overwrites the update data with a fixed value before error detection.

Patentdokument 1: JP 2014-35730A Patent document 1: JP 2014-35730A

Überblickoverview

Wie vorstehend beschrieben ist, kann die Fahrzeugsteuereinheit verhindern, dass das Rücksetzen und die Fehlererfassung in dem Zustand wiederholt werden, in dem die Aktualisierungsdaten, die die Abnormalität aufweisen, weiterhin vorliegen. In anderen Worten kann die Fahrzeugsteuereinheit das Wiederholen des Unterbrechens zum Ausführen von Ausnahmeverarbeitungen, wenn ein Fehler erfasst wird, unterdrücken. Jedoch schreibt die Fahrzeugsteuereinheit den festen Wert auf die Aktualisierungsdaten, die eine Abnormalität aufweisen, in dem nichtflüchtigen Speicher. Derartiges Schreiben des festen Werts in den nichtflüchtigen Speicher benötigt eine Zeit, um eine Verschlechterung der Verarbeitungsleistung zu involvieren.As described above, the vehicle control unit can prevent the resetting and the failure detection from being repeated in the state where the update data having the abnormality continues to exist. In other words, the vehicle control unit can suppress the repetition of the interruption for executing exception processing when an error is detected. However, the vehicle control unit writes the fixed value to the update data having an abnormality in the nonvolatile memory. Such writing of the fixed value to the non-volatile memory takes a time to involve deterioration of the processing power.

Es ist eine Aufgabe der vorliegenden Offenbarung eine elektronische Steuereinheit bereitzustellen, die verhindern kann, dass eine Unterbrechung zum Ausführen einer Ausnahmeverarbeitung wiederholt wird, während Verschlechterung von Verarbeitungsleistung unterdrückt wird.It is an object of the present disclosure to provide an electronic control unit that can prevent an interrupt from being repeated to execute exception processing while suppressing deterioration of processing performance.

Um die vorstehende Aufgabe zu lösen, wird gemäß einem Beispiel der vorliegenden Offenbarung eine elektronische Steuereinheit bereitgestellt, die einen Unterbrechungserzeugungsabschnitt und einen Adresseinrichtungsabschnitt beinhaltet. Der Unterbrechungserzeugungsabschnitt ist konfiguriert, um eine Unterbrechung zum Ausführen einer Ausnahmeverarbeitung zum Unterbrechen eines Programms in Antwort auf ein Auftreten eines Zugriffsfehlers beim Zugreifen auf eine Ressource, dadurch, dass eine erste Anweisung des Programms ausgeführt wird, zu erzeugen. Der Adresseinrichtungsabschnitt ist konfiguriert, um eine Rückkehradresseinrichtung in einer Zeitperiode von, wenn die Unterbrechung erzeugt wird, bis, wenn das Programm, dass aufgrund der erzeugten Unterbrechung unterbrochen wurde, wieder ausgeführt wird, auszuführen. Die Rückkehradresseinrichtung dient zum Einrichten einer Rückkehradresse, bei der das Programm, das unterbrochen wurde, wieder ausgeführt wird, so dass die Rückkehradresse festgelegt wird, um eine Adresse einer zweiten Anwendung zu sein, die in dem Programm nach der ersten Anweisung auszuführen ist, die beim Auftreten des Zugrifffehlers ausgeführt wurde.In order to achieve the above object, according to an example of the present disclosure, there is provided an electronic control unit including an interruption generation section and an addresser section. The interrupt generation section is configured to generate an interruption for executing exception processing for interrupting a program in response to occurrence of an access error in accessing a resource by executing a first instruction of the program. The address setting section is configured to execute a return address recovery device in a period of time from when the interruption is generated to when the program that was interrupted due to the generated interruption is re-executed. The return address means is for establishing a return address at which the program which has been interrupted is executed again, so that the return address is set to be an address of a second application to be executed in the program after the first instruction to be executed Occurrence of the access error was executed.

Mit der vorstehenden Konfiguration des Beispiels der vorliegenden Offenbarung wird die Rückkehradresse auf eine Adresse einer zweiten Anweisung festgelegt, die in dem Programm nach der ersten Anweisung auszuführen ist, die eine Anweisung zur Zeit des Auftretens des Fehlers ist. Dies kann wiederholte Unterbrechung zum Ausführen einer Ausnahmeverarbeitung verhindern. Das heißt die vorliegende Offenbarung kann verhindern, dass eine Unterbrechung zum Ausführen der Ausnahmeverarbeitung wiederholt wird, ohne dass ein fester Wert in der nichtflüchtigen Speichereinheit geschrieben wird, wenn ein Fehler auftritt. Demnach kann die vorliegende Offenbarung Verschlechterung einer Verarbeitungsleistung aufgrund eines Bedarfs der Zeit zum Überschreiben unterdrücken.With the above configuration of the example of the present disclosure, the return address is set to an address of a second instruction to be executed in the program after the first instruction, which is an instruction at the time the error occurred. This can prevent repeated interruption to execute exception processing. That is, the present disclosure can prevent an interrupt from executing the exception processing from being repeated without writing a fixed value in the non-volatile memory unit when an error occurs. Accordingly, the present disclosure can suppress deterioration in processing performance due to a need for the time to be overwritten.

Figurenlistelist of figures

Die vorstehenden und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Offenbarung werden aus der nachfolgenden detaillierten Beschreibung in Zusammenschau mit den Zeichnungen ersichtlicher.The foregoing and other objects, features and advantages of the present disclosure will become more apparent from the following detailed description taken in conjunction with the drawings.

Es zeigen:

  • 1 ein Blockschaubild, das eine schematische Konfiguration einer elektronischen Steuereinheit gemäß einer ersten Ausführungsform darstellt;
  • 2 ein Diagramm, das eine schematische Konfiguration eines Speichers gemäß der ersten Ausführungsform darstellt;
  • 3 ein Ablaufdiagramm, das eine Ausführungsverarbeitung durch eine Speicherzugriffsanweisung der elektronischen Steuereinheit gemäß der ersten Ausführungsform darstellt;
  • 4 ein Ablaufdiagramm, das eine Ausnahmeunterbrechungsverarbeitung durch die elektronische Steuereinheit gemäß der ersten Ausführungsform darstellt;
  • 5 ein Ablaufdiagramm, das eine Faktorbestimmungsverarbeitung durch die elektronische Steuereinheit gemäß der ersten Ausführungsform darstellt;
  • 6 ein Ablaufdiagramm, das eine Ausnahmeverarbeitung durch die elektronische Steuereinheit gemäß der ersten Ausführungsform darstellt;
  • 7 ein Ablaufdiagramm, das eine Sicherungsergebnisbestätigungsverarbeitung durch die elektronische Steuereinheit gemäß der ersten Ausführungsform darstellt;
  • 8 ein Ablaufdiagramm, das eine Sicherungsüberprüfungsverarbeitung durch die elektronische Steuereinheit gemäß der ersten Ausführungsform darstellt;
  • 9 ein Ablaufdiagramm, das eine Datenkopier- und Vergleichsüberprüfungsverarbeitung durch die elektronische Steuereinheit gemäß der ersten Ausführungsform darstellt;
  • 10 ein Zeitdiagramm, das Operationen der elektronischen Steuereinheit gemäß der ersten Ausführungsform darstellt;
  • 11 ein Ablaufdiagramm, das eine Faktorbestimmungsverarbeitung durch eine elektronische Steuereinheit gemäß einer zweiten Ausführungsform darstellt;
  • 12 ein Ablaufdiagramm, das eine Ausnahmeverarbeitung durch die elektronische Steuereinheit gemäß der zweiten Ausführungsform darstellt;
  • 13 ein Ablaufdiagramm, das eine Faktorbestimmungsverarbeitung durch eine elektronische Steuereinheit gemäß einer dritten Ausführungsform darstellt;
  • 14 ein Ablaufdiagramm, das eine Ausnahmeverarbeitung durch die elektronische Steuereinheit gemäß der dritten Ausführungsform darstellt; und
  • 15 ein Ablaufdiagramm, das eine Ausnahmeunterbrechungsverarbeitung durch eine elektronische Steuereinheit gemäß einer vierten Ausführungsform darstellt.
Show it:
  • 1 1 is a block diagram illustrating a schematic configuration of an electronic control unit according to a first embodiment;
  • 2 a diagram illustrating a schematic configuration of a memory according to the first embodiment;
  • 3 14 is a flowchart showing execution processing by a memory access instruction of the electronic control unit according to the first embodiment;
  • 4 a flowchart showing an exception interrupt processing by the electronic control unit according to the first embodiment;
  • 5 14 is a flowchart illustrating factor determination processing by the electronic control unit according to the first embodiment;
  • 6 a flowchart illustrating exception processing by the electronic control unit according to the first embodiment;
  • 7 14 is a flowchart illustrating backup result confirmation processing by the electronic control unit according to the first embodiment;
  • 8th 14 is a flowchart illustrating fuse check processing by the electronic control unit according to the first embodiment;
  • 9 a flowchart illustrating data copy and comparison check processing by the electronic control unit according to the first embodiment;
  • 10 10 is a timing chart illustrating operations of the electronic control unit according to the first embodiment;
  • 11 14 is a flowchart illustrating factor determination processing by an electronic control unit according to a second embodiment;
  • 12 a flowchart illustrating exception processing by the electronic control unit according to the second embodiment;
  • 13 14 is a flowchart illustrating factor determination processing by an electronic control unit according to a third embodiment;
  • 14 a flowchart illustrating exception processing by the electronic control unit according to the third embodiment; and
  • 15 14 is a flowchart illustrating exception interrupt processing by an electronic control unit according to a fourth embodiment.

Detaillierte BeschreibungDetailed description

Nachfolgend werden Ausführungsformen zum Implementieren der vorliegenden Offenbarung gemäß den Zeichnungen beschrieben. In jeder Ausführungsform sind Abschnitte entsprechend denen, die in der vorhergehenden Ausführungsform beschrieben sind, mit dem gleichen Bezugszeichen versehen und redundante Beschreibungen werden in manchen Fällen weggelassen. In jeder Ausführungsform kann in einem Fall, in dem nur ein Teil der Konfiguration beschrieben wird, der andere Teil der Konfiguration mit Bezug auf die vorhergehende Ausführungsform angewandt werden.Embodiments for implementing the present disclosure according to the drawings are described below. In each embodiment, portions corresponding to those described in the previous embodiment are given the same reference numerals and redundant descriptions are omitted in some cases. In each embodiment, in a case where only part of the configuration is described, the other part of the configuration with respect to the previous embodiment can be applied.

(Erste Ausführungsform)(First embodiment)

Die vorliegende Ausführungsform setzt beispielsweise eine elektronische Steuereinheit 100 ein, die in einem Fahrzeug montiert ist und fahrzeuginterne Vorrichtungen steuert. Jedoch ist die vorliegende Offenbarung nicht darauf beschränkt. Die elektronische Steuereinheit 100 kann eine Vorrichtung steuern, die sich von den fahrzeuginternen Vorrichtungen unterscheidet.For example, the present embodiment employs an electronic control unit 100 a mounted in a vehicle and controls in-vehicle devices. However, the present disclosure is not limited thereto. The electronic control unit 100 may control a device other than the in-vehicle devices.

Die elektronische Steuereinheit 100 beinhaltet mindestens eine Verarbeitungseinheit (CPU) und mindestens eine Speichervorrichtung (MMR) als ein Speichermedium zum Speichern von Programmen und Daten. Die elektronische Steuereinheit 100 ist durch einen Mikrocomputer einschließlich eines nichtflüchtigen, computerlesbaren Speichermediums, das computerlesbare Programme speichert, vorgesehen. Das Speichermedium kann als ein Halbleiterspeicher, ein Magnetplattenspeicher oder dergleichen bereitgestellt werden. Die elektronische Steuereinheit 100 kann durch einen Computer oder eine Gruppe von Computerressourcen bereitgestellt werden, die mittels einer Datenkommunikationsvorrichtung verknüpft sind. Das Programm, das durch die elektronische Steuereinheit 100 ausgeführt wird, erlaubt der elektronischen Steuereinheit 100 (i), als eine Vorrichtung, die in dieser Beschreibung beschrieben ist, zu funktionieren, und (ii) ein Verfahren auszuführen, das in dieser Beschreibung beschrieben ist. Die elektronische Steuereinheit 100 stellt mehrere Funktionen unter Verwendung oder durch Beinhalten mehrerer (elementarer) Abschnitte bereit. Ferner, wie später beschrieben ist, beinhaltet jedes Ablaufdiagramm, dass durch die elektronische Steuereinheit 100 ausgeführt wird, mehrere Abschnitte (oder Schritte) zum Bereitstellen jeweiliger Funktionen. So ein Abschnitt (oder Schritt) ist durch eine Abkürzung mit S ausgedrückt und die Abschnitts-/Schrittnummer ist beispielsweise als S10 in 3 oder dergleichen ausgedrückt. Ein einzelner dieser Abschnitte kann mit einem anderen kombiniert werden oder nach Bedarf in zwei oder mehr Abschnitte unterteilt werden. Zusätzlich kann ein einzelner dieser (elementaren) Abschnitte ebenso als ein elementarer Block, ein Modul, ein Mittel zum Ausführen einer Funktion oder dergleichen erreicht werden oder als solche bezeichnet werden.The electronic control unit 100 includes at least one processing unit (CPU) and at least one storage device (MMR) as a storage medium for storing programs and data. The electronic control unit 100 is provided by a microcomputer including a non-transitory computer readable storage medium storing computer readable programs. The storage medium may be provided as a semiconductor memory, a magnetic disk storage or the like. The electronic control unit 100 may be provided by a computer or a group of computer resources linked by means of a data communication device. The program by the electronic control unit 100 is executed, allows the electronic control unit 100 (i) to function as a device described in this specification, and (ii) to carry out a method described in this specification. The electronic control unit 100 provides multiple functions using or including multiple (elementary) sections. Further, as described later, each flowchart includes that by the electronic control unit 100 is executed, a plurality of sections (or steps) for providing respective functions. Such a section (or step) is expressed by an abbreviation of S, and the section / step number is exemplified as S10 in FIG 3 or the like. A single one of these sections may be combined with another or divided into two or more sections as needed. In addition, a single one of these (elementary) portions may also be reached or referred to as an elementary block, a module, a means for performing a function, or the like.

Insbesondere ist die elektronische Steuereinheit 100, die einen Mikrocomputer 10 und eine Eingabe-/Ausgabeschaltung 80 beinhaltet, elektrisch mittels der Eingabe-/Ausgabeschaltung 80 mit einem Kurbelwinkelsensor 210 und einem Injektor 220 verbunden. Die elektronische Steuereinheit 100 kann ein Sensorsignal dienend als ein fahrzeuginterner Sensor von dem Kurbelwinkelsensor 210 mittels der Eingabe-/Ausgabeschaltung 80 erlangen. Ferner kann die elektronische Steuereinheit 100 ein Steuersignal an den Injektor 220, der als eine fahrzeuginterne Vorrichtung dient, mittels der Eingabe-/Ausgabeschaltung 80 ausgeben. Demnach steuert die elektronische Steuereinheit 100 den Injektor 220 und dergleichen basierend auf einem Sensorsignal von dem Kurbelwinkelsensor 210 und dergleichen.In particular, the electronic control unit 100 that a microcomputer 10 and an input / output circuit 80 includes, electrically by means of the input / output circuit 80 with a Crank angle sensor 210 and an injector 220 connected. The electronic control unit 100 may serve a sensor signal as an in-vehicle sensor from the crank angle sensor 210 by means of the input / output circuit 80 gain. Furthermore, the electronic control unit 100 a control signal to the injector 220 serving as an in-vehicle device through the input / output circuit 80 output. Thus, the electronic control unit controls 100 the injector 220 and the like based on a sensor signal from the crank angle sensor 210 and the same.

Wie beispielsweise in 10 dargestellt ist, wenn der Zündungsschalter (IGSW) von Aus auf Ein eingeschaltet wird, operiert die elektronische Steuereinheit 100 mit bereitgestellter Operationsenergie. Die Operationsenergie für die elektronische Steuereinheit 100 kann ebenso als eine ECU-Energie bezeichnet werden.As for example in 10 shown, when the ignition switch (IGSW) is turned from off to on, the electronic control unit operates 100 with operational energy provided. The operational energy for the electronic control unit 100 can also be referred to as ECU energy.

In dem Beispiel von 10 schaltet die elektronische Steuereinheit 100 den IGSW von Aus auf Ein zur Zeit t1 und t4 und wird mit der ECU-Energie versorgt. Ferner, stoppt mit einem Ablauf einer vorbestimmten Zeitperiode, seit der IGSW zur Zeit t2 von Ein nach Aus geschaltet wird, die Versorgung der ECU-Energie an die elektronische Steuereinheit 100 zur Zeit t3. Die elektronische Steuereinheit 100 fährt eine Sicherungsüberprüfungsergebnisbestätigungsverarbeitung bei A in 10 aus und führt eine Sicherungsüberprüfungsverarbeitung bei B aus. Insbesondere bestätigt in der Sicherungsüberprüfungsergebnisbestätigungsverarbeitung zur Zeit t4 die elektronische Steuereinheit 100 das Ergebnis der Sicherungsüberprüfungsverarbeitung, die zwischen der Zeit t2 und der Zeit t3 ausgeführt wird. Dieser Punkt wird später im Detail beschrieben.In the example of 10 turns on the electronic control unit 100 the IGSW from off to on at time t1 and t4 and is supplied with the ECU energy. Further, with an elapse of a predetermined time period since the IGSW is switched from on to off at time t2, the supply of the ECU power to the electronic control unit stops 100 at time t3. The electronic control unit 100 A check check result confirming processing at A in FIG 10 and performs a backup verification processing at B. Specifically, in the backup verification result confirmation processing at time t4, the electronic control unit confirms 100 the result of the backup verification processing executed between the time t2 and the time t3. This point will be described later in detail.

Der Mikrocomputer 10 beinhaltet Verarbeitungseinheiten einschließlich eines ersten Kerns 21 und eines zweiten Kerns 22 und Speichervorrichtungen einschließlich eines RAM 30 und eines ROM 40. Der Mikrocomputer 10 beinhaltet ebenso einen I/O 70, der eine Schnittstelle (IF) zu der Eingabe-/Ausgabeschaltung 80 ist.The microcomputer 10 includes processing units including a first core 21 and a second core 22 and memory devices including RAM 30 and a ROM 40 , The microcomputer 10 also includes an I / O 70 that interfaces (IF) to the input / output circuit 80 is.

In der vorliegenden Ausführungsform beinhaltet der Mikrocomputer 10 ferner eine Speicherschutzeinheit 50 und eine ECC-Abnormalitätsinjektionseinheit 60. Jedoch muss die vorliegende Offenbarung nicht irgendeine Speicherschutzeinheit 50 und irgendeine ECC-Abnormalitätsinjektionseinheit 60 beinhalten. In dem Mikrocomputer 10 sind der erste Kern 21, der zweite Kern 22, das RAM 30, das ROM 40, die Speicherschutzeinheit 50, die ECC-Abnormalitätsinjektionseinheit 60 und der I/O 70 mittels eines Busses, der eine Kommunikationsverbindung darstellt, verbunden.In the present embodiment, the microcomputer includes 10 also a memory protection unit 50 and an ECC abnormality injection unit 60 , However, the present disclosure does not have to be any memory protection device 50 and any ECC abnormality injection unit 60 include. In the microcomputer 10 are the first core 21 , the second core 22 , the RAM 30 , the ROM 40 , the memory protection unit 50 , the ECC abnormality injection unit 60 and the I / O 70 by means of a bus, which represents a communication link.

Beispielsweise führen der erste Kern 21 und der zweite Kern 22, die jeweils unterschiedlichen Funktionen haben, eine arithmetische Verarbeitung gemäß Programmen, die in den ROM 40 gespeichert sind, unter Verwendung des RAM 30 als temporäre Speichereinheiten aus. Ferner führt jeder Kern 21, 22 eine Anweisung eines Programms aus und inkrementiert einen Programmzähler. Dann führt beispielsweise in der elektronischen Steuereinheit 100 jeder der Kerne 21 und 22 die arithmetische Verarbeitung aus, greift auf den I/O 70 zu, und steuert den Injektor 220 und dergleichen, die mit dem I/O 70 verbunden sind, und führt dadurch eine Brennkraftmaschinesteuerung aus.For example, the first core lead 21 and the second core 22 , each with different functions, arithmetic processing according to programs written in the ROM 40 are stored using the RAM 30 as temporary storage units. Furthermore, each core leads 21 . 22 a statement of a program and increments a program counter. Then, for example, leads in the electronic control unit 100 each of the cores 21 and 22 arithmetic processing, accesses the I / O 70 and controls the injector 220 and the like connected to the I / O 70, and thereby executes engine control.

Somit ist jeder der Kerne 21, 22 konfiguriert, um auf das RAM 30, das ROM 40 und den I/O 70 zugreifen zu können. Ferner kann gesagt werden, dass der Mikrocomputer 10 das RAM 30, das ROM 40 und den I/O 70 als Ressourcen beinhaltet. Ferner kann gesagt werden, dass jeder Kern 21, 22 auf jeweilige Ressourcen durch Ausführen einer Anweisung eines Programms zugreift.Thus, each of the cores 21 . 22 configured to access the RAM 30 , the ROM 40 and to access the I / O 70. Furthermore, it can be said that the microcomputer 10 the RAM 30 , the ROM 40 and the I / O 70 as resources. Furthermore, it can be said that every core 21 . 22 accesses respective resources by executing a statement of a program.

Es ist zu beachten, dass die vorliegende Offenbarung nicht darauf beschränkt ist und der erste Kern 21 und der zweite Kern 22 die gleichen Funktionen aufweisen können. Ferner kann die vorliegende Ausführungsform einen Mikrocomputer einschließlich eines Kerns oder einen Mikrocomputer einschließlich drei oder mehr Kernen einsetzen.It should be noted that the present disclosure is not limited thereto and the first core 21 and the second core 22 can have the same functions. Further, the present embodiment may employ a microcomputer including a core or a microcomputer including three or more cores.

Das RAM 30 ist eine flüchtige Speichereinheit, die temporär Rechenergebnisse der jeweiligen Kerne 21, 22 speichert. Das RAM 30 beinhaltet beispielsweise einen nicht geschützten Bereich 30a und einen geschützten Bereich 30b. Das ROM 40 ist ein nichtflüchtiges, greifbares Speichermedium wie ein Flashspeicher oder eine Festplatte, das nichttemporäre Programme und Daten speichert, die durch die Kerne 21, 22 gelesen werden können. Das ROM 40 entspricht einer nichtflüchtigen Speichereinheit. Das ROM 40 kann ebenso als Daten-Flash bezeichnet werden.The RAM 30 is a volatile memory unit, the temporary calculation results of the respective cores 21 . 22 stores. The RAM 30 includes, for example, an unprotected area 30a and a protected area 30b , The ROM 40 is a non-volatile, tangible storage medium such as flash memory or a hard disk that stores non-temporary programs and data through the cores 21 . 22 can be read. The ROM 40 corresponds to a non-volatile storage unit. The ROM 40 can also be called data flash.

Es ist zu beachten, dass das RAM 30 und das ROM 40 als unterschiedliche Bereiche in der Speichervorrichtung betrachtet werden können. Das heißt, dass RAM 30 kann als flüchtiger Bereich in der Speichervorrichtung betrachtet werden. Andererseits kann das ROM 40 als nichtflüchtiger Bereich in der Speichervorrichtung betrachtet werden.It should be noted that the RAM 30 and the ROM 40 can be considered as different areas in the storage device. That is, RAM 30 can be considered as a volatile area in the storage device. On the other hand, the ROM 40 be considered as a nonvolatile area in the storage device.

2 zeigt Beispiele der Konfigurationen des RAM 30 und des ROM 40. Das RAM 30 beinhaltet Radd zum Speichern der Adressen des RAMS 30, Fadd zum Speichern der Adressen des ROM 40, Status zum Speichern des Operationsstatus, einen nicht verwendeten Bereich und einen Pufferbereich. Der Pufferbereich enthält Pufferbereich für die Sicherung. In der folgenden Beschreibung kann in manchen Fällen Puffer als ein Puffer bezeichnet werden. 2 shows examples of the configurations of the RAM 30 and the ROM 40 , The RAM 30 includes Radd for storing the addresses of the RAM 30 , Fadd for storing the addresses of the ROM 40 , Status for storing the operation status, an unused area and a buffer area. The buffer area contains buffer space for the backup. In the following description, in some cases, buffers may be referred to as a buffer.

Das ROM 40 beinhaltet einen Speicherbereich für das Sicherungsüberprüfungsergebnis, einen Speicherbereich für das Sicherungsüberprüfungsendflag, einen Speicherbereich für das Überprüfungsergebnis, einen nicht verwendeten Bereich und einen Sicherungsbereich. Der Speicherbereich des Überprüfungsergebnisses wird gespeichert, um mit einer Adresse und einem Abnormalitätstyp verknüpft zu sein. In dem RAM 30 und dem ROM 40 ist beispielsweise ein nicht verwendeter Bereich vorgesehen, jedoch muss ein nicht verwendeter Bereich nicht vorgesehen sein.The ROM 40 includes a storage area for the backup verification result, a storage area for the backup verification end flag, a storage area for the inspection result, an unused area, and a backup area. The storage area of the check result is stored to be associated with an address and an abnormality type. In the RAM 30 and the ROM 40 For example, if an unused area is provided, an unused area need not be provided.

Die Speicherschutzeinheit 50 führt Festlegen von Zugriffsattributen wie eines Lesen/Schreiben-Attributs und eines Nur-Lesen-Attributs in dem RAM 30 und Festlegen des nicht geschützten Bereichs 30a und des geschützten Bereichs 30b durch. Zusätzlich schützt die Speicherschutzeinheit 50 den Speicher durch Verwalten von Zugriffen von den Kernen 21, 22 auf das RAM 30 und das ROM 40. Beispielsweise führt die Speicherschutzeinheit 50 Zugriffsverwaltung gemäß dem Zugriffsattribut aus, dass für jeden Zugriff von dem Kern 21, 22 auf das ROM 30 festgelegt ist.The memory protection unit 50 results in setting access attributes such as a read / write attribute and a read-only attribute in the RAM 30 and setting the unprotected area 30a and the protected area 30b by. The memory protection unit also protects 50 the memory by managing accesses from the cores 21 . 22 on the RAM 30 and the ROM 40 , For example, the memory protection unit performs 50 Access management according to the access attribute from that for every access from the core 21 . 22 on the ROM 30 is set.

Die ECC-Abnormalitätsinjektionseinheit 60 führt Fehlerkorrektur und Bestätigung mit redundanten Bits für das RAM 30 und das ROM 40 aus. Die ECC-Abnormalitätsinjektionseinheit erzeugt einen ECC Fehler und bestätigt, dass die ECC Fehlerbestimmung aktiviert werden kann, wodurch bestätigt wird, dass der ECC Fehlerbestimmungsmechanismus korrekt operiert. Die ECC-Abnormalitätsinjektionseinheit 60 entspricht einer Injektionseinheit, die einen Fehlerkorrekturcode in das RAM 30 und das ROM 40 injiziert. ECC ist eine Abkürzung für „Error Correction Code“ (Fehlerkorrekturcode). Injizieren eines Fehlerkorrekturcodes kann ebenso als eine ECC-Abnormalitätsinjektion beschrieben sein. Es ist zu beachten, dass die elektronische Steuereinheit 100 nicht mit irgendeiner ECC-Abnormalitätsinjektionseinheit 60 versehen sein muss.The ECC Abnormality Injection Unit 60 performs error correction and confirmation with redundant bits for the RAM 30 and the ROM 40 out. The ECC abnormality injection unit generates an ECC error and confirms that the ECC fault determination can be activated, thereby confirming that the ECC fault determination mechanism is operating correctly. The ECC Abnormality Injection Unit 60 corresponds to an injection unit which injects an error correction code into the RAM 30 and the ROM 40 injected. ECC is an abbreviation for "Error Correction Code". Injecting an error correction code may also be described as an ECC abnormality injection. It should be noted that the electronic control unit 100 not with any ECC abnormality injection unit 60 must be provided.

Die Verarbeitungsoperation der elektronischen Steuereinheit 100 wird gemäß 3 bis 10 beschrieben. Wie vorstehend beschrieben ist, beinhaltet jedes Ablaufdiagramm mehrere Abschnitte oder Schritte zum Bereitstellen jeweiliger Funktionen. So ein Abschnitt oder Schritt ist durch Abkürzung mit S ausgedrückt und die Abschnitts-/Schrittnummer ist beispielsweise in 3 oder dergleichen als S10 ausgedrückt. Die Verarbeitung, die nachfolgend beschrieben wird, wird hauptsächlich durch irgendeinen des ersten Kerns 21 oder des zweiten Kerns 22 in der elektronischen Steuereinheit 100 ausgeführt. Die vorliegende Ausführungsform setzt ein Beispiel ein, das durch den ersten Kern 21 ausgeführt wird.The processing operation of the electronic control unit 100 is according to 3 to 10 described. As described above, each flowchart includes several sections or steps for providing respective functions. Such a section or step is expressed by abbreviating S, and the section / step number is, for example, in 3 or the like as S10 expressed. The processing described below becomes mainly by any one of the first core 21 or the second core 22 in the electronic control unit 100 executed. The present embodiment employs an example provided by the first core 21 is performed.

Als erstes werden gemäß 7 bis 10 Verarbeitungen bezüglich Datensicherung in dem ROM 40 beschrieben.First, according to 7 to 10 Data backup processing in the ROM 40 described.

Wenn beispielsweise der IGSW von Aus auf Ein schaltetet, führt der erste Kern 21 eine in dem Ablaufdiagramm von 7 dargestellte Verarbeitung aus. Der Kern 21, 22 der vorliegenden Ausführungsform führt die in dem Ablaufdiagramm von 7 dargestellte Verarbeitung zur Zeit t1 und t4 in 10 aus.For example, if the IGSW switches from off to on, the first core will run 21 one in the flowchart of 7 illustrated processing. The core 21 . 22 In the present embodiment, that in the flowchart of FIG 7 illustrated processing at time t1 and t4 in 10 out.

Bei S50 wird bestimmt, ob „Sicherungsüberprüfungsendflag = EIN“ erfüllt ist. Der erste Kern 21 überprüft den Speicherbereich des Sicherungsüberprüfungsendflags des ROMS 40, um zu bestimmen, ob es EIN ist. Wird es als EIN bestimmt, fährt die Verarbeitung mit S21 fort. Wenn es als nicht EIN bestimmt wird, fährt die Verarbeitung mit S53 fort.at S50 it is determined whether “backup check end flag = ON” is satisfied. The first core 21 checks the memory area of the backup check end flag of the ROMS 40 to determine if it is ON. If it is determined to be ON, the processing moves with it S21 continued. If it is determined not to be ON, the processing goes along S53 continued.

Bei S51 wird bestimmt, ob es einen Wert in dem Sicherungsüberprüfungsergebnisspeicherbereich gibt. Das heißt, der erste Kern 21 bestimmt, ob es einen Wert in dem Speicherbereich des Sicherungsüberprüfungsergebnisses des ROM 40 gibt. Wird bestimmt, dass dort ein Wert ist, fährt die Verarbeitung mit S52 fort. Wenn nicht, fährt die Verarbeitung mit S53 fort.at S51 it is determined whether there is a value in the backup check result storage area. That is, the first core 21 determines whether there is a value in the memory area of the backup check result of the ROM 40 gives. If it is determined that there is a value, the processing moves along S52 continued. If not, the processing goes with it S53 continued.

Bei S52 legt der erste Kern 21 eine Abnormalität in dem Speicherbereich des Sicherungsüberprüfungsergebnisses fest. Bei S53 löscht der erste Kern 21 das Sicherungsüberprüfungsendflag (setzt das Sicherungsüberprüfungsendflag auf AUS).at S52 lays the first nucleus 21 an abnormality in the storage area of the backup check result. at S53 deletes the first core 21 the backup check end flag (sets the backup check end flag to OFF).

Wenn beispielsweise der IGSW EIN ist, führt der erste Kern 21 wiederholt eine in dem Ablaufdiagramm von 8 dargestellte Verarbeitung mit vorbestimmten Zeitintervallen aus.For example, if the IGSW is ON, the first core will run 21 repeats one in the flowchart of 8th shown processing with predetermined time intervals.

Bei S60 wird bestimmt, ob „IGSW = AUS“ erfüllt ist. Der erste Kern 21 bestimmt, ob der IGSW AUS ist, um zu bestimmen, ob die Sicherungsüberprüfungsverarbeitung auszuführen ist. Wird bestimmt, dass der IGSW AUS ist, fährt der erste Kern 21 mit S61 fort, um die Sicherungsüberprüfungsverarbeitung auszuführen. Andererseits, wenn nicht bestimmt wird, dass der IGSW AUS ist, nimmt der erste Kern 21 an, dass die Zeit zum Ausführen der Sicherungsüberprüfungsverarbeitung nicht vorliegt und beendet die Verarbeitung von 8.at S60 it is determined whether "IGSW = OFF" is satisfied. The first core 21 determines whether the IGSW is OFF to determine whether to perform the backup verification processing. If it is determined that the IGSW is OFF, the first core moves 21 With S61 to execute the backup verification processing. On the other hand, if it is not determined that the IGSW is OFF, the first core takes 21 that the time for executing the backup verification processing is not present and terminates the processing of 8th ,

In S61 führt der erste Kern 21 eine Datenkopier- und Vergleichsüberprüfungsverarbeitung aus. Das heißt, der erste Kern 21 führt die Sicherungsüberprüfungsverarbeitung (Zeit t2 bis t3) aus. Die Datenkopier- und Vergleichsüberprüfungsverarbeitung wird später gemäß 9 beschrieben.In S61 leads the first core 21 data copy and comparison check processing. That is, the first core 21 executes the backup check processing (time t2 to t3). The data copy and comparison check processing will be done later according to 9 described.

Bei S62 schaltet der erste Kern 21 die ECU-Energie aus. Das heißt, wenn die Sicherungsüberprüfungsverarbeitung abgeschlossen ist, schaltet der erste Kern 21 die ECU-Energie aus (Zeit t3). at S62 switches the first core 21 the ECU energy. That is, when the backup check processing is completed, the first core switches 21 the ECU energy from (time t3).

Gemäß 9 wird die Sicherungsüberprüfungsverarbeitung beschrieben.According to 9 the backup check processing is described.

Bei S621 wird eine Kopierstartadresse festgelegt. Der erste Kern 21 legt die Startadresse des Pufferbereichs auf Radd fest und legt die Startadresse des Sicherungsbereichs auf Fadd fest. Es ist zu beachten, dass der Pufferbereich hier den Pufferbereich zur Sicherung angibt.at S621 a copy start address is set. The first core 21 sets the start address of the buffer area to Radd and sets the start address of the backup area to Fadd. It should be noted that the buffer area here indicates the buffer area for the backup.

Bei S622 wird KOPIEREN in Status festgelegt. Der erste Kern 21 legt KOPIEREN als den Operationsstatus in Status fest.at S622 COPY is set in status. The first core 21 sets COPY as the operation status in status.

Bei S623 werden Daten kopiert (*Fadd<-*Radd). Der erste Kern 21 kopiert die Daten entsprechend der bei S621 festgelegten Adresse in das ROM 40. Das heißt, der erste Kern 21 kopiert die Daten des Sicherungspufferbereichs in den Sicherungsbereich des ROM 40. Während dieses Datenkopierens kann eine Ausnahmeunterbrechung aufgrund eines Zugriffsfehlers (ECC Fehler) auf das ROM 40 auftreten. Eine Ausnahmeunterbrechung ist eine Unterbrechung zum Ausführen einer Verarbeitung, wenn ein Fehler ungleich einer normalen Verarbeitung gemäß eines Prorgrammzählers auftritt.at S623 data is copied (* Fadd <- * Radd). The first core 21 copies the data to the ROM according to the address specified at S621 40 , That is, the first core 21 copies the data of the backup buffer area into the backup area of the ROM 40 , During this data copying, an exception interrupt due to an access error (ECC error) on the ROM 40 occur. An exception interrupt is an interrupt to execute processing when an error other than normal processing according to a program counter occurs.

Bei S624 wird LESEN in Status festgelegt. Der erste Kern 21 legt LESEN als den Operationsstatus in Status fest.at S624 READ is set in status. The first core 21 sets READ as the operation status in status.

Bei S625 werden Daten verglichen (*Fadd = *Radd?). Der erste Kern 21 vergleicht Daten entsprechend der Adresse im RAM 30 und dem ROM 40. Wird bestimmt, dass *Fadd = *Radd gilt, nimmt der erste Kern 21 an, dass es keine Datenabnormalität gibt und fährt mit S626 fort. Wird bestimmt, dass *Fadd = *Radd gilt, wird angenommen, dass es eine Möglichkeit einer Datenabnomalität gibt, und die Verarbeitung fährt mit S629 fort. Beim Datenvergleich kann eine Ausnahmeunterbrechung aufgrund einer Zugriffsabnormalität (ECC-Abnormalität) auf das ROM 40 wie im Fall des Datenkopierens auftreten.at S625 are data compared (* Fadd = * Radd?). The first core 21 compares data according to the address in RAM 30 and the ROM 40 , If it is determined that * Fadd = * Radd holds, the first core takes 21 indicates that there is no data abnormality and proceeds to S626. If it is determined that * Fadd = * Radd, it is considered that there is a possibility of data abnormality, and the processing proceeds to S629. In the data comparison, an exception interrupt may be due to an access abnormality (ECC abnormality) on the ROM 40 as in the case of data copying.

Bei S626 wird Status gelöscht. Der erste Kern 21 legt Fadd+1 auf bzw. in Fadd und Radd+1 auf bzw. in Radd fest.at S626 status is deleted. The first core 21 sets Fadd + 1 to or in Fadd and Radd + 1 to or in Radd.

Bei S627 wird bestimmt, ob „Radd > letzte von Pufferbereich“ erfüllt ist. Der erste Kern 21 bestimmt, ob „Radd > letzte von Pufferbereich“ erfüllt ist, um zu bestimmen, ob Kopieren von allen der Daten abgeschlossen ist. Wenn der erste Kern 21 bestimmt, dass „Radd > letzte von Pufferbereich“ gilt, nimmt der erste Kern 21 an, dass Kopieren abgeschlossen ist, und fährt mit S628 fort. Bestimmt der erste Kern 21 nicht, dass „Radd > letzte von Pufferbereich“ gilt, nimmt der erste Kern 21 an, dass Kopieren nicht abgeschlossen ist, und fährt mit S622 fort.at S627 it is determined whether “Radd> last of buffer area” is fulfilled. The first core 21 determines whether "Radd> last from buffer area" is met to determine whether copying of all of the data is complete. If the first core 21 determines that "Radd> last from buffer area" applies, the first core takes 21 assumes that copying is complete and moves on S628 continued. Definitely the first core 21 the first kernel does not assume that "Radd> last from buffer area" applies 21 assumes that copying is not complete and moves on S622 continued.

Bei S628 setzt der erste Kern 21 das Sicherungsüberprüfungsendflag.at S628 sets the first core 21 the backup check end flag.

Ist die Bestimmung bei S625 NEIN, führt der erste Kern 21 S629 aus. Bei S629 schreibt der erste Kern 21 Fadd als eine Adresse und VERIFIZIEREN als einen abnormalen Typ in den Speicherbereich des Sicherungsüberprüfungsergebnisses.The determination is at S625 NO, the first core leads 21 S629 out. at S629 the first core writes 21 Fadd as an address and VERIFY as an abnormal type in the memory area of the backup check result.

Somit kopiert der erste Kern 21 die Auswahl vom Start bis zum Ende des Sicherungspufferbereichs in das ROM 40 und führt dann Bestätigen (Vergleichen) durch Lesen, ob das ROM 40 korrekt geschrieben ist, aus.Thus, the first core copies 21 the selection from the start to the end of the fuse buffer area in the ROM 40 and then performs confirm (read) by reading whether the ROM 40 is written correctly out.

Als Nächstes wird gemäß 3 bis 6 eine Verarbeitung bezüglich einer Bestimmung einer Speicherzugriffsabnormalität beschrieben.Next, according to 3 to 6 describes processing related to determination of a memory access abnormality.

Jedes Mal, wenn der erste Kern 21 eine Anweisung ausführt, die Zugreifen auf den Speicher angibt, führt der erste Kern 21 eine in dem Ablaufdiagramm von 3 dargestellte Verarbeitung aus. Die vorliegende Ausführungsform setzt ein Beispiel zum Ausführen einer Verarbeitung ein, die in dem Ablaufdiagramm von 3 dargestellt ist, wenn er die Sicherungsüberprüfungsanweisung ausführt. Das heißt, der erste Kern 21 setzt ein Beispiel zum Ausführen der Verarbeitung, die in dem Ablaufdiagramm von 3 dargestellt ist, jedes Mal ein, wenn die Sicherungsüberprüfungsergebnisbestätigungsverarbeitung und die Sicherungsüberprüfungsverarbeitung ausgeführt werden.Every time the first core 21 executes an instruction specifying access to memory, the first core executes 21 one in the flowchart of 3 processing shown. The present embodiment uses an example of executing processing shown in the flowchart of FIG 3 is shown when he executes the backup check instruction. That is, the first core 21 sets an example of executing the processing shown in the flowchart of 3 is shown every time the backup check result confirmation processing and the backup check processing are executed.

Bei S10 wird bestimmt, ob der Speicherzugriff abnormal ist. Der erste Kern 21 und der zweite Kern 22 bestimmen, ob der Fehlerkorrekturcode des gelesenen Speichers normal oder nicht normal ist.at S10 it is determined whether the memory access is abnormal. The first core 21 and the second core 22 determine whether the error correction code of the read memory is normal or abnormal.

Basierend auf diesem Bestimmungsergebnis bestimmt der erste Kern 21, ob der Zugriff auf das ROM 40 abnormal ist. Dann, wenn bestimmt wird, dass der Zugriff abnormal ist, fährt der erste Kern 21 mit S20 fort. Wird nicht bestimmt, dass der Zugriff abnormal ist, fährt die Verarbeitung mit S30 fort.The first core determines on the basis of this determination result 21 whether access to the ROM 40 is abnormal. Then, if it is determined that the access is abnormal, the first core runs 21 With S20 continued. If it is not determined that the access is abnormal, processing continues S30 continued.

Bei S20 wird eine Ausnahmeunterbrechungsverarbeitung des Speicherzugriffs ausgeführt (das heißt, S20 funktioniert als ein Unterbrechungserzeugungsabschnitt). Tritt ein Zugriffsfehler beim Zugreifen auf das RAM 30 und das ROM 40 auf, erzeugt der erste Kern 21 eine Unterbrechung zum Ausführen einer Ausnahmeverarbeitung, die eine Verarbeitung ist, die zur Zeit eines Auftretens des Zugriffsfehlers ausgeführt wird.at S20 an exception interrupt processing of memory access is executed (that is, S20 works as an interrupt generation section). If an access error occurs while accessing the RAM 30 and the ROM 40 on, the first core generates 21 an interrupt to execute exception processing that is processing is that is executed at the time of occurrence of the access error.

Demnach wird in der vorliegenden Ausführungsform, wenn ein Zugriffsfehler beim Zugreifen auf das ROM 40 auftritt, eine Unterbrechung zum Ausführen einer Ausnahmeverarbeitung, die eine Verarbeitung am Zugriffsfehler ist, erzeugt.Accordingly, in the present embodiment, when an access error while accessing the ROM 40 occurs, an interrupt for executing exception processing, which is an access error processing, is generated.

Ungleich einer normalen Verarbeitung gemäß dem Programmzähler, kann gesagt werden, dass die Ausnahmeunterbrechungsverarbeitung ausgeführt wird, wenn ein Zugriffsfehler auftritt. Es kann gesagt werden, dass die Ausnahmeunterbrechungsverarbeitung eine Verarbeitung ist, die ausgeführt wird, während ein Ausführen eines Programms temporär unterbrochen wird, wenn ein Zugriffsfehler auftritt. Ferner kann gesagt werden, dass die Ausnahmeunterbrechungsverarbeitung eine Verarbeitung ist, die zur Zeit eines Auftretens eines Fehlers oder einer Verarbeitung zum Zurücksetzen des Mikrocomputers 10 ausgeführt wird. Beim Abschluss der Ausführung der Ausnahmeverarbeitung in der Ausnahmeunterbrechungsverarbeitung kehrt der erste Kern 21 zum unterbrochenen Programm zurück und führt eine Anweisung des Programms aus.Unlike normal processing according to the program counter, it can be said that the exception interrupt processing is carried out when an access error occurs. It can be said that the exception interrupt processing is processing that is executed while execution of a program is temporarily interrupted when an access error occurs. Furthermore, it can be said that the exception interrupt processing is processing that takes place at the time of an error or processing for resetting the microcomputer 10 is performed. When the execution of the exception processing in the exception interrupt processing is completed, the first core returns 21 back to the interrupted program and executes an instruction of the program.

Die vorliegende Ausführungsform setzt ein Beispiel zum Erzeugen einer Unterbrechung, wenn ein Zugriffsfehler beim Zugreifen auf das ROM 40 auftritt, das heißt, ein Beispiel zum Ausführen einer Ausnahmeunterbrechungsverarbeitung (das heißt, Funktionieren als ein Unterbrechungserzeugungsabschnitt) ein. Die Ausnahmeunterbrechungsverarbeitung wird später gemäß 4 erläutert.The present embodiment sets an example of generating an interrupt when an access error while accessing the ROM 40 occurs, that is, an example of executing exception interrupt processing (i.e., functioning as an interrupt generation section). The exception interrupt processing will be done later 4 explained.

Es ist zu beachten, dass der erste Kern 21 die Speicherzugriffsanweisung bei S30 ausführt und den Programmzähler bei S40 inkrementiert.It should be noted that the first core 21 the memory access statement S30 executes and program counter S40 incremented.

Der erste Kern 21 führt eine in dem Ablaufdiagramm von 4 dargestellte Verarbeitung als eine Ausnahmeunterbrechungsverarbeitung aus.The first core 21 leads one in the flowchart of 4 illustrated processing as an exception interrupt processing.

Bei S21 wird eine Verarbeitung zum Bestimmen eines Faktors eines Ausnahmeauftretens ausgeführt. Der erste Kern 21 bestimmt den Faktor des Ausnahmeauftretens, um zu bestimmen, ob eine beabsichtigte Ausnahme oder eine unbeabsichtigte Ausnahme auftritt. In anderen Worten bestimmt der erste Kern 21 den Faktor des Aufnahmeauftretens, um zu bestimmen, ob die Ausnahmeverarbeitung auszuführen ist oder der Mikrocomputer 10 zurückzusetzen ist. Es kann ebenso gesagt werden, dass der erste Kern 21 bestimmt, ob eine Unterbrechung aufgrund eines Fehlers, der ein Rücksetzen des Mikrocomputers 10 nicht erfordert, auftritt oder eine Unterbrechung aufgrund eines Fehlers, der Rücksetzen des Mikrocomputers 10 erfordert, auftritt. Es ist zu beachten, dass die Verarbeitung zum Bestimmen des Faktors des Aufnahmeauftretens ebenso als eine Faktorbestimmungsverarbeitung bezeichnet werden kann.at S21 processing for determining an exception occurrence factor is performed. The first core 21 determines the exception occurrence factor to determine whether an intended exception or an unintended exception occurs. In other words, the first core determines 21 the factor of the occurrence of the recording to determine whether the exception processing is to be carried out or the microcomputer 10 is to be reset. It can also be said that the first nucleus 21 determines whether an interruption due to an error causing a reset of the microcomputer 10 does not require, occurs or an interruption due to an error that resets the microcomputer 10 requires occurs. Note that the processing for determining the factor of the occurrence of admission can also be referred to as the factor determination processing.

Gemäß 5 wird eine Faktorbestimmungsverarbeitung beschrieben.According to 5 a factor determination processing will be described.

Bei S211 wird bestimmt, ob „Status = KOPIEREN oder LESEN“ erfüllt ist (das heißt, S211 als ein Adresseinrichtungsabschnitt funktioniert). Der erste Kern 21 überprüft den Status, wenn eine Unterbrechung auftritt. In anderen Worten, kann gesagt werden, dass der erste Kern 21 den Status bestätigt, wenn ein Fehler auftritt.at S211 it is determined whether "Status = COPY or READ" is fulfilled (that is, S211 functions as an address establishment section). The first core 21 checks the status when an interruption occurs. In other words, it can be said that the first core 21 confirms the status when an error occurs.

Wird bestimmt, dass „Status = KOPIEREN oder LESEN“ erfüllt ist, fährt der erste Kern 21 mit S212 fort. Wird nicht bestimmt, dass „Status = KOPIEREN oder LESEN“ erfüllt ist, fährt der erste Kern 21 mit S213 fort.If it is determined that "Status = COPY or READ" is fulfilled, the first core moves 21 With S212 continued. If it is not determined that "Status = COPY or READ" is fulfilled, the first core moves 21 With S213 continued.

Bei S212 wird bestimmt, dass eine beabsichtigte Ausnahme auftritt. Ist der Status KOPIEREN oder LESEN zur Zeit eines Auftretens einer Unterbrechung, wird das vorab festgelegte Zugriffsattribut erfüllt. In so einem Fall kann angenommen werden, dass das Zugreifen auf das ROM 40 aufgrund irgendeiner Abnormalität, die Rücksetzen des Mikrocomputers 10 nicht erfordert, fehlgeschlagen ist. Demnach bestimmt der erste Kern 21, dass eine beabsichtigte Aufnahme auftritt.at S212 it is determined that an intended exception occurs. If the status is COPY or READ at the time of occurrence of an interrupt, the preset access attribute is satisfied. In such a case, it can be assumed that accessing the ROM 40 due to some abnormality, resetting the microcomputer 10 not required, failed. Accordingly, the first core determines 21 that an intended recording occurs.

Bei S213 wird bestimmt, dass eine nicht beabsichtigte Ausnahme auftritt. Ist der Status nicht KOPIEREN oder LESEN beim Auftreten einer Unterbrechung, wird ein Zugriff auf einen Ort außer das ROM 40 angenommen. Da dies nicht das vorab festgelegte Zugriffsattribut erfüllt, kann angenommen werden, dass es notwendig ist den Mikrocomputer 10 zurückzusetzen. Demnach bestimmt der erste Kern 21, dass eine nicht beabsichtigte Ausnahme auftritt.at S213 it is determined that an unintended exception occurs. If the status is NOT COPY or READ when an interruption occurs, access to a location other than the ROM 40 accepted. Since this does not meet the predetermined access attribute, it can be assumed that the microcomputer is necessary 10 reset. Accordingly, the first core determines 21 that an unintended exception occurs.

Die vorliegende Ausführungsform setzt das vorstehende Beispiel einer Faktorbestimmungsverarbeitung ein. Jedoch ist die vorliegende Offenbarung nicht darauf beschränkt und eine andere Faktorbestimmungsverarbeitung kann eingesetzt werden. Das heißt, die Faktorbestimmungsverarbeitung unterscheidet sich abhängig vom Status des Zugriffsfehlers und dergleichen.The present embodiment employs the above example of factor determination processing. However, the present disclosure is not limited thereto, and other factor determination processing may be employed. That is, the factor determination processing differs depending on the status of the access error and the like.

Anschließend wird zur Erläuterung von 4 zurückgekehrt. Bei S22 wird bestimmt, ob eine beabsichtigte Ausnahme auftritt. Wird bei S21 bestimmt, dass eine beabsichtigte Ausnahme auftritt, fährt der erste Kern 21 mit S23 fort. Wenn bei S21 nicht bestimmt wird, dass eine beabsichtigte Ausnahme auftritt, fährt der erste Kern 21 mit S26 fort. Das heißt, wenn bestimmt wird, dass eine nicht beabsichtigte Ausnahme auftritt, nimmt der erste Kern 21 an, dass Rücksetzen des Mikrocomputers 10 notwendig ist, und fährt mit S26 fort. Dann setzt der erste Kern 21 den Mikrocomputer 10 bei S26 zurück.Subsequently, for the explanation of 4 returned. at S22 determines if an intended exception occurs. Is at S21 determines that an intended exception occurs, drives the first core 21 With S23 continued. If at S21 If it is not determined that an intended exception occurs, the first core moves 21 With S26 continued. That is, when it is determined that an unintended exception occurs, the first core takes 21 to that Reset the microcomputer 10 is necessary and drives with S26 continued. Then the first core sets 21 the microcomputer 10 at S26 back.

Andererseits, wenn der erste Kern 21 bestimmt, dass es eine beabsichtigte Ausnahme ist, nimmt der erste Kern 21 an, dass es keinen Bedarf zum Rücksetzen des Mikrocomputers 10 gibt, und fährt mit S23 fort.On the other hand, if the first core 21 determines that it is an intended exception, takes the first core 21 that there is no need to reset the microcomputer 10 gives, and drives away S23 continued.

Bei S23 wird eine Ausnahmeverarbeitung ausgeführt. Zu dieser Zeit führt der erste Kern 21 die in 6 dargestellte Ausnahmeverarbeitung durch. Der erste Kern 21 schreibt Radd als eine Adresse in den Speicherbereich des Sicherungsüberprüfungsergebnisses und schreibt den Wert von Status als einen abnormalen Typ (das heißt, S231 funktioniert als ein Adresseinrichtungsabschnitt).at S23 an exception processing is executed. At this time, the first core leads 21 in the 6 represented exception processing by. The first core 21 writes Radd as an address in the memory area of the backup verification result and writes the value of Status as an abnormal type (that is, S231 works as an address setup section).

Die vorliegende Ausführungsform setzt ein Beispiel der vorstehenden Ausnahmeverarbeitung als eine Ausnahmeverarbeitung ein. Jedoch ist die vorliegende Offenbarung nicht darauf beschränkt und eine andere Ausnahmeverarbeitung kann eingesetzt werden. Das heißt, die Ausnahmeverarbeitung unterscheidet sich abhängig vom Status des Zugriffsfehlers.The present embodiment employs an example of the above exception processing as an exception processing. However, the present disclosure is not limited thereto, and other exception processing may be employed. That is, the exception processing differs depending on the status of the access error.

Bei S24 wird das Programm analysiert (das heißt, S24 funktioniert als ein Analyseabschnitt). Um eine Rückkehradresse festzulegen, analysiert der erste Kern 21 das Programm und liest die Anweisungslänge einer ersten Anweisung zu einer Zeit, wenn ein Zugriffsfehler auftritt, aus (das heißt, zur Zeit eines Auftretens eines Zugriffsfehlers). Beispielsweise bestimmt der erste Kern 21, ob die Anweisungslänge der ersten Anweisung zur Zeit des Auftretens des Zugriffsfehlers eine 4-Byte-Anweisung oder eine 2-Byte-Anweisung ist. Dies kommt daher, da die Rückkehradresse zum Zurückkehren zu dem unterbrochenen Programm festgelegt ist, um eine zweite Adresse zu sein, die gegenüber einer ersten Adresse zur Zeit des Auftretens des Zugriffsfehlers vorverlegt ist. Beispielsweise wird ein Fall angenommen, in dem die Anweisungslänge der ersten Anweisung zur Zeit des Auftretens des Zugriffsfehlers 4 Byte ist. In so einem Fall wird eine Rückkehradresse festgelegt, um eine zweite Adresse zu sein, die beim Verarbeiten des Programms um 4 Byte ausgehend von der ersten Anweisung zur Zeit des Auftretens des Zugriffsfehlers vorverlegt ist. Analysieren dieses Programms kann während der Ausnahmeverarbeitung bei S23 ausgeführt werden.at S24 the program is analyzed (that is, S24 works as an analysis section). To determine a return address, the first core analyzes 21 the program and reads the instruction length of a first instruction at a time when an access error occurs (that is, at the time an access error occurs). For example, the first core determines 21 whether the instruction length of the first instruction at the time of the access error occurs is a 4-byte instruction or a 2-byte instruction. This is because the return address for returning to the interrupted program is set to be a second address that is advanced from a first address at the time of the access error. For example, a case is assumed in which the instruction length of the first instruction at the time the access error occurs 4 Byte is. In such a case, a return address is set to be a second address which is advanced by 4 bytes when processing the program from the first instruction at the time the access error occurs. This program can be parsed during exception processing S23 be carried out.

Es ist zu beachten, dass die Rückkehradresse als eine Rückkehrposition oder eine Rückkehrblocknummer bezeichnet werden kann. Zusätzlich gibt jede der Adresse, der Position und der Blocknummer die Adresse des Programms, die Position des Programms und die Blocknummer des Programms an.Note that the return address can be referred to as a return position or a return block number. In addition, each of the address, position, and block number indicates the address of the program, the position of the program, and the block number of the program.

Die vorliegende Offenbarung ist nicht darauf beschränkt. Wenn jede Anweisungslänge in dem Programm die gleiche ist, kann eine Rückkehradresse, die von der Adresse zur Zeit des Auftretens eines Fehlers vorverlegt ist, ohne Analysieren des Programms festgelegt werden.The present disclosure is not limited thereto. If each instruction length in the program is the same, a return address advanced from the address at the time of occurrence of an error can be set without analyzing the program.

Bei S25 wird der Programmzähler inkrementiert (das heißt, S25 funktioniert als ein Adresseinrichtungsabschnitt). Der erste Kern 21 inkrementiert den Programmzähler um mit der Rückkehradresse fortzufahren, die durch die Analyse in S24 erlangt wird.at S25 the program counter is incremented (that is, S25 works as an address setup section). The first core 21 increments the program counter to continue with the return address determined by the analysis in S24 is obtained.

Auf diese Weise legt der erste Kern 21 die Rückkehradresse zum Zurückkehren zur Ausführung des unterbrochenen Programms fest, um die Adresse der zweiten Anweisung zu sein, die positioniert ist, um beim Verarbeiten des Programms nach der ersten Ausführung zur Zeit des Auftretens des Zugriffsfehlers ausgeführt zu werden. Ferner wird in der vorliegenden Ausführungsform die Adresse der zweiten Anweisung erlangt, um beim Verarbeiten des Programms durch die Anweisungslänge von der Adresse zur Zeit des Auftretens des Zugriffsfehlers vorverlegt zu sein. Die erlangte Adresse der zweiten Anweisung wird als die Rückkehradresse festgelegt. Es ist zu beachten, dass der erste Kern 21 S24 und S25 nach dem Auftreten der Unterbrechung und vor Rückkehren zur Ausführung des unterbrochenen Programms ausführt.This is how the first core lays 21 the return address for returning to execution of the interrupted program to be the address of the second instruction positioned to be executed in processing the program after the first execution at the time of the occurrence of the access error. Further, in the present embodiment, the address of the second instruction is obtained to be advanced in processing the program by the instruction length from the address at the time of the occurrence of the access error. The obtained address of the second instruction is designated as the return address. It should be noted that the first core 21 S24 and S25 after the interruption occurs and before returning to execute the interrupted program.

Demzufolge kann, wenn eine Ausnahmeunterbrechung zur Zeit des Ausführens von S623 in 9 auftritt, der erste Kern 21 die Ausführung ausgehend von S624 beim Rückkehren zum Ausführen des unterbrochenen Programms nach Ausführung der Ausnahmeverarbeitung neu starten. Ebenso, wenn eine Ausnahmeunterbrechung zur Zeit der Ausführung von S625 in 9 auftritt, kann der erste Kern 21 die Ausführung ausgehend von S626 beim Rückkehren zum Ausführen des unterbrochenen Programms nach Ausführung der Ausnahmeverarbeitung neu starten.Consequently, if an exception interrupt at the time of execution of S623 in 9 occurs, the first core 21 the execution starting from S624 when returning to run the suspended program after exiting exception processing. Likewise, if an exception interrupt at the time of execution of S625 in 9 occurs, the first core 21 the execution starting from S626 when returning to run the suspended program after exiting exception processing.

Wie erläutert wurde, legt die elektronische Steuereinheit 100 die Adresse der Anweisung, die nach der Anweisung beim Fehlerauftreten in dem Programm auszuführen ist, als die Rückkehradresse fest. Dies kann verhindern, dass die Unterbrechung zum Ausführen der Ausnahmeverarbeitung wiederholt wird. Das heißt, die elektronische Steuereinheit 100 kann wiederholte Unterbrechung zum Ausführen der Ausnahmeverarbeitung verhindern, ohne dass ROM 40 mit dem festen Wert zu überschreiben, wenn ein Fehler auftritt. Demnach kann die elektronische Steuereinheit 100 die Verschlechterung der Verarbeitungsleistung aufgrund der Zeit, die zum Überschreiben notwendig ist, unterdrücken.As has been explained, the electronic control unit sets 100 the address of the instruction to be executed after the instruction when the error occurs in the program as the return address. This can prevent the interrupt from executing exception processing from being repeated. That is, the electronic control unit 100 can prevent repeated interruption to execute exception processing without ROM 40 overwrite with the fixed value if an error occurs. Accordingly, the electronic control unit 100 the deterioration of Suppress processing power due to the time it takes to overwrite.

Ferner, wie vorstehend beschrieben ist, besteht eine Möglichkeit, dass die (ursprünglichen) Daten auf dem ROM 40, das mit einem festen Wert zur Zeit des Auftretens eines Fehlers überschrieben wird (d.h., gelöscht), Daten sein können, die (normal) kontinuierlich verwendet werden können. In so einem Fall muss die elektronische Steuereinheit 100 das ROM 40 (d.h., die ursprünglichen Daten) nicht mit dem festen Wert überschreiben, wenn ein Fehler auftritt. Das heißt, die vorliegende Ausführungsform kann unterdrücken, dass die ursprünglichen Daten, die kontinuierlich verwendet werden können, nicht verwendet werden.Furthermore, as described above, there is a possibility that the (original) data on the ROM 40 that is overwritten (ie, deleted) with a fixed value at the time an error occurs, can be data that can (normally) be used continuously. In such a case, the electronic control unit 100 the ROM 40 (ie, the original data) do not overwrite with the fixed value if an error occurs. That is, the present embodiment can suppress that the original data that can be used continuously is not used.

Die bevorzugte Ausführungsform in der vorliegenden Offenbarung wurde beschrieben. Jedoch ist die vorliegende Ausführungsform nicht auf die vorstehende Ausführungsform beschränkt. Unterschiedliche Modifikationen sind möglich, ohne den Umfang und den Geist der vorliegenden Offenbarung zu verlassen. Nachfolgend werden die zweite bis vierte Ausführungsform als weitere Ausführungsformen der vorliegenden Offenbarung beschrieben. Jede der vorstehenden Ausführungsformen unter der zweiten bis vierten Ausführungsform kann unabhängig implementiert werden, wobei es jedoch ebenso möglich ist, sie angemessen zu kombinieren. Die vorliegende Offenbarung ist nicht auf Kombinationen, die in den Ausführungsformen offenbart sind, beschränkt, sondern kann mit unterschiedlichen Kombinationen implementiert werden.The preferred embodiment in the present disclosure has been described. However, the present embodiment is not limited to the above embodiment. Various modifications are possible without departing from the scope and spirit of the present disclosure. Hereinafter, the second to fourth embodiments will be described as further embodiments of the present disclosure. Each of the above embodiments in the second to fourth embodiments may be implemented independently, but it is also possible to appropriately combine them. The present disclosure is not limited to combinations disclosed in the embodiments, but may be implemented with different combinations.

(Zweite Ausführungsform)(Second embodiment)

Gemäß 11 und 12 wird die elektronische Steuereinheit 100 einer zweiten Ausführungsform beschrieben. In dieser Ausführungsform werden hauptsächlich Unterschiede zur vorstehenden Ausführungsform beschrieben. Die elektronische Steuereinheit 100 gemäß der vorliegenden Ausführungsform unterscheidet sich von der elektronischen Steuereinheit 100 der vorstehenden Ausführungsform hauptsächlich durch (i) eine Verarbeitung zum Bestimmen eines Faktors zum Erzeugen einer Ausnahme und (ii) eine Ausnahmeverarbeitung.According to 11 and 12 becomes the electronic control unit 100 described a second embodiment. In this embodiment, differences from the above embodiment are mainly described. The electronic control unit 100 according to the present embodiment differs from the electronic control unit 100 in the above embodiment mainly by (i) processing to determine a factor to generate an exception and (ii) exception processing.

Es ist zu beachten, dass die elektronische Steuereinheit 100 der vorliegenden Ausführungsform die gleiche Konfiguration wie die vorstehende Ausführungsform hat. Demnach verwendet diese Ausführungsform die gleichen Bezugszeichen wie die vorstehende Ausführungsform.It should be noted that the electronic control unit 100 of the present embodiment has the same configuration as the above embodiment. Accordingly, this embodiment uses the same reference numerals as the above embodiment.

Die elektronische Steuereinheit 100 hat in dem ROM 40 (i) ein Programm in einem ASIL-Bereich in dem ein hoher Sicherheitsgrad festgelegt ist, und (ii) ein Programm in einem QM-Bereich, in dem ein niedriger Sicherheitsgrad festgelegt ist. Der ASIL-Bereich ist ein geschützter Bereich aufgrund einer funktionalen Sicherheitsanforderung und auf ihn wird zur Zeit des Ausführens des Programms in dem QM-Bereich nicht zugegriffen.The electronic control unit 100 has in the ROM 40 (i) a program in an ASIL area where a high level of security is specified, and (ii) a program in a QM area where a low level of security is set. The ASIL area is a protected area due to a functional security request and is not accessed at the time of executing the program in the QM area.

Die elektronische Steuereinheit 100 hat einen Mechanismus zum Erzeugen einer Ausnahmeunterbrechung aufgrund eines Speicherzugriffsfehlers, wenn auf den Speicher in dem ASIL-Bereich von der Steuerung, die in dem QM-Bereich festgelegt ist, zugegriffen wird, gemäß der Festlegung des Mikrocomputers 10. Das heißt, wenn auf dem ASIL-Bereich gemäß Ausführung des Programms im QM-Bereich zugegriffen wird, nimmt die elektronische Steuereinheit 100 an, dass ein Zugriffsfehler aufgetreten ist, und erzeugt eine Ausnahmeunterbrechung (d.h., funktioniert als ein Unterbrechungserzeugungsabschnitt). Aus diesem Grund nimmt der erste Kern 21 an, dass ein Zugriffsfehler aufgetreten ist, wenn auf den ASIL-Bereich gemäß der Ausführung des Programms in dem QM-Bereich zugegriffen wird, und tätigt bei S10 eine JA-Bestimmung. Dies kann aufgrund der Tatsache auftreten, dass die Werte des RAM 20 oder von Registern geändert wurden.The electronic control unit 100 has a mechanism for generating an exception interrupt due to a memory access error when the memory in the ASIL area is accessed by the controller set in the QM area, in accordance with the setting of the microcomputer 10 , That is, when the ASIL area is accessed in the QM area upon execution of the program, the electronic control unit takes 100 indicates that an access error has occurred and generates an exception interrupt (ie, functions as an interrupt generation section). Because of this, the first core takes 21 indicates that an access error has occurred when accessing the ASIL area according to the execution of the program in the QM area, and assists S10 a YES determination. This may occur due to the fact that the values of the RAM 20 or changed by registers.

ASIL ist eine Abkürzung für Automotive Safety Integrity Level (Integritätsgrad der Fahrzeugsicherheit). Der ASIL-Bereich entspricht einem geschützten Speicherbereich. Andererseits ist QM eine Abkürzung für Quality Managment (Qualitätsmanagment). Der QM-Bereich entspricht einem nicht gestützten Speicherbereich. Demnach entspricht das ROM 40 einem Speicher einschließlich eines geschützten Speicherbereichs und eines nicht geschützten Speicherbereichs.ASIL is an abbreviation for Automotive Safety Integrity Level. The ASIL area corresponds to a protected memory area. On the other hand, QM is an abbreviation for Quality Management. The QM area corresponds to an unsupported memory area. Accordingly, the ROM corresponds 40 a memory including a protected storage area and an unprotected storage area.

Der erste Kern 21 führt eine in dem Ablaufdiagramm von 11 dargestellte Verarbeitung als eine Faktorbestimmungsverarbeitung aus.The first core 21 leads one in the flowchart of 11 illustrated processing as a factor determination processing.

Bei S211a wird bestimmt, ob „Rückkehradresse = QM-Bereich“ erfüllt ist (d.h., S211a funktioniert als ein Adresseinrichtungsabschnitt). Bestimmt der erste Kern 21, dass „Rückkehradresse = QM-Bereich“ erfüllt ist, nimmt der erste Kern 21 die Zugriffsquelle als den QM-Bereich an und fährt mit S212 fort. Bestimmt der erste Kern 21 nicht, dass „Rückkehradresse = QM-Bereich“ erfüllt ist, nimmt der erste Kern 21 die Zugriffsquelle als nicht den QM-Bereich an und fährt mit S213 fort. Das heißt, wenn die Adresse zur Zeit des Rückkehrens zum unterbrochenen Programm eine Adresse in dem QM-Bereich ist, fährt der erste Kern 21 mit S212 fort. Wenn die Adresse zur Zeit des Rückkehrens zum unterbrochenen Programm nicht eine Adresse in dem QM-Bereich ist, fährt die Verarbeitung mit S213 fort.At S211a, it is determined whether "return address = QM area" is satisfied (ie, S211a functions as an address establishment section). Definitely the first core 21 The first core takes that "return address = QM area" is fulfilled 21 the access source as the QM area and drives along S212 continued. Definitely the first core 21 The first core does not mean that “return address = QM area” is fulfilled 21 the access source as not the QM area and drives along S213 continued. That is, if the address is an address in the QM area at the time of returning to the interrupted program, the first core runs 21 With S212 continued. If the address is not an address in the QM area at the time of returning to the interrupted program, the processing goes along S213 continued.

Bei S212 wird bestimmt, dass eine beabsichtigte Ausnahme aufgetreten ist. Ist die Zugriffsquelle der QM-Bereich, kann Zugriff auf den ASIL-Bereich zur Zeit des Ausführens des Programms des QM-Bereichs als eine Abnormalität angenommen werden, bei der der Mikrocomputer 10 nicht zurückgesetzt werden muss, wie beispielsweise verdrehte Zeichen in den RAM 20 oder Register. Demnach bestimmt der erste Kern 21, dass eine beabsichtigte Ausnahme aufgetreten ist.at S212 it is determined that an intended exception has occurred. Is the traffic source the QM area, access to the ASIL area at the time of executing the program of the QM area may be taken as an abnormality in which the microcomputer 10 does not have to be reset, such as twisted characters in the RAM 20 or register. Accordingly, the first core determines 21 that an intended exception occurred.

Bei S213 wird bestimmt, dass eine nicht beabsichtigte Ausnahme aufgetreten ist. Ist die Zugriffsquelle nicht der QM-Bereich, kann für den Zugriff auf den ASIL-Bereich mit der Ausführung des Programms in dem QM-Bereich angenommen werden, dass Rücksetzen des Mikrocomputers erforderlich ist, da die Ausnahmeerzeugung nicht von den verdrehten Werten in dem RAM 20 oder den Registern abhängig ist. Demnach bestimmt der erste Kern 21, dass eine nicht beabsichtigte Ausnahme aufgetreten ist. Somit kann die elektronische Steuereinheit 100 fehlerhaftes Speicherumschreiben durch nicht vertrauenswürdige Software verhindern.at S213 it is determined that an unintended exception has occurred. If the access source is not the QM area, accessing the ASIL area with the execution of the program in the QM area can be assumed to require resetting the microcomputer because the exception generation is not from the twisted values in RAM 20 or is dependent on the registers. Accordingly, the first core determines 21 that an unintended exception has occurred. Thus, the electronic control unit 100 Prevent bad memory rewriting by untrusted software.

Zusätzlich führt der erste Kern 21 eine in dem Ablaufdiagramm von 12 dargestellte Verarbeitung als eine Ausnahmeverarbeitung aus. Bei S231a schützt der erste Kern 21 den RAM-Wert in dem ASIL-Bereich und speichert den Abnormalitätscode und dergleichen. Das heißt, der erste Kern 21 schützt den Wert des ASIL-Bereichs und speichert mindestens einen Abnomalitätscode, der angibt, dass ein Zugriffsfehler auf den ASIL-Bereich aufgetreten ist. Demnach kann die elektronische Steuereinheit 100 einfach analysieren, wenn eine Abnormalität auftritt.In addition, the first core leads 21 one in the flowchart of 12 represented processing as an exception processing. At S231a, the first core protects 21 the RAM value in the ASIL area and stores the abnormality code and the like. That is, the first core 21 protects the value of the ASIL area and stores at least one abnormality code indicating that an access error has occurred on the ASIL area. Thus, the electronic control unit 100 easy to analyze if an abnormality occurs.

Die elektronische Steuereinheit 100 der vorliegenden Ausführungsform kann die gleichen Wirkungen wie die vorstehende Ausführungsform erreichen.The electronic control unit 100 of the present embodiment can achieve the same effects as the above embodiment.

(Dritte Ausführungsform)(Third embodiment)

Gemäß 13 und 14 wird die elektronische Steuereinheit 100 einer dritten Ausführungsform beschrieben. In dieser Ausführungsform werden hauptsächlich Unterschiede zu den vorstehenden Ausführungsformen beschrieben. Die elektronische Steuereinheit 100 gemäß der vorliegenden Ausführungsform unterscheidet sich von der elektronischen Steuereinheit 100 der vorstehenden Ausführungsformen hauptsächlich durch (i) eine Verarbeitung zum Bestimmen eines Faktors zum Erzeugen einer Ausnahme und (ii) eine Ausnahmeverarbeitung.According to 13 and 14 becomes the electronic control unit 100 described a third embodiment. In this embodiment, differences from the above embodiments are mainly described. The electronic control unit 100 according to the present embodiment differs from the electronic control unit 100 of the above embodiments mainly by (i) processing to determine a factor to generate an exception and (ii) exception processing.

Es ist zu beachten, dass die elektronische Steuereinheit 100 der vorliegenden Ausführungsform die gleiche Konfiguration wie die vorstehenden Ausführungsformen aufweist. Demnach verwendet diese Ausführungsform die gleichen Bezugszeichen wie in den vorstehenden Ausführungsformen.It should be noted that the electronic control unit 100 of the present embodiment has the same configuration as the above embodiments. Accordingly, this embodiment uses the same reference numerals as in the previous embodiments.

Wie vorstehend beschrieben ist, beinhaltet die elektronische Steuereinheit 100 eine ECC-Abnormalitätsinjektionseinheit 60. Die ECC-Abnormalitätsinjektionseinheit 60 veranlasst beabsichtigt einen ECC Fehler in dem RAM 30 oder dem ROM 40, das heißt, injiziert eine Abnormalität in den Fehlerkorrekturcode. Dann bestimmt der erste Kern 21, ob der Fehlerkorrekturcode des Speichers normal ist oder nicht. Wird er als abnormal bestimmt, tritt ein Zugriffsfehler auf das RAM 30 oder das ROM 40 auf, so dass eine Unterbrechung erzeugt wird (Unterbrechungserzeugungsabschnitt). In anderen Worten nimmt der erste Kern 21 an, dass ein Zugriffsfehler auf den Speicher auftritt, als ein Ergebnis eines Zugriffs auf den Speicher, in dem der Fehlerkorrekturcode abnormal ist, so dass bei S10 die JA-Bestimmung betätigt wird.As described above, the electronic control unit includes 100 an ECC abnormality injection unit 60 , The ECC abnormality injection unit 60 causes an ECC error in RAM 30 or the ROM 40 , that is, injects an abnormality into the error correction code. Then the first core determines 21 whether the memory error correction code is normal or not. If it is determined to be abnormal, an access error to the RAM occurs 30 or the ROM 40 on so that an interrupt is generated (interrupt generation section). In other words, the first core takes 21 indicates that an access error to the memory occurs as a result of access to the memory in which the error correction code is abnormal, so that at S10 the YES determination is activated.

Der erste Kern 21 führt eine in dem Ablaufdiagramm von 13 dargestellte Verarbeitung als eine Faktorbestimmungsverarbeitung aus.The first core 21 performs one in the flowchart of 13 illustrated processing as a factor determination processing.

Bei S211b wird bestimmt, ob „ECC-Diagnose-Zustand = in Bearbeitung“ erfüllt ist (d.h., S211b funktioniert als ein Adresseinrichtungsabschnitt). In anderen Worten bestimmt der erste Kern 21, ob die Operationsdiagnose mit dem injizierten Fehlerkorrekturcode in Verarbeitung ist. Wird bestimmt, dass „ECC-Diagnose-Zustand = in Bearbeitung“ erfüllt ist, fährt der erste Kern 21 mit S212 fort. Wird nicht bestimmt, dass „ECC-Diagnose-Zustand = in Bearbeitung“ erfüllt ist, fährt der erste Kern 21 mit S213 fort.At S211b, it is determined whether “ECC diagnostic state = in progress” is satisfied (ie, S211b functions as an address establishment section). In other words, the first core determines 21 whether the operation diagnosis with the injected error correction code is being processed. If it is determined that "ECC diagnostic status = in progress" is fulfilled, the first core moves 21 With S212 continued. If it is not determined that "ECC diagnostic status = in progress" is fulfilled, the first core moves 21 With S213 continued.

Bei S212 wird bestimmt, dass eine beabsichtigte Ausnahme aufgetreten ist. In dem Fall die ECC-Diagnose in Bearbeitung ist, kann angenommen werden, dass ein Zugriffsfehler aufgrund Abnormalitätsinjektion des Fehlerkorrekturcodes aufgetreten ist. Demnach bestimmt der erste Kern 21, dass eine beabsichtigte Ausnahme aufgetreten ist.at S212 it is determined that an intended exception has occurred. In the case that the ECC diagnosis is being processed, it can be assumed that an access error due to abnormality injection of the error correction code has occurred. Accordingly, the first core determines 21 that an intended exception has occurred.

Bei S213 wird bestimmt, dass eine nicht beabsichtigte Ausnahme aufgetreten ist. Ist die ECC-Diagnose nicht in Bearbeitung tritt irgendein Zugriffsfehler aufgrund Abnormalitätsinjektion des Fehlerkorrekturcodes nicht auf. Demnach wird angenommen, dass ein Zugriffsfehler aufgrund irgendeiner Abnormalität aufgetreten ist, und es notwendig ist, den Mikrocomputer 10 zurückzusetzen. Demnach bestimmt der erste Kern 21, dass eine nicht beabsichtigte Ausnahme aufgetreten ist.at S213 it is determined that an unintended exception has occurred. If the ECC diagnosis is not being processed, any access error due to abnormality injection of the error correction code does not occur. Accordingly, it is assumed that an access error due to some abnormality has occurred and the microcomputer is necessary 10 reset. Accordingly, the first core determines 21 that an unintended exception has occurred.

Zusätzlich führt der erste Kern 21 eine in dem Ablaufdiagramm von 14 dargestellte Verarbeitung als eine Ausnahmeverarbeitung aus.In addition, the first core leads 21 one in the flowchart of 14 processing shown as an exception processing.

Bei S231b hebt der erste Kern 21 die ECC-Abnormalitätsinjektion auf. Bei S232b wird bestimmt, ob die Adresse des Abnormalitätsauftretens mit der entsprechenden Adresse übereinstimmt. Wird bestimmt, dass die Adresse des Abnormalitätsauftretens mit der entsprechenden Adresse übereinstimmt, fährt der erste Kern 21 mit S233b fort. Wird nicht bestimmt, dass die Adresse des Abnormalitätsauftretens mit der entsprechenden Adresse übereinstimmt, fährt der erste Kern 21 mit S235b fort.at S231b lifts the first core 21 the ECC abnormality injection. at S232b it is determined whether the address of the abnormality occurrence matches the corresponding address. It is determined that the address of the Abnormality occurrence matches the corresponding address, the first core moves 21 With S233b continued. If it is not determined that the address of the abnormality occurrence matches the corresponding address, the first core moves 21 With S235b continued.

Bei S233b legt der erste Kern 21 „Diagnoseergebnis = normal“ und „ECC-Diagnose-Zustand = Ende“ fest. Bei S234b bestimmt der erste Kern 21 das ECC-Diagnose-Ergebnis als OK (positiv). Andererseits legt bei 235b der erste Kern 21 das ECC-Diagnose-Ergebnis als NG (negativ) fest.at S233b lays the first nucleus 21 "Diagnostic result = normal" and "ECC diagnostic status = end" fixed. at S234b determines the first core 21 the ECC diagnosis result as OK (positive). On the other hand, attaches 235b the first core 21 the ECC diagnosis result as NG (negative).

Die elektronische Steuereinheit 100 der vorliegenden Ausführungsform kann die gleiche Wirkung wie die vorstehenden Ausführungsformen erreichen. Ferner kann die elektronische Steuereinheit 100 der vorliegenden Ausführungsform verifizieren, dass die ECC-Funktion normal funktioniert und kann die Verlässlichkeit die ECC-Funktion verbessern.The electronic control unit 100 the present embodiment can achieve the same effect as the above embodiments. Furthermore, the electronic control unit 100 of the present embodiment verify that the ECC function works normally, and the reliability can improve the ECC function.

(Vierte Ausführungsform)Fourth Embodiment

Gemäß 15 wird die elektronische Steuereinheit 100 einer vierten Ausführungsform beschrieben. In dieser Ausführungsform werden hauptsächlich Unterschiede zu den vorhergehenden Ausführungsformen beschrieben. Die elektronische Steuereinheit 100 der vorliegenden Ausführungsform unterscheidet sich von der elektronischen Steuereinheit 100 der vorstehenden Ausführungsform in einer Ausnahmeunterbrechungsverarbeitung.According to 15 becomes the electronic control unit 100 a fourth embodiment. In this embodiment, differences from the previous embodiments are mainly described. The electronic control unit 100 the present embodiment differs from the electronic control unit 100 the above embodiment in exception interrupt processing.

In dem Ablaufdiagramm von 15 wird die gleiche Abschnitts-/Schrittnummer für die gleiche Verarbeitung wie in dem Ablaufdiagramm von 4 verwendet. Die Verarbeitung dieser Abschnitts-/Schrittnummer kann die Beschreibung von 4 anwenden. Ferner hat die elektronische Steuereinheit 100 der vorliegenden Ausführungsform die gleiche Konfiguration wie die vorstehenden Ausführungsformen. Demnach verwendet diese Ausführungsform die gleichen Bezugszeichen wie die vorstehenden Ausführungsformen.In the flowchart of 15 becomes the same section / step number for the same processing as in the flowchart of FIG 4 used. The processing of this section / step number can be the description of 4 apply. Furthermore, the electronic control unit 100 the present embodiment has the same configuration as the above embodiments. Accordingly, this embodiment uses the same reference numerals as the above embodiments.

Wenn JA bei S22 gilt, fährt der erste Kern 21 mit S70 fort. Bei S70 inkrementiert der erste Kern 21 die Ausnahmeverarbeitungszahl oder den Ausnahmeverarbeitungszählerwert (Zählbestimmungsabschnitt). Das heißt, der erste Kern 21 zählt die Anzahl, wie oft beabsichtigte Ausnahmen auftreten als Ausnahmeverarbeitungszahl. Bei S71 wird bestimmt, ob der Ausnahmeverarbeitungszählerwert größer als ein Grenzwert ist (d.h. S71 funktioniert als ein Zählbestimmungsabschnitt). Wenn der erste Kern 21 bestimmt, dass der Ausnahmeverarbeitungszählerwert größer als ein Grenzwert ist, fährt die Verarbeitung mit S26 fort. Ist der Ausnahmeverarbeitungszählerwert nicht größer als ein Grenzwert, fährt die Verarbeitung mit S23 fort. Auf diese Weise, wenn bestimmt wird, dass der Ausnahmeverarbeitungszählerwert einen Grenzwert überschreitet, setzt der erste Kern 21 den Mikrocomputer 10 (d.h., funktioniert als ein Rücksetzabschnitt) ohne Ausführung einer Ausnahmeverarbeitung zurück. Es ist zu beachten, dass der erste Kern 21 mit S26 fortfahren kann, wenn bestimmt wird, dass der Ausnahmeverarbeitungszählerwert gleich oder größer als ein Grenzwert ist.If yes at S22 is true, drives the first core 21 With S70 continued. at S70 the first core increments 21 the exception processing count or the exception processing counter value (count determination section). That is, the first core 21 counts the number of times the intended exceptions occur as an exception processing count. at S71 It is determined whether the exception processing counter value is greater than a threshold (ie S71 works as a count determination section). If the first core 21 determines that the exception processing counter value is greater than a threshold, the processing continues S26 continued. If the exception processing counter value is not greater than a threshold, processing continues S23 continued. In this way, when it is determined that the exception processing counter value exceeds a threshold, the first core is set 21 the microcomputer 10 (ie, functioning as a reset section) without executing exception processing. It should be noted that the first core 21 With S26 may continue if it is determined that the exception processing counter value is equal to or greater than a threshold.

Die elektronische Steuereinheit 100 der vorliegenden Ausführungsform kann die gleiche Wirkung wie die vorstehenden Ausführungsformen erreichen. Ferner setzt, sogar wenn bestimmt wird, dass eine beabsichtigte Ausnahme aufgetreten ist, die elektronische Steuereinheit 100 den Mikrocomputer 10 in Antwort darauf zurück, dass die Anzahl (Zählung) wie oft die beabsichtigten Ausnahmen aufgetreten sind, eine vorbestimmte Anzahl wird (dient als Grenzwert). Demnach kann die elektronische Steuereinheit 100 den Mikrocomputer 10 zurücksetzen, wenn das Auftreten der beabsichtigten Ausnahme fortbesteht.The electronic control unit 100 The present embodiment can achieve the same effect as the above embodiments. Further, even if it is determined that an intended exception has occurred, the electronic control unit is set 100 the microcomputer 10 in response to the number (count) of how often the intended exceptions have occurred, becoming a predetermined number (serving as a limit). Thus, the electronic control unit 100 the microcomputer 10 reset if the occurrence of the intended exception persists.

In den vorstehenden Ausführungsformen wird ein Speicher als eine Ressource eingesetzt. Jedoch ist die vorliegende Offenbarung nicht darauf beschränkt und der I/O 70 kann als eine Ressource eingesetzt werden. Sogar in diesem Fall kann die gleiche Wirkung wie die vorstehend beschriebene erlangt werden.In the above embodiments, a memory is employed as a resource. However, the present disclosure is not limited thereto, and the I / O 70 may be used as a resource. Even in this case, the same effect as that described above can be obtained.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents listed by the applicant has been generated automatically and is only included for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • JP 2014035730 A [0003]JP 2014035730 A [0003]

Claims (7)

Elektronische Steuereinheit, aufweisend: einen Unterbrechungserzeugungsabschnitt (S20), der konfiguriert ist, um eine Unterbrechung zum Ausführen einer Ausnahmeverarbeitung zum Unterbrechen eines Programms in Antwort auf ein Auftreten eines Zugriffsfehlers beim Zugreifen auf eine Ressource, dadurch, dass eine erste Anweisung des Programms ausgeführt wird, zu erzeugen; und einen Adresseinrichtungsabschnitt (S211, S211a, S211b, S25), der konfiguriert ist, um eine Rückkehradresseinrichtung in einer Zeitperiode von, wenn die Unterbrechung erzeugt wird, bis, wenn das Programm, dass aufgrund der erzeugten Unterbrechung unterbrochen wurde, wieder ausgeführt wird, auszuführen, wobei die Rückkehradresseinrichtung eine Rückkehradresse einrichtet, bei der das Programm, das unterbrochen wurde, wieder ausgeführt wird, so dass die Rückkehradresse festgelegt wird, um eine Adresse einer zweiten Anwendung zu sein, die in dem Programm nach der ersten Anweisung auszuführen ist, die beim Auftreten des Zugrifffehlers ausgeführt wurde.Electronic control unit, comprising: an interrupt generating section (S20) configured to generate an interrupt for executing exception processing for interrupting a program in response to occurrence of an access error in accessing a resource by executing a first instruction of the program; and an address setting section (S211, S211a, S211b, S25) configured to execute return return means in a period of time from when the interruption is generated until when the program interrupted due to the generated interruption is executed again; wherein the return address means sets up a return address at which the program which has been interrupted is executed again, so that the return address is set to be an address of a second application to be executed in the program after the first instruction to be issued of the access error was executed. Elektronische Steuereinheit gemäß Anspruch 1, ferner aufweisend: einen Analyseabschnitt (S24), der konfiguriert ist, um das Programm zu analysieren, um eine Anweisungslänge der ersten Anweisung zu lesen, die beim Auftreten des Zugriffsfehlers ausgeführt wurde, wobei der Adresseinrichtungsabschnitt konfiguriert ist, um die Rückkehradresse als die Adresse der zweiten Anweisung festzulegen, so dass die Adresse der zweiten Anweisung positioniert ist, um um die Anweisungslänge der ersten Anweisung beim Verarbeiten des Programms von einer Adresse der ersten Anweisung, die beim Auftreten des Zugriffsfehlers ausgeführt wurde, vorverlegt zu sein.Electronic control unit according to Claim 1 further comprising: an analyzing section (S24) configured to analyze the program to read an instruction length of the first instruction that was executed when the access error occurred, wherein the address establishment section is configured to use the return address as the address of the second instruction so that the address of the second instruction is positioned to be advanced by the instruction length of the first instruction when processing the program from an address of the first instruction that was executed when the access error occurred. Elektronische Steuereinheit gemäß Anspruch 1 oder Anspruch 2, ferner aufweisend: einen Speicher, der als die Ressource dient, wobei der Speicher einen geschützten Speicherbereich und einen nicht geschützten Speicherbereich beinhaltet, wobei: der Unterbrechungsabschnitt konfiguriert ist, um die Unterbrechung durch Annehmen des Auftretens des Zugriffsfehlers in Antwort auf ein Auftreten eines Zugriffsfehlers beim Zugreifen auf den geschützten Speicherbereich in Verbindung mit Ausführen des Programms in dem nicht geschützten Speicherbereich zu erzeugen; und in Antwort darauf, dass bestimmt wird, dass die Rückkehradresse in dem nicht geschützten Speicherbereich ist, der Adresseinrichtungsabschnitt konfiguriert ist, um die Rückkehradresseinrichtung auszuführen, die die Rückkehradresse als die Adresse der zweiten Anweisung festlegt, die in dem Programm nach der ersten Anweisung auszuführen ist, die beim Auftreten des Zugriffsfehlers ausgeführt wurde.Electronic control unit according to Claim 1 or Claim 2 further comprising: a memory serving as the resource, the memory including a protected memory area and an unprotected memory area, wherein: the interrupt section is configured to accept the interrupt by accepting the occurrence of the access error in response to an access error occurring at Accessing the protected memory area in connection with executing the program in the unprotected memory area; and in response to determining that the return address is in the unprotected memory area, the address device section is configured to execute the return address device which sets the return address as the address of the second instruction to be executed in the program after the first instruction that was executed when the access error occurred. Elektronische Steuereinheit gemäß Anspruch 3, wobei in Antwort darauf, dass die Unterbrechung durch Annehmen des Auftretens des Zugriffsfehlers erzeugt wird, die Ausnahmeverarbeitung einen Wert in dem geschützten Speicherbereich schützt und einen Abnormalitätscode speichert, der das Auftreten des Zugriffsfehlers beim Zugreifen auf den geschützten Speicherbereich angibt.Electronic control unit according to Claim 3 wherein, in response to the interrupt being generated by assuming the occurrence of the access error, the exception processing protects a value in the protected memory area and stores an abnormality code indicating the occurrence of the access error when accessing the protected memory area. Elektronische Steuereinheit gemäß Anspruch 1 oder 2, ferner aufweisend: einen Speicher, der als die Ressource dient; und einen Injektionsabschnitt, der konfiguriert ist, um einen Fehlerkorrekturcode in den Speicher zu injizieren, wobei: der Unterbrechungserzeugungsabschnitt konfiguriert ist, um die Unterbrechung durch Annehmen des Auftretens des Zugriffsfehlers beim Zugreifen auf die Ressource in Antwort darauf, dass auf den Speicher, in den der Fehlerkorrekturcode injiziert ist, zugegriffen wird, zu erzeugen; der Adresseinrichtungsabschnitt konfiguriert ist, um zu bestimmen, ob eine Diagnose, wo der Fehlerkorrekturcode injiziert ist, in Bearbeitung ist; und in Antwort darauf, dass bestimmt wird, dass die Diagnose in Bearbeitung ist, der Adresseinrichtungsabschnitt konfiguriert ist, um die Rückkehradresseinrichtung auszuführen, die die Rückkehradresse als die Adresse der zweiten Anweisung festlegt, die in dem Programm nach der ersten Anweisung auszuführen ist, die beim Auftreten des Zugriffsfehlers ausgeführt wurde.Electronic control unit according to Claim 1 or 2 , further comprising: a memory serving as the resource; and an injecting section configured to inject an error correcting code into the memory, wherein: the interrupt generating section is configured to set the interruption by accepting the occurrence of the accessing error in accessing the resource in response to the memory in which Error correction code is injected, accessed, generate; the address setting section is configured to determine whether a diagnosis where the error correction code is injected is in progress; and in response to being determined that the diagnosis is in progress, the address setting section is configured to execute the return address setting device that sets the return address as the address of the second instruction to be executed in the program after the first instruction to be executed Occurrence of access error was executed. Elektronische Steuereinheit gemäß Anspruch 1 oder Anspruch 2, ferner aufweisend: eine nichtflüchtige Speichereinheit, die als die Ressource dient, wobei der Unterbrechungserzeugungsabschnitt konfiguriert ist, die Unterbrechung beim Auftreten eines Zugriffsfehlers beim Zugreifen auf die nichtflüchtige Speichereinheit zu erzeugen.Electronic control unit according to Claim 1 or Claim 2 , further comprising: a nonvolatile storage unit serving as the resource, wherein the interruption generation section is configured to generate the interruption upon occurrence of an access error in accessing the nonvolatile storage unit. Elektronische Steuereinheit gemäß einem der Ansprüche 1 bis 6, ferner aufweisend: einen Mikrocomputer, der eine Verarbeitungseinheit zum Ausführen von Anweisungen des Programms beinhaltet, der Mikrocomputer ferner beinhaltet: einen Zählbestimmungsabschnitt (S70, S71), der konfiguriert ist, um eine Zählung des Auftretens von Zugriffsfehlern zu messen, die jeweils die Ausnahmeverarbeitung erfordern, und zu bestimmen, ob die Zählung einen Grenzwert überschreitet; und einen Rücksetzabschnitt (S26), der konfiguriert ist, um den Mikrocomputer ohne Ausführen der Ausnahmeverarbeitung in Antwort darauf zurückzusetzen, dass bestimmt wird, dass die Zählung den Grenzwert überschreitet.Electronic control unit according to one of the Claims 1 to 6 further comprising: a microcomputer that includes a processing unit for executing instructions of the program, the microcomputer further includes: a count determination section (S70, S71) configured to measure a count of occurrence of access errors each requiring exception processing , and determine whether the count exceeds a threshold; and a reset section (S26) configured to reset the microcomputer without executing the exception processing in response to determining that the count exceeds the limit.
DE102019208129.0A 2018-06-06 2019-06-04 Electronic control unit Active DE102019208129B4 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018108925A JP7091853B2 (en) 2018-06-06 2018-06-06 Electronic control device
JP2018-108925 2018-06-06

Publications (2)

Publication Number Publication Date
DE102019208129A1 true DE102019208129A1 (en) 2019-12-12
DE102019208129B4 DE102019208129B4 (en) 2021-02-04

Family

ID=68651998

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019208129.0A Active DE102019208129B4 (en) 2018-06-06 2019-06-04 Electronic control unit

Country Status (2)

Country Link
JP (1) JP7091853B2 (en)
DE (1) DE102019208129B4 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014035730A (en) 2012-08-10 2014-02-24 Hitachi Automotive Systems Ltd Vehicle control device

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5316963B2 (en) 2010-10-18 2013-10-16 株式会社デンソー In-vehicle electronic control unit
JP5911835B2 (en) 2013-09-17 2016-04-27 株式会社東芝 Information processing device
JP5962697B2 (en) 2014-03-26 2016-08-03 株式会社デンソー Electronic control unit
JP6323235B2 (en) 2014-07-29 2018-05-16 株式会社デンソー Electronic control unit
JP6304007B2 (en) 2014-12-09 2018-04-04 株式会社デンソー Microcontroller
JP2017208058A (en) 2016-05-16 2017-11-24 株式会社デンソー Information processing device
JP6658417B2 (en) 2016-09-09 2020-03-04 株式会社デンソー Electronic control unit

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014035730A (en) 2012-08-10 2014-02-24 Hitachi Automotive Systems Ltd Vehicle control device

Also Published As

Publication number Publication date
DE102019208129B4 (en) 2021-02-04
JP2019212124A (en) 2019-12-12
JP7091853B2 (en) 2022-06-28

Similar Documents

Publication Publication Date Title
DE102012109614B4 (en) Procedure for recovering from stack overflow or stack underflow errors in a software application
DE19929796B4 (en) Apparatus and method for rewriting data from a volatile memory to a nonvolatile memory
DE69622647T2 (en) Recoverable disk control system with non-volatile memory
DE102005055067A1 (en) Device and method for correcting errors in a system having at least two execution units with registers
DE19839680B4 (en) Method and device for modifying the memory contents of control units
DE102015003194A1 (en) Method and device for handling safety-critical errors
DE3336977A1 (en) FAILURE-PROOF METHOD FOR A VEHICLE COMPUTER
DE102017119065B4 (en) Update a store
DE102011011333B4 (en) Read to peripherals and write from peripherals with time-separated, redundant processor execution
WO2007057270A1 (en) Program-controlled unit and method for the operation thereof
DE102005040916A1 (en) Memory arrangement and method of operation therefor
DE102018213617A1 (en) Computing device and operating method therefor
DE102019208129B4 (en) Electronic control unit
DE102016200413A1 (en) MICROCOMPUTER
DE102007015507B4 (en) Processor with first and second modes of operation and method of operation
DE102020210866A1 (en) Device for detecting and processing a measured variable of a sensor in a motor vehicle
DE102005037226A1 (en) Method and device for determining a start state in a computer system having at least two execution units by marking registers
DE102021207872A1 (en) COMPOSITIONAL VERIFICATION OF EMBEDDED SOFTWARE SYSTEMS
DE10155486B4 (en) Arrangement for processing status information from external units
DE102012204644B4 (en) CONTROL DEVICE
DE102018219700B4 (en) Control device
DE102013204045B4 (en) microcomputer
DE102012208753A1 (en) Vehicle-mounted microcomputer comprises a core holding element that determines whether preset stop condition of each virtual core of single core is fulfilled and stops a virtual core, when stop condition is fulfilled
DE112015002881B4 (en) Storage device, flash memory controller and program
DE102010042574A1 (en) Method for operating microcontroller of automobile, involves interrupting specific functions by mechanism such that functions are executed without interference from execution of other functions

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R084 Declaration of willingness to licence