DE102017211568B4 - ELECTRONIC CONTROL UNIT - Google Patents
ELECTRONIC CONTROL UNIT Download PDFInfo
- Publication number
- DE102017211568B4 DE102017211568B4 DE102017211568.8A DE102017211568A DE102017211568B4 DE 102017211568 B4 DE102017211568 B4 DE 102017211568B4 DE 102017211568 A DE102017211568 A DE 102017211568A DE 102017211568 B4 DE102017211568 B4 DE 102017211568B4
- Authority
- DE
- Germany
- Prior art keywords
- memory protection
- microcomputer
- memory
- access
- count value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 description 52
- 230000006870 function Effects 0.000 description 20
- 230000000875 corresponding effect Effects 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000010365 information processing Effects 0.000 description 5
- 238000003745 diagnosis Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000003213 activating effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 208000027418 Wounds and injury Diseases 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 208000014674 injury Diseases 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/073—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/076—Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/40—Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/17—Embedded application
- G06F2212/173—Vehicle or other transportation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2139—Recurrent verification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Elektronische Steuereinheit mit einem Mikrocomputer (12), welcher umfasst:einen Speicherschutzteil (22, 24, 28), welcher einen Zugriff auf einen anderen Bereich als einen zugriffserlaubten Speicherbereich als einen verletzenden Zugriff verbietet und bei Auftreten des verletzenden Zugriffs eine Speicherschutzverletzungsunterbrechung erzeugt, um den Mikrocomputer zurückzusetzen,dadurch gekennzeichnet, dass der Mikrocomputer (12) ferner umfasst:einen Zählteil (20, S400) zum Zählen einer Häufigkeit von verletzenden Zugriffen; undeinen Invalidationsteil (20, S300, S320) zum Invalidieren der Erzeugung der Speicherschutzverletzungsunterbrechung in dem Fall, in dem ein durch den Zählteil (20, S400) gezählter Zählwert der verletzenden Zugriffe einen vorbestimmten Zählwert erreicht, während das Verbieten der verletzenden Zugriffe durch den Speicherschutzteil beibehalten wird.An electronic control unit having a microcomputer (12), comprising: a memory protection part (22, 24, 28) which prohibits access to an area other than an access-permitted memory area as an infringing access and, upon occurrence of the infringing access, generates a memory protection violation interrupt to prevent the A microcomputer reset, characterized in that the microcomputer (12) further comprises: a counting part (20, S400) for counting a frequency of access violations; andan invalidation part (20, S300, S320) for invalidating the generation of the memory protection violation interrupt in the case where a count value of the violating accesses counted by the counting part (20, S400) reaches a predetermined count value while maintaining prohibition of the violating accesses by the memory protection part will.
Description
Die Erfindung betrifft eine elektronische Steuereinheit mit einem Mikrocomputer, welcher einen Zugriff auf andere Speicherbereiche als zugriffserlaubte Speicherbereiche verbietet und eine Speicherschutzverletzungsunterbrechung erzeugt, wenn ein verletzender Zugriff auftritt.The invention relates to an electronic control unit with a microcomputer which prohibits access to memory areas other than access-permitted memory areas and generates a memory protection violation interrupt when a violating access occurs.
Die Druckschrift
Die Informationsverarbeitungseinheit beinhaltet weiter einen Datenspeicherteil, einen Erlaubnis- und Verbotsinformationsteil bzw. Erlaubnis/Verbotsinformationsänderungsteil und einen Sicherungsteil. Der Datenspeicherteil speichert Daten, die in einer Adresse des Speichers gespeichert sind, auf welche die CPU einen Speicherzugriff durchgeführt hat, aus dem Speicher in einen Sicherungs- bzw. Speicherbereich zusammen mit der Adresse, auf die zugegriffen wurde, wenn der Zugriffsüberwachungsteil erfasst, dass der Speicherzugriff auf den Speicher durchgeführt wurde, welcher durch die das Anwendungsprogramm ausführende CPU verboten wurde. Der Erlaubnis/Verbotsinformationsänderungsteil ändert die Erlaubnis/Verbotsinformation dazu, den Zugriff auf die Adresse zu erlauben, auf welche die CPU den Speicherzugriff durchgeführt hat. Der Sicherungsteil sichert die Daten aus dem Speicher in einen Sicherungsbereich zusammen mit der entsprechenden Adresse in Kombination, nachdem die CPU, welche das Anwendungsprogramm ausführt, den Zugriff auf den verbotenen Speicher zugeführt hat. Der Sicherungsteil ist dazu konfiguriert, die in dem Sicherungsbereich gespeicherten Daten an die entsprechende Adresse wiederherzustellen, bevor die CPU das Anwendungsprogramm, in welchem die CPU den verbotenen Speicherzugriff durchgeführt hat, das nächste Mal ausführt. Wenn der Sicherungsteil die Daten in dem Sicherungsbereich wiederherstellt, werden die Daten an bzw. in der entsprechenden Adresse durch den Datensicherungs- bzw. Datenspeicherteil in dem Sicherungs- bzw. Speicherbereich gesichert bzw. gespeichert.The information processing unit further includes a data storage part, a permission and prohibition information changing part, and a backup part. The data storage part saves data stored in an address of the memory to which the CPU has performed a memory access from the memory into a save area together with the accessed address when the access monitoring part detects that the Memory access was made to the memory which was forbidden by the CPU executing the application program. The permission/prohibition information changing part changes the permission/prohibition information to allow access to the address to which the CPU has performed the memory access. The saving part saves the data from the memory into a saving area together with the corresponding address in combination after the CPU executing the application program has supplied access to the forbidden memory. The backup part is configured to restore the data stored in the backup area to the corresponding address before the CPU next executes the application program in which the CPU performed the prohibited memory access. When the backup part restores the data in the backup area, the data is saved at the corresponding address by the data backup part in the backup area.
Wenn eine Zugriffsverletzung auftritt, führt eine Speicherschutzschaltung allgemein eine Ausnahmeverarbeitung durch, indem sie eine Speicherschutzverletzungsunterbrechung erzeugt, die die gegenwärtig ausgeführte Verarbeitung (Befehle verwerfend) beendet, und der CPU eine nächste Verarbeitung oder einen Neustart eines Betriebssystems bzw. OS zuweist. In Übereinstimmung mit dieser Ausnahmeverarbeitung wird die Ausführung von Programmen beschränkt. In Übereinstimmung mit der vorstehend beschriebenen Informationsverarbeitungseinheit ist es jedoch möglich, die Ausführung von Anwendungsprogrammen auch in dem Fall fortzusetzen, in dem die Zugriffsverletzung auftritt.When an access violation occurs, a memory protection circuit generally performs exception processing by generating a memory protection violation interrupt that terminates currently executing processing (discarding instructions) and assigns next processing or OS restart to the CPU. In accordance with this exception processing, execution of programs is restricted. However, according to the information processing unit described above, it is possible to continue execution of application programs even in the case where the access violation occurs.
Die vorstehend beschriebene Informationsverarbeitungseinheit erfordert extra bzw. zusätzliche Speicherbereiche zum redundanten Speichern und Sichern von Daten. Da die Speicherschutzschaltung die Ausnahme erzeugt, wenn die Zugriffsverletzung auftritt, darüber hinaus zum Sichern von Daten oder Ausführen der Änderungsverarbeitung von Erlaubnis/Verbotsinformation und zum Übertragen der Daten aus dem Sicherungsbereich nach dem Speichern der Daten in dem Speicherbereich zurzeit des Umschaltens von Anwendungen. Infolgedessen nimmt ein Überhang zu.The information processing unit described above requires extra memory areas for redundantly storing and backing up data. In addition, since the memory protection circuit generates the exception when the access violation occurs, to save data or execute the change processing of permission/prohibition information and to transfer the data from the save area after saving the data in the memory area at the time of switching applications. As a result, an overhang increases.
Ferner bezieht sich die Druckschrift
Der Erfindung liegt als eine Aufgabe zugrunde, eine elektronische Steuereinheit bereitzustellen, welche in der Lage ist, Programme sicher und ohne Zunahme von Speicherbereichen und Überhang kontinuierlich auszuführen.It is an object of the invention to provide an electronic control unit capable of continuously executing programs safely and without increasing memory areas and overhead.
In Übereinstimmung mit der Erfindung beinhaltet eine elektronische Steuereinheit einen Mikrocomputer, welcher einen Speicherschutzteil zum Verbieten, als einen verletzenden Zugriff, eines Zugriffs auf einen anderen Bereich als einen zugriffserlaubten Speicherbereich und Erzeugen, bei Auftreten des verletzenden Zugriffs, einer Speicherschutzverletzungsunterbrechung zum Zurücksetzen des Mikrocomputers umfasst. Der Mikrocomputer ist dadurch gekennzeichnet, dass er ferner einen Zählteil und einen Invalidationsteil umfasst. Der Zählteil zählt eine Häufigkeit von verletzenden Zugriffen. Der Invalidationsteil invalidiert die Erzeugung der Speicherschutzverletzungsunterbrechung in dem Fall, in dem ein durch den Zählteil gezählter Zählwert der verletzenden Zugriffe einen vorbestimmten Zählwert erreicht, während das Verbieten der verletzenden Zugriffe durch den Speicherschutzteil beibehalten wird.
-
1 ist ein Blockdiagramm, das eine Konfiguration einer elektronischen Steuereinheit gemäß einem Ausführungsbeispiel der Erfindung zeigt; -
2 ist ein Ablaufdiagramm, das eine Speicherschutzverarbeitung zeigt, die durch eine Speicherschutzschaltung auf der Grundlage von Speicherbereicheinstelldaten, die in einem Speicherschutzeinstellregister festgelegt sind, ausgeführt wird; -
3 ist ein Ablaufdiagramm, das eine Verarbeitung in einer Fehlersteuerschaltung zeigt; -
4 ist ein Ablaufdiagramm, das eine Prüfverarbeitung zeigt zum Umschalten einer Speicherschutzverletzungsunterbrechung auf eine Invalidierungseinstellung und Sicherheitsverarbeitung, die ausgeführt wird, wenn die Speicherschutzverletzungsunterbrechung auf ungültig festgelegt ist; -
5 ist eine Fehlerverarbeitung, die ausgeführt wird, wenn die Speicherschutzschaltung ein Auftreten der Speicherschutzverletzung im Ansprechen auf einen verletzenden Zugriff ermittelt; -
6 ist ein Sequenzdiagramm, das ein Beispiel einer Zeitbeziehung zwischen einer von einem Mikrocomputer ausgeführten Verarbeitung zeigt; und -
7 ist ein Ablaufdiagramm, das eine Rücksetzverarbeitung zum Zurücksetzen eines Speicherschutzverletzungszählers und einer Invalidierungszeit zeigt.
-
1 12 is a block diagram showing a configuration of an electronic control unit according to an embodiment of the invention; -
2 Fig. 12 is a flowchart showing memory protection processing executed by a memory protection circuit based on memory area setting data set in a memory protection setting register; -
3 Fig. 12 is a flowchart showing processing in an error control circuit; -
4 Fig. 14 is a flowchart showing check processing for switching a memory protection violation interrupt to invalid setting and security processing executed when the memory protection violation interrupt is set to invalid; -
5 is error processing executed when the memory protection circuit detects an occurrence of the memory protection violation in response to a violation access; -
6 Fig. 14 is a sequence chart showing an example of a timing relationship between processing executed by a microcomputer; and -
7 14 is a flowchart showing reset processing for resetting a memory protection violation counter and an invalidation time.
Die Erfindung wird nachstehend unter Bezugnahme auf ein in den Zeichnungen gezeigtes, beispielhaftes Ausführungsbeispiel beschrieben. Eine elektronische Steuereinheit gemäß dem vorliegenden Ausführungsbeispiel wird dazu verwendet, zum Beispiel eine fahrzeuginterne Einrichtung wie etwa eine elektronische Drosselklappe eines Fahrzeugs zu steuern.The invention is described below with reference to an exemplary embodiment shown in the drawings. An electronic control unit according to the present embodiment is used to control, for example, an in-vehicle device such as an electronic throttle of a vehicle.
Das Steuerobjekt der elektronischen Steuereinheit gemäß der Erfindung ist nicht auf die elektronische Drosselklappe beschränkt, sondern kann andere fahrzeuginterne Einrichtungen sein. Ferner kann das Steuerobjekt eine andere Einrichtung als die fahrzeuginterne Einrichtung sein.The control object of the electronic control unit according to the invention is not limited to the electronic throttle valve but may be other in-vehicle devices. Further, the control object may be a device other than the in-vehicle device.
Wie in
Zusätzlich zu der Eingangsschaltung 34 und der Ausgangsschaltung 36 beinhaltet der Mikrocomputer 12 ferner eine CPU 20, ein Speicherschutzeinstellregister 22, eine Speicherschutzschaltung 23, ein Speicherschutzverletzungsunterbrechungseinstellregister 26, eine Fehlersteuerschaltung 28, ein ROM 30, ein RAM 32 und eine Kommunikationsschaltung 38. Die CPU 20 führt, durch Ausführung verschiedenartiger, in dem ROM 30 gespeicherter Programme, eine Offenwinkelsteuerfunktion für die elektronische Drosselklappe 40 und eine Fehlerverarbeitungsfunktion und eine Sicherheitsfunktion im Fall eines Auftretens einer Speicherschutzverletzung durch. Aus diesem Grund speichert das ROM 30 zumindest ein Steuerfunktionsprogramm 30A, ein Sicherheitsfunktionsprogramm 30B, ein Fehlerverarbeitungsprogramm 30C und ein OS- bzw. BS- bzw. Betriebssystemprogramm 30D, wie in
Wenn der Mikrocomputer 12 mit Strom bzw. Leistung versorgt wird, liest die CPU 20 das Betriebssystemprogramm 30D aus dem ROM 30 aus und führt es aus. Die CPU 20 liest ferner andere Anwendungsprogramme aus und führt diese Anwendungsprogramme aus, wenn jeweilige Aktivierungsbedingungen erfüllt sind. Das RAM 32 ist mit bestimmten Bereichen versehen, die jedem Anwendungsprogramm zum Speicher verschiedenartiger Daten, die zum Ausführen jeweiliger Programme notwendig sind, zugewiesen sind. Die Speicherschutzschaltung 24 ist bereitgestellt, um im Prinzip den bestimmten Bereich jedes Anwendungsprogramms vor Zugriffen durch andere Programme zu schützen.When the
Die Speicherschutzschaltung 24 prüft auf der Grundlage von Speicherbereicheinstelldaten, die in dem Speicherschutzeinstellregister 22 eingestellt bzw. festgelegt sind, ob ein Zugriff für die Speicherzugriffsanforderung, die von dem von der CPU 20 ausgeführten Programm erfolgte, zu erlauben oder zu verbieten ist. Speziell bestimmt dann, wenn die Speicherzugriffsanforderung auf den Speicherbereich erfolgt, für welchen ein Zugriff erlaubt ist, die Speicherschutzschaltung 24 eine Erlaubnis des Zugriffs und erlaubt den Zugriff auf den entsprechenden Speicherbereich. Wenn die Speicherzugriffsanforderung als der verletzende Zugriff auf den Speicherbereich bestimmt wird, für welchen der Zugriff verboten ist, verbietet die Speicherschutzschaltung 24 den Zugriff auf den entsprechenden Speicherbereich und bestimmt bzw. ermittelt ein Auftreten einer Speicherschutzverletzung. Es ist folglich möglich, einen Fall derart zu verhindern, dass eine Ausführung eines Anwendungsprogramms fehlerhaft die anderen Anwendungsprogramme oder das Betriebssystemprogramm ebenso wie Daten, welche in jeweiligen Programmen verwendet werden, überschreibt.The
Die Speicherbereicheinstelldaten, welche in dem Speicherschutzeinstellregister 22 eingestellt bzw. festgelegt sind, geben einen Speicherbereich (auf welchen ein Zugriff erlaubt ist) an, auf den durch jedes der Anwendungsprogramme und das Betriebssystemprogramm zugegriffen werden kann. Alternativ kann der Speicherbereich, auf welchen durch jedes Programm nicht zugegriffen werden kann (auf welchen ein Zugriff verboten ist), als die Speicherbereicheinstelldaten festgelegt sein.The memory area setting data set in the memory
Die Speicherbereicheinstelldaten werden durch Ausführung des Betriebssystemprogramms in dem Speicherschutzeinstellregister 22 gespeichert. Zum Beispiel werden die Speicherbereicheinstelldaten vorab Programm für Programm in dem ROM 30 gespeichert. Wenn der Mikrocomputer 12 mit Stromversorgung aktiviert wird, werden die Speicherbereicheinstelldaten jedes Programms aus dem ROM 30 ausgelesen und in dem RAM 32 gespeichert. Durch Ausführung des Betriebssystemprogramms werden die Speicherbereicheinstelldaten des auszuführenden Programms aus dem RAM 32 ausgelesen und in dem Speicherschutzeinstellregisters 22 gespeichert.The memory area setting data is stored in the memory
Das Speicherschutzeinstellregister 22 kann aus zum Beispiel mehreren Registern gebildet sein. In diesem Fall wird zumindest ein Register dazu verwendet, die Speicherbereicheinstelldaten zu speichert, welche den Speicherbereich angeben, auf welchen ein Zugriff durch das OS-Programm möglich ist. Die anderen Register werden zum Speichern der Speicherbereicheinstelldaten verwendet, welche den Speicherbereich angeben, auf den durch die Anwendungsprogramme zugegriffen werden kann. Das Betriebssystemprogramm schreibt nur die Inhalte des Registers neu, welches die Speicherbereicheinstelldaten für die Anwendungsprogramme speichert, wenn das auszuführende Anwendungsprogramm umgeschaltet wird. Mit mehreren Registern als dem Speicherschutzeinstellregister 22 ist es möglich, die Häufigkeit des Neuschreibens der Speicherbereicheinstelldaten zu verringern.The memory
Der vorstehend beschriebene Speicher ist in den meisten Fällen das RAM 32, welches als ein Arbeitsraum jedes Programms verwendet wird. Er kann jedoch das ROM 30 und Register beinhalten. Das heißt, der Speicher kann das RAM 32, das ROM 30 und Register beinhalten und kann kollektiv als ein Adressraum verwaltet werden.The memory described above is the
Wenn die Speicherschutzschaltung 24 ein Auftreten der Speicherschutzverletzung ermittelt und eine Benachrichtigung über die Verletzung ausgibt, gibt die Fehlersteuerschaltung 28 die Speicherschutzverletzungsunterbrechung an die CPU 20, falls die Speicherschutzverletzungsunterbrechung in dem Speicherschutzverletzungsunterbrechungseinstellregister 26 als gültig festgelegt ist, und zeigt dadurch an, dass die Erzeugung der Unterbrechung wirksam gegen die Verletzung arbeiten wird. Die Fehlersteuerschaltung 28 gibt jedoch die Speicherschutzverletzungsunterbrechung nicht aus, falls die Speicherschutzverletzungsunterbrechung in dem Speicherschutzverletzungsunterbrechungseinstellregister 28 als ungültig festgelegt ist, und zeigt dadurch an, dass die Erzeugung der Unterbrechung nicht wirksam gegen die Verletzung arbeiten wird, auch wenn die Benachrichtigung über die Speicherschutzverletzung von der Speicherschutzschaltung 24 empfangen wird. Bei Empfangen der Speicherschutzverletzungsunterbrechung von der Fehlersteuerschaltung 28 führt die CPU 20 die vorbestimmte Fehlerverarbeitung aus. Als die vorbestimmte Fehlerverarbeitung wird die Häufigkeit des Auftretens bzw. von Erscheinungen der Speicherschutzverletzungen durch einen Speicherschutzverletzungszähler gezählt, und wird die Ausgabe des Überwachungssignals aus der Ausgangsschaltung 36 des Mikrocomputers 12 an die integrierte Überwachungsschaltung 16 durch Ausführen zum Beispiel einer Endlosschleifenverarbeitung beendet bzw. angehalten.When the
Die integrierte Überwachungsschaltung des Mikrocomputers 12 gibt ein Rücksetzsignal an dem Mikrocomputer 12 aus, wenn das Überwachungssignal für eine vorbestimmte Zeitspanne von dem Mikrocomputer 12 nicht ausgegeben wird. Aus diesem Grund wird der Mikrocomputer 12 jedes Mal dann zurückgesetzt, wenn die Speicherschutzschaltung 24 das Auftreten der Speicherschutzverletzung in dem Fall ermittelt, in dem die Speicherschutzverletzungsunterbrechung als gültig festgelegt ist. Alternativ kann ähnlich zu der herkömmlichen Weise die gegenwärtig ausgeführte Verarbeitung entsprechend der Speicherschutzverletzungsunterbrechung beendet werden (Befehle verworfen werden), um die nächste Verarbeitung zu beginnen oder das Betriebssystem neu zu starten.The monitor integrated circuit of the
Falls die Speicherschutzverletzung aus permanenter Abnormalität, wie beispielsweise Programmfehlern, auftritt, wird die Speicherschutzverletzungsunterbrechung wiederholt, und besteht die Möglichkeit, dass der Mikrocomputer 12 grundlegend daran gehindert wird, seine Steuerfunktion fortzusetzen, selbst wenn der Mikrocomputer 12 zurückgesetzt wird. Falls die gegenwärtige Verarbeitung beendet wird, um die nächste Verarbeitung zu beginnen, oder das Betriebssystem neu gestartet wird, im Ansprechen auf die Speicherschutzverletzungsunterbrechung, ist es hoch wahrscheinlich, dass eine normale kontinuierliche Fortsetzung der Programme gesperrt wird.If the memory protection violation occurs from permanent abnormality such as program errors, the memory protection violation interruption is repeated, and there is a possibility that the
Aus diesem Grund ist in Übereinstimmung mit dem vorliegenden Ausführungsbeispiel das Speicherschutzverletzungsunterbrechungseinstellregister 26 bereitgestellt, um die Speicherschutzverletzungsunterbrechung auf ungültig zu setzen. Falls die Speicherschutzverletzungsunterbrechung in dem Speicherschutzverletzungsunterbrechungseinstellregister 26 als ungültig festgelegt ist, ist die Fehlersteuerschaltung 28 dazu konfiguriert, die Speicherschutzverletzungsunterbrechung im Ansprechen auf die Benachrichtigung über das Auftreten der Speicherschutzverletzung von der Speicherschutzschaltung 24 nicht zu erzeugen. Aus diesem Grund ist es möglich, die Ausführung der Programme ohne Zurücksetzen des Mikrocomputers 12, Beenden der gegenwärtigen Verarbeitung oder Neustarten des Betriebssystems fortzusetzen. In diesem Fall wird die Speicherschutzverletzungsunterbrechung nicht durchgeführt. Jedoch wird ein verletzender Zugriff auf den Speicherbereich, welcher außerhalb liegt oder ein anderer ist als der zugriffserlaubte Bereich, durch die Speicherschutzschaltung 24 kontinuierlich gesperrt bzw. verboten. Infolge dessen ist es möglich, die Programme sicher ohne fehlerhaftes Überschreiben oder Auslesen von Daten weiter auszuführen.For this reason, in accordance with the present embodiment, the memory protection violation interrupt setting
Zusätzlich zu dem vorstehend beschriebenen Speicherschutz führt die CPU 20 eine Diagnoseverarbeitung durch zum Prüfen, ob der Mikrocomputer 12 normal arbeitet, indem das Sicherheitsfunktionsprogramm 30B ausgeführt wird. Das Diagnoseergebnis der Diagnoseverarbeitung wird über die Kommunikationsschaltung 38 an die integrierte Überwachungsschaltung 16 übertragen. Wenn die integrierte Überwachungsschaltung 16 auf der Grundlage des Diagnoseergebnisses ermittelt, dass eine kritische Abnormalität, welche die normale Steuerung für die elektronische Drosselklappe 40 unterbindet, vorliegt, wendet sie eine Ausschaltausgabe auf die Drosselklappenmotoransteuerschaltung 14 an. Bei Empfangen der Ausschaltausgabe beendet die Drosselklappenmotoransteuerschaltung 14 die Zufuhr des Ansteuerstroms zu dem Drosselklappenmotor, welcher die elektronische Drosselklappe 40 antreibt. Es ist folglich möglich, zu verhindern, dass die elektronische Drosselklappe 40 aufgrund einer Abnormalität des Mikrocomputers 12 abnormal arbeitet.In addition to the memory protection described above, the
In dem vorliegenden Ausführungsbeispiel ist der Mikrocomputer 12 so konfiguriert, dass das Ausschaltsignal von der Ausgabe- bzw. Ausgangsschaltung 36 auch an die Drosselklappenmotoransteuerschaltung 14 angelegt wird. Der Mikrocomputer 12 legt das Ausschaltsignal an die Drosselklappenmotoransteuerschaltung 14 über die Ausgangsschaltung 36 in zum Beispiel den folgenden Fällen an. Der Mikrocomputer 12 misst eine Invalidierungszeitspanne nach dem Invalidieren bzw. Ungültig machen der Erzeugung der Speicherschutzverletzungsunterbrechung durch das Speicherschutzverletzungsunterbrechungseinstellregister 26. Die Invalidierungszeitspanne gibt eine Zeitspanne an, während welcher die Speicherschutzverletzungsunterbrechung fortwährend auf ungültig festgelegt ist. Wenn die gemessene Invalidierungszeitspanne eine vorbestimmte Zeitspanne erreicht, gibt der Mikrocomputer 12 das Ausschaltsignal aus der Ausgangsschaltung 36 an die Drosselklappenmotoransteuerschaltung 14 aus.In the present embodiment, the
Wenn die Erzeugung der Speicherschutzverletzungsunterbrechung auf ungültig gesetzt ist, wird der Zugriff auf den Speicher durch den verletzenden Zugriff verboten. Es ist jedoch weiterhin möglich, dass der verletzende Zugriff selbst fortwährend erzeugt wird. Falls das Programm ohne Beschränkung fortgesetzt ausgeführt wird, kann der verletzende Zugriff auf den Speicher nicht verboten bzw. verhindert werden, wenn ein Fehler bzw. Ausfall in der Speicherschutzschaltung 24 auftritt. Um diesem Problem entgegenzuwirken, legt dann, wenn die Invalidierungszeitspanne, die nach dem Invalidieren der Erzeugung der Speicherschutzverletzungsunterbrechung gemessen wird, der Mikrocomputer 12 die Ausschaltausgabe von der Ausgangsschaltung 36 an die Drosselklappenmotoransteuerschaltung 14 an und beendet das Fließen des Ansteuerstroms zu der elektronischen Drosselklappe 40.If the generation of the memory protection violation interrupt is set to invalid, access to memory by the violating access is prohibited. However, it is still possible that the infringing access itself is perpetually generated. If the program continues to be executed without restriction, the infringing access to the memory cannot be prohibited when a failure occurs in the
Die von der CPU 12 und dergleichen des Mikrocomputers 12 ausgeführte Verarbeitung für den Speicherschutz wird nachstehend unter Bezugnahme auf in
In dem Ablaufdiagramm von
Die Speicherschutzschaltung 24 prüft bei Schritt S110, ob die Adresse des Speichers, auf welche das sich unter Ausführung befindende Programm im Begriff ist, einen Zugriff durchzuführen, ein normaler Zugriff ist, welcher in einem Adressbereich enthalten ist, der in dem Speicherschutzeinstellregister 22 festgelegt ist, oder ein abnormaler Zugriff, welcher nicht in dem festgelegten Adressbereich enthalten ist. Die Speicherbereicheinstelldaten werden durch das Betriebssystemprogramm in dem Speicherschutzeinstellregister 22 gespeichert, wenn das auszuführende Programm umgeschaltet wird. Aus diesem Grund ist es für die Speicherschutzschaltung 24 möglich, durch Bezugnahme auf die Inhalte des Speicherschutzeinstellregisters 22 zur Zeit des Empfangens der Speicherzugriffsanforderung zu prüfen, ob der Zugriff der normale Zugriff oder der verletzende Zugriff ist.The
Falls der Zugriff bei Schritt S110 als der normale Zugriff ermittelt wird, wird bei S120 der Zugriff auf den Speicher erlaubt. Falls der Zugriff bei S110 als der verletzende Zugriff ermittelt wird, wird bei S130 der Zugriff auf den Speicher verboten. In dem folgenden Schritt S140 wird der Fehlersteuerschaltung 28 gemeldet, dass die Speicherschutzverletzung aufgetreten ist. Bei der Prüfung, ob der Zugriff der normale Zugriff oder der verletzende Zugriff ist, können nicht nur der Speicherbereich, auf den zugegriffen werden soll, sondern auch die Inhalte einer Verarbeitung bezüglich des Speichers geprüft werden.If the access is determined to be the normal access at step S110, access to the memory is allowed at S120. If the access is determined to be the offending access at S110, access to the memory is prohibited at S130. In the following step S140, the
Die Verarbeitung, die in der Fehlersteuerschaltung 28 ausgeführt wird, wird als nächstes unter Bezugnahme auf das in
In Schritt S210 prüft die Fehlersteuerschaltung 28, ob die Einstellung bzw. Festlegung des Speicherschutzverletzungsunterbrechungseinstellregisters 26 dazu dient, die Verletzungsunterbrechung zu validieren bzw. gültig zu setzen oder die Verletzungsunterbrechung zu invalidieren bzw. ungültig zu setzen. Falls die Einstellung als die Verletzungsunterbrechung validierend ermittelt wird, erzeugt die Fehlersteuerschaltung 28 bei Schritt S220 die Speicherschutzverletzungsunterbrechung. Falls die Einstellung als die Verletzungsunterbrechung invalidierend ermittelt wird, wird die Verarbeitung beendet, ohne die Speicherschutzverletzungsunterbrechung zu erzeugen.In step S210, the
Als Nächstes wird die in dem Ablaufdiagramm von
Falls der Zählwert des Speicherschutzverletzungszählers bei Schritt S300 gleich oder kleiner ist, wird Schritt 310 ausgeführt, um die Speicherschutzverletzungsunterbrechung in dem Speicherschutzverletzungsunterbrechungseinstellregister 26 auf gültig festzulegen. Falls der Zählwert des Speicherschutzverletzungszählers als gleich oder größer bzw. größer als der vorbestimmte Wert ermittelt wird, wird Schritt S320 ausgeführt, um die Speicherschutzverletzungsunterbrechung auf ungültig festzulegen. Aus diesem Grund wird, soweit die Häufigkeit des Auftretens der Speicherschutzverletzung gleich oder kleiner ist als der vorbestimmte Wert, die Speicherschutzverletzungsunterbrechung auf gültig festgelegt, und wird die Speicherschutzverletzungsunterbrechung bei jedem Auftreten der Speicherschutzverletzung erzeugt. Die Speicherschutzverletzungsunterbrechung wird jedoch auf ungültig festgelegt, wenn die Häufigkeit des Auftretens der Speicherschutzverletzung größer wird als der vorbestimmte Wert. Infolge dessen wird die Speicherschutzverletzungsunterbrechung auch im Falle des Auftretens der Speicherschutzverletzung nicht erzeugt.If the count value of the memory protection violation counter is equal to or smaller at step S300,
Bei dem folgenden Schritt S330 wird eine Warnleuchte in einem Instrumentenfeld vor dem Fahrer aktiviert, d. h. dazu angesteuert, einzuschalten und dadurch den Fahrer über die Abnormalität zu benachrichtigen, welche bewirken wird, dass die Speicherschutzverletzung kontinuierlich auftritt. Zurzeit des Aufleuchtens der Warnleuchte wird die Speicherschutzverletzungsunterbrechung invalidiert, aber arbeitet die Speicherschutzfunktion in gültiger Weise. Infolge dessen werden die Daten in dem Speicher nicht fehlerhaft überschrieben, und wird die Steuerung sicher fortgesetzt.In the following step S330, a warning lamp in an instrument panel in front of the driver is activated, i. H. commanded to turn on, thereby notifying the driver of the abnormality which will cause the memory protection violation to occur continuously. At the time the warning lamp is lit, the memory protection violation interrupt is invalidated, but the memory protection function is validly operating. As a result, the data in the memory is not erroneously rewritten, and control is safely continued.
Bei dem folgenden Schritt S340 wird eine Invalidierungszeitspanne gemessen, nachdem die Speicherschutzverletzungsunterbrechung auf ungültig gesetzt worden ist. Bei Schritt S350 wird geprüft, ob die Invalidierungszeitspanne gleich oder länger ist als eine vorbestimmte Zeitspanne. Falls die Invalidierungszeitspanne als gleich oder länger als die vorbestimmte Zeitspanne ermittelt wird, wird Schritt S360 ausgeführt, um die Ausschaltausgabe über die Ausgangsschaltung 36 an die Drosselklappenmotoransteuerschaltung 14 zu legen. Folglich ist es möglich, das Auftreten unvorhersehbarer Situationen auch dann zu verhindern, wenn die Speicherschutzschaltung 24 ausfällt und gesperrt wird, um den verletzenden Zugriff nach dem Invalidieren der Speicherschutzverletzungsunterbrechung zu verbieten. In diesem Fall ist es erwünscht, den Fahrer durch Aktivieren einer Warnleuchte, die sich von der bei Schritt S330 aktivierten Warnleuchte unterscheidet, oder durch Ändern der Betriebsart der bei Schritt S330 aktivierten Warnleuchte, darüber zu benachrichtigen, dass die ECU 10 das Steuern des Steuerobjekts angehalten hat.In the following step S340, an invalidation period of time is measured after the memory protection violation interrupt has been set to invalid. In step S350, it is checked whether the invalidation period is equal to or longer than a predetermined period. If the invalidation time period is determined to be equal to or longer than the predetermined time period, step S360 is executed to apply the cut-off output to the throttle
In der Verarbeitung des Ablaufdiagramms von
Falls die Speicherzugriffsverletzung fortdauernd bzw. beständig auftritt, wird der Mikrocomputer 12 wiederholt zurückgesetzt und grundlegend gesperrt, um seinen Steuerungsbetriebsablauf fortzusetzen. In dem vorstehend beschriebenen Ausführungsbeispiel jedoch wird in dem Fall, dass die Speicherschutzverletzungsunterbrechung bei Schritt S210 als auf ungültig gesetzt ermittelt wird, wird die Verarbeitung des Ablaufdiagramms von
Wenn der Mikrocomputer 12 zurückgesetzt ist und seinen Betriebsablauf neu beginnt, arbeitet das Betriebssystemprogramm, und wird das Überwachungssignal periodisch ausgegeben (Aktivierung des Überwachungssignals). Das Betriebssystemprogramm liest aus und aktiviert ein Sicherheitsfunktionsprogramm. Das Sicherheitsfunktionsprogramm diagnostiziert den Betriebsablauf des Mikrocomputers 12 und gibt sein Diagnoseergebnis an die integrierte Überwachungsschaltung 16 aus. Falls das Diagnoseergebnis einen kritischen Fehler anzeigt, legt die integrierte Überwachungsschaltung 16 die Ausschaltausgabe an die Drosselklappenmotoransteuerschaltung 14 an.When the
Falls der Zählwert des Speicherschutzverletzungszählers den vorbestimmten Wert erreicht, das heißt, falls die Speicherschutzverletzungsunterbrechung auf ungültig gesetzt wird, misst das Sicherheitsfunktionsprogramm die Invalidierungszeitspanne der Speicherschutzverletzungsunterbrechung und führt eine Verarbeitung zum Aktivieren der Warnleuchte aus. Wenn die Invalidierungszeitspanne als länger als die vorbestimmte Zeitspanne ermittelt wird, legt das Sicherheitsfunktionsprogramm die Ausschaltausgabe über die Ausgangsschaltung 36 an die Drosselklappenmotoransteuerschaltung 14 an.If the count value of the memory protection violation counter reaches the predetermined value, that is, if the memory protection violation interrupt is set invalid, the safety function program measures the invalidation period of the memory protection violation interrupt and executes processing for activating the warning lamp. If the invalidation time period is determined to be longer than the predetermined time period, the safety functions program applies the disable output to the throttle
Nachstehend wird eine Rücksetzverarbeitung zum Zurücksetzen des Speicherschutzverletzungszählers und der Invalidierungszeitspanne unter Bezugnahme auf das Ablaufdiagramm von
Bei einem ersten Schritt S500 wird der Fahrzyklus zu bzw. bei der Endezeit des Fahrzyklus aktualisiert. In einem nächsten Schritt S510 wird der Zählwert des Speicherschutzverletzungszählers, der in dem vorangehenden Zyklus gespeichert wurde, ausgelesen. Der Zählwert des Speicherschutzverletzungszählers wird mit dem entsprechenden Fahrzyklus kombiniert, das heißt, der Zählwert und der Fahrzyklus werden korreliert, und als die Kombination in einem Speicher gespeichert, welcher in der Lage ist, deren Inhalte auch nach dem Ausschalten des Zündschalters zu speichern, wie beispielsweise ein nicht-flüchtiger Speicher und ein stromgestütztes RAM.At a first step S500, the driving cycle is updated at the end time of the driving cycle. In a next step S510, the count value of the memory protection violation counter stored in the previous cycle is read out. The count value of the memory protection violation counter is combined with the corresponding driving cycle, that is, the count value and the driving cycle are correlated, and stored as the combination in a memory capable of storing their contents even after the ignition switch is turned off, such as a non-volatile memory and a powered RAM.
Bei einem nächsten Schritt S520 wird der aktuelle Zählwert des Speicherschutzverletzungszählers ausgelesen. Dann werden bei einem Schritt S530 der vorangehende Zählwert des Speicherschutzverletzungszählers, der in dem vorangehenden Fahrzyklus gespeichert wurde, und der aktuelle Wert des Speicherschutzverletzungszählers verglichen, um zu prüfen, ob die beiden Zählwerte gleich sind. Der Speicherschutzverletzungszähler behält seinen Zählwert ungeachtet des Einschaltens und Ausschaltens des Zündschalters bei, bis sein Zählwert bei Schritt S400 in dem Ablaufdiagramm von
Es wird angemerkt, dass die Speicherschutzverletzungsunterbrechung als ein Teil einer Initialisierungsverarbeitung dann, wenn der Zündschalter eingeschaltet und der aktuelle Fahrzyklus begonnen wird, auf gültig gesetzt wird. Aus diesem Grund wird in dem Fall, dass die Speicherschutzverletzung in dem aktuellen Fahrzyklus auftritt, die Fehlerverarbeitung im Ansprechen auf die Speicherschutzverletzungsunterbrechung ausgeführt, und wird der Zählwert des Speicherschutzverletzungszählers inkrementiert. Falls keine Speicherschutzverletzung in dem aktuellen Fahrzyklus auftritt, bleibt der Zählwert des Speicherschutzverletzungszählers derselbe wie der Zählwert des Speicherschutzverletzungszählers, der in dem vorangehenden Zyklus gespeichert wurde.It is noted that the memory protection violation interrupt is validated as part of initialization processing when the ignition switch is turned on and the current driving cycle is started. For this reason, in the event that the memory protection violation occurs in the current driving cycle, the error processing is executed in response to the memory protection violation interruption, and the count value of the memory protection violation counter is incremented. If no memory violation occurs in the current drive cycle, the count of the memory violation counter remains the same as the count of the memory violation counter stored in the previous cycle.
Es wird ferner angemerkt, dass kein Umschalten der Festlegung der Speicherschutzverletzungsunterbrechung auf gültig oder ungültig in Entsprechung zu dem Zählwert der Speicherschutzverletzungsunterbrechung als ein Teil der Initialisierungsverarbeitung nicht erfolgt, bis zumindest ein Auftreten der Speicherschutzverletzung ermittelt wird, nachdem die Speicherschutzverletzungsunterbrechung auf gültig gesetzt ist. Folglich ist es auch dann, wenn der Zählwert des Speicherschutzverletzungszählers inkrementiert wurde, bis die Speicherschutzverletzungsunterbrechung in dem vorangehenden Fahrzyklus auf ungültig gesetzt worden war, möglich, zumindest ein Auftreten der Speicherschutzverletzung durch den Speicherschutzverletzungszähler in dem aktuellen Fahrzyklus zu zählen.It is further noted that no toggling of the memory protection violation interrupt determination as valid or invalid in Correspondence to the memory protection violation interrupt count is not made as part of the initialization processing until at least one occurrence of the memory protection violation interrupt is detected after the memory protection violation interrupt is validated. Consequently, even if the count value of the memory protection violation counter was incremented until the memory protection violation interrupt was set to invalid in the previous driving cycle, it is possible to count at least one occurrence of the memory protection violation by the memory protection violation counter in the current driving cycle.
Die vorstehend unter Bezugnahme auf ein bevorzugtes Ausführungsbeispiel beschriebene Erfindung ist nicht auf das offenbarte Ausführungsbeispiel beschränkt, sondern kann mit verschiedenartigen Modifikationen implementiert werden.The invention described above with reference to a preferred embodiment is not limited to the disclosed embodiment but can be implemented with various modifications.
Zum Beispiel kann in dem vorstehend beschriebenen Ausführungsbeispiel die vorbestimmte Zeitspanne, die dazu verwendet wird, mit der Invalidierungszeitspanne zum Ermitteln des Zeitpunkts des Anlegens der Ausschaltausgabe an die Drosselklappenmotoransteuerschaltung 14 verglichen zu werden, eine feste Zeitspanne oder eine variable Zeitspanne sein. Falls die vorbestimmte Zeitspanne variabel ausgelegt ist, kann die Länge der vorbestimmten Zeitspanne mit zum Beispiel einem Zeitintervall von Erscheinungen der Speicherschutzverletzungsunterbrechungen variiert werden. Speziell kann das Zeitintervall zwischen Erscheinungen der Speicherschutzverletzungsunterbrechungen durch einen Intervallmessteil gemessen werden, und kann die vorbestimmte Zeitspanne, welche mit der Invalidierungszeitspanne zu vergleichen ist, vergrößert werden, wenn ein Mittelwert von Zeitintervallen, die durch den Intervallmessteil gemessen wurden, zunimmt.For example, in the embodiment described above, the predetermined time period used to be compared with the invalidation time period for determining the timing of applying the disable output to the throttle
Ferner wird in dem vorstehend beschriebenen Ausführungsbeispiel geprüft, ob die Abnormalität mit Bezug zu der Speicherschutzverletzung beseitigt ist, indem der aktuelle Zählwert des Speicherschutzverletzungszählers, der zur Endezeit des aktuellen Fahrzyklus bereitgestellt wurde, mit dem vorangehenden Zählwert des Speicherschutzverletzungszählers, welcher zur Endezeit (erster Zeitpunkt) des vorangehenden Fahrzyklus gespeichert wurde, verglichen wird. Jedoch braucht der Zeitpunkt (zweiter Zeitpunkt) des Messens des Zählwerts des Speicherschutzverletzungszählers in dem aktuellen Fahrzyklus nicht immer bei der Endezeit des aktuellen Fahrzyklus liegen, sondern kann bei einem Zeitpunkt liegen, welcher ein ausreichendes Zeitintervall zum zumindest einmaligen Ausführen des Programms, das die Speicherschutzverletzung verursacht, nach dem Beginnen des aktuellen Fahrzyklus sicherstellt.Further, in the embodiment described above, it is checked whether the abnormality related to the memory protection violation is eliminated by comparing the current count value of the memory protection violation counter provided at the end time of the current driving cycle with the previous count value of the memory protection violation counter provided at the end time (first time point). of the previous driving cycle was stored is compared. However, the point in time (second point in time) of measuring the count value of the memory protection violation counter in the current driving cycle does not always have to be at the end time of the current driving cycle, but can be at a point in time which is a sufficient time interval for at least once executing the program that causes the memory protection violation , after starting the current driving cycle.
Claims (5)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016-147634 | 2016-07-27 | ||
JP2016147634A JP6589767B2 (en) | 2016-07-27 | 2016-07-27 | Electronic control unit |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102017211568A1 DE102017211568A1 (en) | 2018-02-01 |
DE102017211568B4 true DE102017211568B4 (en) | 2022-04-28 |
Family
ID=60951528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102017211568.8A Active DE102017211568B4 (en) | 2016-07-27 | 2017-07-06 | ELECTRONIC CONTROL UNIT |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6589767B2 (en) |
DE (1) | DE102017211568B4 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140136806A1 (en) | 2009-11-25 | 2014-05-15 | Micron Technology, Inc. | Authenticated Operations and Event Counters |
JP2014137734A (en) | 2013-01-17 | 2014-07-28 | Toyota Motor Corp | Information processor and program |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006235924A (en) * | 2005-02-24 | 2006-09-07 | Denso Corp | Electronic control device for detecting execution address abnormality of program |
JP5942778B2 (en) * | 2012-10-22 | 2016-06-29 | トヨタ自動車株式会社 | Information processing device |
JP5975923B2 (en) * | 2013-03-29 | 2016-08-23 | 日立オートモティブシステムズ株式会社 | Vehicle control device |
JP6323235B2 (en) * | 2014-07-29 | 2018-05-16 | 株式会社デンソー | Electronic control unit |
-
2016
- 2016-07-27 JP JP2016147634A patent/JP6589767B2/en active Active
-
2017
- 2017-07-06 DE DE102017211568.8A patent/DE102017211568B4/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140136806A1 (en) | 2009-11-25 | 2014-05-15 | Micron Technology, Inc. | Authenticated Operations and Event Counters |
JP2014137734A (en) | 2013-01-17 | 2014-07-28 | Toyota Motor Corp | Information processor and program |
Also Published As
Publication number | Publication date |
---|---|
JP2018018274A (en) | 2018-02-01 |
JP6589767B2 (en) | 2019-10-16 |
DE102017211568A1 (en) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2718689B1 (en) | Method for monitoring a subsystem installed in a motor vehicle | |
DE19929796B4 (en) | Apparatus and method for rewriting data from a volatile memory to a nonvolatile memory | |
DE102014222860A1 (en) | Electronic vehicle control unit | |
WO2016156095A1 (en) | Method for protecting security-relevant data in a cache memory | |
DE102005009813B4 (en) | Electronic control system and method with microcomputer monitoring suppression function | |
DE102017211568B4 (en) | ELECTRONIC CONTROL UNIT | |
DE102006047637A1 (en) | Method for scanning an environment of a vehicle | |
DE102016200130B4 (en) | Electronic control device | |
WO2015135704A1 (en) | Device and method for detecting a manipulation to a program code | |
DE102020205416A1 (en) | Device and method for diagnosing a sleep mode of a CAN for a vehicle | |
DE112019007432T5 (en) | ELECTRONIC CONTROL UNIT AND PROGRAM | |
DE3714325A1 (en) | DATA PROTECTION DEVICE FOR A COMPUTER OF AN INTERNAL COMBUSTION ENGINE CONTROLLER | |
DE102016200413A1 (en) | MICROCOMPUTER | |
DE102022100458A1 (en) | ON-BOARD INFORMATION PROCESSING EQUIPMENT, INFORMATION PROCESSING METHOD AND COMPUTER READABLE STORAGE MEDIA | |
DE102006003147B4 (en) | Method of restoring control of a continuously resetting control unit | |
DE102013221343A1 (en) | CONTROL DEVICE AND VEHICLE CONTROL SYSTEM | |
EP1894101A1 (en) | Method and apparatus for monitoring unauthorized access to the memory of an arithmetic unit, especially in a motor vehicle | |
DE102017219195B4 (en) | PROCEDURE FOR ENSURE OPERATION OF A COMPUTER | |
DE112020007129T5 (en) | INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD | |
DE102018219700B4 (en) | Control device | |
DE112020002650T5 (en) | vehicle device | |
DE102017208872A1 (en) | Electronic control unit | |
DE102017200280B4 (en) | Method and apparatus for qualifying a fault of a sensor by means of status information | |
EP3752911A1 (en) | Method for installing a program code packet onto a device, device, and motor vehicle | |
DE102019208129B4 (en) | Electronic control unit |
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 |