DE102017211568A1 - ELECTRONIC CONTROL UNIT - Google Patents

ELECTRONIC CONTROL UNIT Download PDF

Info

Publication number
DE102017211568A1
DE102017211568A1 DE102017211568.8A DE102017211568A DE102017211568A1 DE 102017211568 A1 DE102017211568 A1 DE 102017211568A1 DE 102017211568 A DE102017211568 A DE 102017211568A DE 102017211568 A1 DE102017211568 A1 DE 102017211568A1
Authority
DE
Germany
Prior art keywords
memory protection
memory
microcomputer
access
interrupt
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
DE102017211568.8A
Other languages
German (de)
Other versions
DE102017211568B4 (en
Inventor
Hirotaka Kunibe
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 DE102017211568A1 publication Critical patent/DE102017211568A1/en
Application granted granted Critical
Publication of DE102017211568B4 publication Critical patent/DE102017211568B4/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection 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/1425Protection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/073Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/40Services specially adapted for particular environments, situations or purposes for vehicles, e.g. vehicle-to-pedestrians [V2P]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/17Embedded application
    • G06F2212/173Vehicle or other transportation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2139Recurrent verification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access 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)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

Eine elektronische Steuereinheit (10) beinhaltet einen Mikrocomputer (12), welcher einen Speicherschutzteil (22, 24, 28) zum Verbieten, als einen verletzenden Zugriff, eines Zugriffs auf einen anderen Bereich als einen zugriffserlaubten Speicherbereich und Erzeugen, bei Auftreten des verletzenden Zugriffs, eine Speicherschutzverletzungsunterbrechung umfasst. Der Mikrocomputer (12) zählt eine Häufigkeit von verletzenden Zugriffen und invalidiert die Erzeugung der Speicherschutzverletzungsunterbrechung in dem Fall, in dem ein Zählwert der verletzenden Zugriffe einen vorbestimmten Zählwert erreicht. Nach der Invalidierung der Speicherschutzverletzungsunterbrechung wird der Mikrocomputer in die Lage versetzt, damit fortzufahren, Programme auszuführen, ohne eine gegenwärtig ausgeführte Verarbeitung zu beenden oder eine Betriebssystemverarbeitung neu zu beginnen. Da der Speicherschutzteil seine Speicherschutzfunktion fortsetzt, werden die Programme sicher ausgeführt.An electronic control unit (10) includes a microcomputer (12) having a memory protection part (22, 24, 28) for prohibiting, violating access, access to a region other than an accessable memory area, and generating at the time of the infringing access, includes a memory protection interrupt. The microcomputer (12) counts a frequency of violating accesses and invalidates the generation of the memory protection violation interrupt in the case where a count of the violating accesses reaches a predetermined count value. After invalidating the memory protection interrupt, the microcomputer is enabled to continue executing programs without terminating currently executing processing or restarting operating system processing. As the memory protection part continues its memory protection function, the programs are safely executed.

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 having a microcomputer which prohibits access to memory areas other than authorized memory areas and generates a memory protection interrupt when an offending access occurs.

Die Druckschrift JP 2014-137734A offenbart eine Informationsverarbeitungseinheit, welche eine Speicherschutzfunktion aufweist. Diese Informationsverarbeitungseinheit beinhaltet eine zentrale Verarbeitungseinheit (CPU) zum Ausführen mehrerer Anwendungsprogramme, die in einem Speicher gespeichert sind, und einen Zugriffsüberwachungsteil zum Registrieren von Erlaubnis- und Verbotsinformation in Entsprechung zu jeder Adresse. Die Erlaubnis- und Verbotsinformation zeigt für jedes Anwendungsprogramm an, ob ein Zugriff auf den Speicher erlaubt oder verboten ist. The publication JP 2014-137734A discloses an information processing unit having a memory protection function. This information processing unit includes a central processing unit (CPU) for executing a plurality of application programs stored in a memory, and an access control part for registering permission and prohibition information corresponding to each address. The permission and prohibition information indicates for each application program whether access to the memory is allowed or prohibited.

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 part, and a backup part. The data storage section stores data stored in an address of the memory to which the CPU has made a memory access from the memory into a save area together with the address accessed when the access monitoring section detects that the Memory access was made to the memory, which was banned by the executing the application program CPU. The permission / prohibition information changing part changes the permission / prohibition information to allow access to the address to which the CPU has made the memory access. The backup part saves the data from the memory into a backup area together with the corresponding address in combination after the CPU executing the application program has accessed the prohibited 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 has 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 backup part in the save 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 violation interrupt that terminates the currently executing processing (discarding commands) and assigns the CPU next processing or restart of an OS. In accordance with this exception processing, the execution of programs is restricted. However, in accordance with the information processing unit described above, it is possible to continue the 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. Infolge dessen nimmt ein Überhang zu. The information processing unit described above requires extra and additional memory areas for redundantly storing and saving data. Further, since the memory protection circuit generates the exception when the access violation occurs, further for saving data or executing the permission / prohibition information change processing and transferring the data from the backup area after storing the data in the memory area at the time of switching applications. As a result, an overhang increases.

Die Erfindung adressiert das vorstehend beschriebene Problem und hat als eine Aufgabe, eine elektronische Steuereinheit bereitzustellen, welche in der Lage ist, Programme sicher und ohne Zunahme von Speicherbereichen und Überhang kontinuierlich auszuführen. The invention addresses the problem described above and has as an object to provide an electronic control unit which is capable of executing programs continuously and without increasing storage areas and overhang continuously.

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 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. In accordance with the invention, an electronic control unit includes a microcomputer that includes a memory protection part for prohibiting, violating access, accessing a region other than an accessable memory area, and generating, at the occurrence of the offending access, a memory protection interruption. The microcomputer is characterized by further comprising a counting part and an invalidating part. The count part counts a frequency of infringing accesses. The invalidating part invalidates the generation of the memory protection interruption interrupt in the case where a counted count of the violating accesses counted by the counting part reaches a predetermined count value.

1 ist ein Blockdiagramm, das eine Konfiguration einer elektronischen Steuereinheit gemäß einem Ausführungsbeispiel der Erfindung zeigt; 1 Fig. 10 is a block diagram showing a configuration of an electronic control unit according to an embodiment of the invention;

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; 2 Fig. 10 is a timing chart showing memory protection processing executed by a memory protection circuit based on memory area setting data set in a memory protection setting register;

3 ist ein Ablaufdiagramm, das eine Verarbeitung in einer Fehlersteuerschaltung zeigt; 3 Fig. 10 is a flowchart showing processing in an error control circuit;

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; 4 Fig. 10 is a flow chart showing a check processing for switching a memory protection interrupt to invalidation setting and security processing executed when the memory protection interruption is set to invalid;

5 ist eine Fehlerverarbeitung, die ausgeführt wird, wenn die Speicherschutzschaltung ein Auftreten der Speicherschutzverletzung im Ansprechen auf einen verletzenden Zugriff ermittelt; 5 is an error processing executed when the memory protection circuit detects occurrence of the memory protection violation in response to an infringing access;

6 ist ein Sequenzdiagramm, das ein Beispiel einer Zeitbeziehung zwischen einer von einem Mikrocomputer ausgeführten Verarbeitung zeigt; und 6 Fig. 11 is a sequence diagram showing an example of a timing relationship between processing executed by a microcomputer; and

7 ist ein Ablaufdiagramm, das eine Rücksetzverarbeitung zum Zurücksetzen eines Speicherschutzverletzungszählers und einer Invalidierungszeit zeigt. 7 FIG. 10 is a flowchart showing a 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 will be 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 valve of a vehicle.

1 zeigt ein Beispiel einer Gesamtkonfiguration einer elektronischen Steuereinheit (ECU) 10, welche eine elektronische Drosselklappe 40 als ein Steuerobjekt bzw. zu steuerndes Objekt steuert. In diesem Beispiel berechnet die ECU 10 eine Motorleistung, welche der Fahrer anfordert, im Ansprechen auf ein Beschleuniger- bzw. Fahrpedalbetätigungsausmaß des Fahrers, das durch einen Beschleuniger- bzw. Fahrpedalsensor erfasst wird, und steuert die elektronische Drosselklappe 40 dazu, die berechnete Motorleistung zu erzeugen. 1 shows an example of an overall configuration of an electronic control unit (ECU) 10 which is an electronic throttle 40 as a control object or object to be controlled. In this example, the ECU calculates 10 an engine output requested by the driver in response to an accelerator pedal operation amount of the driver detected by an accelerator pedal sensor and controls the electronic throttle valve 40 to generate the calculated engine power.

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 but may be other in-vehicle devices. Further, the control object may be a device other than the in-vehicle device.

Wie in 1 gezeigt, beinhaltet die ECU 10 einen Mikrocomputer 12, eine Drosselklappenmotoransteuerschaltung 14 und eine integrierte Überwachungsschaltung bzw. ein Überwachungs-IC 16. Der Mikrocomputer 12 empfängt ein Erfassungssignal des Beschleunigungssensors, welcher das Betätigungsausmaß des Fahrpedals erfasst, über eine Eingangsschaltung 34. Der Mikrocomputer 12 berechnet die Motorausgangsleistung (Motordrehmoment), welche der Fahrer anfordert, auf der Grundlage des empfangenen Erfassungssignals. Der Mikrocomputer 12 legt eine Ansteuerausgabe an die Drosselklappenmotoransteuerschaltung 14 über die Ausgangsschaltung 36 so an, dass die elektronische Drosselklappe 40 dazu gesteuert wird, die berechnete Motorausgangsleistung zu erzeugen. Die Drosselklappenmotoransteuerschaltung 14 gibt im Ansprechen auf die von dem Mikrocomputer 12 angelegte Ansteuerausgabe einen Ansteuer- bzw. Treiberstrom zum Rotieren eines (nicht gezeigten) Drosselklappenmotors aus. Folglich wird der Öffnungswinkel der elektronischen Drosselklappe 40 durch den Drosselklappenmotor verändert, welcher entsprechend dem Ansteuerstrom rotiert. As in 1 shown includes the ECU 10 a microcomputer 12 , a throttle motor drive circuit 14 and an integrated monitoring circuit or a monitoring IC 16 , The microcomputer 12 receives a detection signal of the acceleration sensor, which detects the operation amount of the accelerator pedal, via an input circuit 34 , The microcomputer 12 calculates the engine output (engine torque) requested by the driver based on the received detection signal. The microcomputer 12 sets a drive output to the throttle motor drive circuit 14 via the output circuit 36 so on that the electronic throttle 40 is controlled to generate the calculated engine output power. The throttle motor drive circuit 14 gives in response to the from the microcomputer 12 applied drive output from a drive or driving current for rotating a (not shown) throttle motor. Consequently, the opening angle of the electronic throttle 40 changed by the throttle valve motor, which rotates according to the drive current.

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 1 gezeigt. Das Steuerfunktionsprogramm 30A ist bereitgestellt, um den Offenwinkel bzw. Öffnungswinkel der elektronischen Drosselklappe 40 zu steuern. Das Sicherheitsfunktionsprogramm 30B ist bereitgestellt, um den Mikrocomputer 12 zu diagnostizieren, und führt eine Sicherheitsverarbeitung im Falle eines Auftretens der Speicherschutzverletzung aus. Das Fehlerverarbeitungsprogramm 30C ist bereitgestellt, um eine Fehlerverarbeitung zu definieren, welche auszuführen ist, wenn die Fehlersteuerschaltung 28 die Speicherschutzverletzungsunterbrechung erzeugt. Das Betriebssystemprogramm 30D ist als eine grundlegende Software bereitgestellt, welche die Ausführung jedes vorstehend beschriebenen Anwendungsprogramms unterstützt und verwaltet. In addition to the input circuit 34 and the output circuit 36 includes the microcomputer 12 furthermore a CPU 20 , a memory protection register 22 , a memory protection circuit 23 , a memory protection interruption setting register 26 , an error control circuit 28 , a ROM 30 , a ram 32 and a communication circuit 38 , The CPU 20 leads, by performing various, in the ROM 30 stored programs, an open angle control function for the electronic throttle 40 and an error processing function and a safety function in case of occurrence of a memory protection violation. Because of this, the ROM saves 30 at least one control function program 30A , a safety function program 30B , an error processing program 30C and an OS or BS or operating system program 30D , as in 1 shown. The control function program 30A is provided to the open angle or opening angle of the electronic throttle 40 to control. The safety function program 30B is provided to the microcomputer 12 to diagnose and performs security processing in the event of a memory protection violation. The error processing program 30C is provided to define an error processing to be executed when the error control circuit 28 generates the memory protection interrupt. The operating system program 30D is provided as basic software that supports and manages the execution of each application program described above.

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. If the microcomputer 12 is supplied with power or power, reads the CPU 20 the operating system program 30D from the ROM 30 and execute it. The CPU 20 It also reads other application programs and executes those application programs if respective activation conditions are met. The RAM 32 is provided with certain areas which allow each application program to store various types of data, that are necessary for executing respective programs. The memory protection circuit 24 is provided to protect, in principle, the particular area of each application program from access by other programs.

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 memory protection circuit 24 checks on the basis of memory area setting data stored in the memory protection setting register 22 are set or fixed, whether an access for the memory access request, that of the CPU 20 executed, allowed or prohibited. Specifically, when the memory access request is made to the memory area for which access is permitted, the memory protection circuit is determined 24 a permission of access and allows access to the corresponding memory area. If the memory access request is determined as the offending access to the memory area for which access is prohibited, the memory protection circuit prohibits 24 access to the corresponding memory area and determines or determines an occurrence of a memory protection violation. It is thus possible to prevent a case such that execution of an application program erroneously overwrites the other application programs or the operating system program as well as data used in respective programs.

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 stored in the memory protection setting register 22 are set, specify a memory area (to which access is permitted) that can be accessed by any of the application programs and the operating system program. Alternatively, the storage area which can not be accessed by each program (to which access is prohibited) may be set as the storage area setting data.

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 made by executing the operating system program in the memory protection setting register 22 saved. For example, the storage area setting data is pre-program by program in the ROM 30 saved. If the microcomputer 12 is activated with power supply, the memory area setting data of each program are read from the ROM 30 read out and in the RAM 32 saved. By executing the operating system program, the memory area setting data of the program to be executed becomes the RAM 32 and in the memory protection setting register 22 saved.

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 protection register 22 may be formed of, for example, multiple registers. In this case, at least one register is used to store the storage area setting data indicating the storage area on which access by the OS program is possible. The other registers are used for storing the memory area setting data indicating the memory area that can be accessed by the application programs. The operating system program only rewrites the contents of the register which stores the memory area setting data for the application programs when the application program to be executed is switched. With multiple registers as the memory protection register 22 For example, it is possible to reduce the frequency of rewriting the memory area setting data.

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 RAM in most cases 32 which is used as a workspace of each program. He can, however, the ROM 30 and registers. That is, the memory can be the RAM 32 , the ROM 30 and registers may be collectively managed as an address space.

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 memory protection circuit 24 determines an occurrence of the memory protection violation and issues a notification of the violation, gives the error control circuit 28 the memory protection interrupt to the CPU 20 in case the memory protection interrupt is in the memory protection violation setting register 26 is valid, thereby indicating that the generation of the interruption will effectively work against the violation. The error control circuit 28 However, if the memory protection violation interrupt is not in the memory protection violation set register, it does not issue the memory protection violation interrupt 28 is determined to be invalid, thereby indicating that the generation of the interrupt will not effectively work against the violation, even if the memory protection violation notification is made by the memory protection circuit 24 Will be received. Upon receiving the memory protection violation interrupt from the error control circuit 28 leads the CPU 20 the predetermined error processing. As the predetermined error processing, the frequency of occurrence of memory protection violations by a memory protection violation counter is counted, and the output of the monitor signal from the output circuit becomes 36 of the microcomputer 12 to the integrated monitoring circuit 16 by stopping, for example, an endless loop processing.

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 integrated monitoring circuit of the microcomputer 12 gives a reset signal to the microcomputer 12 from when the monitoring signal for a predetermined period of the microcomputer 12 is not issued. Because of this, the microcomputer becomes 12 each time reset when the memory protection circuit 24 determines the occurrence of the memory protection violation in the case where the memory protection interrupt is set to valid. Alternatively, similar to the conventional manner, the currently executing processing corresponding to the memory protection interruption may be ended (instructions discarded) to start the next processing or restart the operating system.

Falls die Speicherschutzverletzung aus permanenter Abnormalität, wie beispielsweise Programmfehlern, auftritt, wird die Speicherschutzverletzungsunterbrechung wiederholt, und besteht die Möglichkeit, den Mikrocomputer 12 grundlegend außer Betrieb zu setzen, um seine Steuerfunktion auch dann fortzusetzen, 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 interrupt is repeated, with the possibility of the microcomputer 12 basically to put it out of operation to continue its control function, even if the microcomputer 12 is reset. If the current processing is terminated to start the next processing, or the operating system is restarted in response to the memory protection interruption, it is highly likely that normal continuous continuation of the programs will be disabled.

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 register is 26 provided to invalidate the memory protection interrupt. If the memory protection interrupt in the memory protection violation interrupt setting register 26 is set as invalid is the error control circuit 28 configured to the memory protection interrupt in response to the notification of the occurrence of the memory protection violation of the memory protection circuit 24 not to produce. For this reason, it is possible to run the programs without resetting the microcomputer 12 To stop completing the current processing or restarting the operating system. In this case, the memory protection interrupt is not performed. However, an infringing access to the memory area which is outside or other than the allowed area by the memory protection circuit 24 continuously blocked or prohibited. As a result, it is possible to securely execute the programs without erroneously overwriting or reading data.

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 CPU performs 20 a diagnostic processing for checking if the microcomputer 12 works normally by the safety function program 30B is performed. The diagnostic result of the diagnostic processing is via the communication circuit 38 to the integrated monitoring circuit 16 transfer. When the integrated monitoring circuit 16 Based on the diagnostic result, it determines that a critical abnormality, which is the normal control for the electronic throttle 40 If present, it applies a turn-off output to the throttle motor drive circuit 14 at. Upon receiving the turn-off output, the throttle motor drive circuit terminates 14 the supply of the drive current to the throttle motor, which is the electronic throttle 40 drives. It is therefore possible to prevent the electronic throttle 40 due to an abnormality of the microcomputer 12 works abnormally.

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 microcomputer is 12 configured so that the turn-off signal from the output or output circuit 36 also to the throttle motor drive circuit 14 is created. The microcomputer 12 sets the turn-off signal to the throttle motor drive circuit 14 via the output circuit 36 in for example the following cases. The microcomputer 12 measures an invalidation period after invalidating or invalidating the generation of the memory protection violation interrupt by the memory protection violation interrupt setting register 26 , The invalidation period indicates a period of time during which the memory protection interrupt is continually set to invalid. When the measured invalidation period reaches a predetermined period of time, the microcomputer outputs 12 the switch-off signal from the output circuit 36 to the throttle motor drive circuit 14 out.

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 interrupt is set to invalid, access to the memory is prohibited by the infringing access. However, it is still possible that the offending access itself is continually generated. If the program continues to run without restriction, the offending access to the memory can not be prohibited if a failure in the memory protection circuit 24 occurs. To counteract this problem, when the invalidation period measured after invalidating the memory protection interruption generation, the microcomputer sets 12 the turn-off output from the output circuit 36 to the throttle motor drive circuit 14 and stops the flow of drive current to the electronic throttle 40 ,

Die von der CPU 12 und dergleichen des Mikrocomputers 12 ausgeführte Verarbeitung für den Speicherschutz wird nachstehend unter Bezugnahme auf in 2 bis 5 gezeigte Ablaufdiagramme beschrieben. Das Ablaufdiagramm von 2 zeigt eine Speicherschutzverarbeitung, die von der Speicherschutzschaltung 24 auf der Grundlage der in dem Speicherschutzeinstellregister 22 eingestellten bzw. festgelegten Daten ausgeführt wird. Das Ablaufdiagramm von 3 zeigt eine Verarbeitung, die von der Fehlersteuerschaltung 28 ausgeführt wird. Die Speicherschutzschaltung 24 und die Fehlersteuerschaltung 28 können als Hardwareschaltungen konfiguriert sein, welche dieselben Funktionen wie die in 2 und 3 gezeigte Verarbeitung durchführen. Das Ablaufdiagramm von 4 zeigt eine von der CPU 20 dann, wenn die Speicherschutzverletzungsunterbrechung auf die Invalidierungs- bzw. Ungültigkeitsfestlegung bzw. Einstellung umgeschaltet wird, ausgeführte Prüfverarbeitung und eine von der CPU 20 dann, wenn die Speicherschutzverletzungsunterbrechung auf ungültig festgelegt ist, ausgeführte Sicherheitsverarbeitung. Das Ablaufdiagramm von 5 zeigt eine Fehlerverarbeitung, die von der CPU 20 dann, wenn die Speicherschutzverletzungsunterbrechung durch die Fehlersteuerschaltung 28 erzeugt wird, ausgeführt wird. The from the CPU 12 and the like of the microcomputer 12 executed processing for memory protection will be described below Referring to in 2 to 5 Flowcharts shown described. The flowchart of 2 shows a memory protection processing performed by the memory protection circuit 24 based on the memory protection setting register 22 set or specified data is executed. The flowchart of 3 shows a processing performed by the error control circuit 28 is performed. The memory protection circuit 24 and the error control circuit 28 may be configured as hardware circuits having the same functions as those in FIG 2 and 3 perform processing shown. The flowchart of 4 shows one from the CPU 20 then, when the memory protection interrupt is switched to the invalidation setting, executed test processing and one of the CPU 20 then, if the memory protection interrupt is set to invalid, executed security processing. The flowchart of 5 shows error processing by the CPU 20 when the memory protection interrupt is interrupted by the error control circuit 28 is generated is executed.

In dem Ablaufdiagramm von 2 empfängt zunächst bei Schritt S100 die Speicherschutzschaltung 24 die Anforderung des Zugriffs auf den Speicher. Die Speicherzugriffsanforderung beinhaltet zum Beispiel eine Adresse des Speichers, auf die zugegriffen werden soll, eine Art eines Programms, das die Speicherzugriffsanforderung erzeugt, und Information, die Inhalte einer Verarbeitung (Lesen, Schreiben) bezüglich des Speichers angibt. In the flowchart of 2 first receives the memory protection circuit at step S100 24 the request for access to the memory. The memory access request includes, for example, an address of the memory to be accessed, a type of program that generates the memory access request, and information indicating contents of processing (reading, writing) with respect to the memory.

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 memory protection circuit 24 in step S110, checks whether the address of the memory to which the executing program is about to perform an access is a normal access contained in an address area included in the memory protection setting register 22 is fixed, or an abnormal access which is not included in the designated address range. The memory area setting data is stored in the memory protection setting register by the operating system program 22 stored when the program to be executed is switched. For this reason, it is for the memory protection circuit 24 possible by referring to the contents of the memory protection setting register 22 to check, at the time of receiving the memory access request, whether the access is the normal access or the offending access.

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 at S110 as the infringing access, access to the memory is prohibited at S130. In the following step S140, the error control circuit 28 reported that the memory protection violation occurred. In checking whether the access is the normal access or the offending access, not only the memory area to be accessed but also the contents of a processing regarding the memory can be checked.

Die Verarbeitung, die in der Fehlersteuerschaltung 28 ausgeführt wird, wird als nächstes unter Bezugnahme auf das in 3 gezeigte Ablaufdiagramm beschrieben. In dem Ablaufdiagramm von 3 prüft die Fehlersteuerschaltung 28 zunächst bei S200, ob die Benachrichtigung über das Auftreten der Speicherschutzverletzung von der Speicherschutzschaltung 24 empfangen wurde. Falls die Benachrichtigung als empfangen worden ermittelt wird, wird Schritt S210 ausgeführt. Falls die Benachrichtigung als nicht empfangen ermittelt wird, wird Schritt S200 erneut ausgeführt, um dadurch darauf zu warten, bis die Benachrichtigung über das Auftreten der Speicherschutzverletzung empfangen wird. The processing used in the error control circuit 28 will be explained next with reference to the in 3 described flowchart described. In the flowchart of 3 checks the error control circuit 28 first at S200, whether the notification of the occurrence of the memory protection violation of the memory protection circuit 24 was received. If the notification has been determined to be received, step S210 is executed. If the notification is determined not to be received, step S200 is executed again to thereby wait until the notification of the occurrence of the memory protection violation is received.

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 error control circuit checks 28 Whether the setting of the memory protection violation interrupt setting register 26 This serves to validate the infringement interruption or to validate it or to invalidate or invalidate the infringement interruption. If the setting is determined validating as the violation interrupt, the error control circuit generates 28 at step S220, the memory protection interrupt. If the setting is invalidated as the violation interrupt, the processing is terminated without generating the memory protection interruption.

Als Nächstes wird die in dem Ablaufdiagramm von 4 gezeigte Verarbeitung beschrieben. Diese Verarbeitung wird in vorbestimmten Intervallen durch die CPU 20 wiederholt. Zunächst wird bei Schritt S300 geprüft, ob ein Zählwert des Speicherschutzverletzungszählers gleich oder kleiner ist als ein vorbestimmter Wert. Der Speicherschutzverletzungszähler wird bei Schritt S300 von 5 wie später beschrieben inkrementiert. Das Ablaufdiagramm von 5 wird ausgeführt, wenn die Speicherschutzverletzungsunterbrechung durch die Fehlersteuerschaltung 28 erzeugt wird. Aus diesem Grund gibt der Zählwert des Speicherschutzverletzungszählers die Häufigkeit der verletzenden Zugriffe, d. h. die Häufigkeit des Auftretens der Speicherschutzverletzung, an. Next, in the flowchart of FIG 4 shown processing described. This processing is performed at predetermined intervals by the CPU 20 repeated. First, at step S300, it is checked whether a count value of the memory protection violation counter is equal to or smaller than a predetermined value. The memory protection violation counter is turned off at step S300 5 incremented as described later. The flowchart of 5 is executed when the memory protection interrupt is interrupted by the error control circuit 28 is produced. For this reason, the count value of the memory protection violation counter indicates the frequency of infringing access, that is, the frequency of occurrence of the memory protection violation.

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, step 310 is executed to set the memory protection interruption in the memory protection violation setting register 26 set to valid. If the count value of the memory protection violation counter is determined to be equal to or greater than the predetermined value, step S320 is executed to set the memory protection interrupt to invalid. For this reason, as far as the occurrence frequency of the memory protection violation is equal to or smaller than the predetermined value, the memory protection interruption is set to valid, and the memory protection interruption is generated every occurrence of the memory protection violation. However, the memory protection interrupt is set to invalid if the frequency of occurrence of the memory protection violation becomes greater than the predetermined value. As a result, the memory protection interrupt is not generated even in the case of occurrence of the memory protection violation.

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. At the following step S330, a warning lamp is activated in an instrument panel in front of the driver, i. H. to turn on, thereby notifying the driver of the abnormality that will cause the memory protection violation to occur continuously. At the time the warning light comes on, the memory protection interrupt is invalidated, but the memory protection function operates properly. As a result, the data in the memory is not erroneously overwritten, and the 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. At the following step S340, an invalidation period is measured after the memory protection interrupt is set to invalid. At step S350, it is checked whether the invalidation period is equal to or longer than a predetermined period of time. If the invalidation period is determined to be equal to or longer than the predetermined period of time, step S360 is executed to set the turn-off output via the output circuit 36 to the throttle motor drive circuit 14 to lay. Consequently, it is possible to prevent the occurrence of unpredictable situations even if the memory protection circuit 24 fails and is disabled to prohibit the violating access after the memory protection interruption is invalidated. In this case, it is desirable to notify the driver by activating a warning light different from the warning light activated at step S330 or by changing the operation mode of the warning light activated at step S330 that the ECU 10 stopped controlling the control object.

In der Verarbeitung des Ablaufdiagramms von 5, welche durch die CPU 20 zur Zeit des Auftretens der Speicherschutzverletzungsunterbrechung ausgeführt wird (S310), wird der Speicherschutzverletzungszähler bei Schritt S400 aktiviert. Ferner wird bei Schritt S410 die Ausgabe des Überwachungssignals durch Ausführen zum Beispiel der Endlosschleifenverarbeitung angehalten. Folglich wird der Mikrocomputer 12 durch ein Mikrocomputerrücksetzsignal, das von der integrierten Überwachungsschaltung 16 angelegt wird, zurückgesetzt. Infolge dessen wird in dem Fall, in dem die Speicherschutzverletzung nur vorübergehend auftritt, der Mikrocomputer 12 normalisiert, so dass die Speicherzugriffsverletzung danach nicht erneut auftritt. In the processing of the flowchart of 5 which by the CPU 20 is executed at the time of the occurrence of the memory protection interruption (S310), the memory protection violation counter is activated at step S400. Further, in step S410, the output of the monitor signal is stopped by executing, for example, the endless loop processing. Consequently, the microcomputer becomes 12 by a microcomputer reset signal provided by the integrated monitoring circuit 16 is created, reset. As a result, in the case where the memory protection violation occurs only temporarily, the microcomputer becomes 12 normalizes so that the memory access violation does not recur afterward.

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 3 einmalig beendet, ohne die Speicherschutzverletzungsunterbrechung zu erzeugen. Folglich wird die ECU 10 in die Lage versetzt, die Steuerung des Steuerobjekts auch dann fortzusetzen, wenn die Speicherschutzverletzung auftritt. If the memory access violation persists, the microcomputer becomes 12 repeatedly reset and fundamentally disabled to continue its control operation. In the above-described embodiment, however, in the case that the memory protection interruption is determined to be invalid at step S210, the processing of the flowchart of FIG 3 once ended without generating the memory protection interrupt. Consequently, the ECU 10 will be able to continue to control the control object even if the memory protection violation occurs.

6 ist ein Sequenzdiagramm, das ein Beispiel einer Zeitbeziehung zwischen der Verarbeitung verschiedenartiger Programme zeigt, die in dem Mikrocomputer 12 ausgeführt werden. In dem in 6 gezeigten Beispiel wird angenommen, dass das Betriebssystemprogramm ein Steuerfunktionsprogramm ausliest und aktiviert, nachdem die Speicherschutzverletzungsunterbrechung auf der Grundlage des Zählwerts des Speicherschutzverletzungszählers auf gültig oder ungültig gesetzt worden ist. Wenn die Speicherschutzverletzung im Verlauf der Ausführung des Steuerfunktionsprogramms auftritt, erzeugt die Fehlersteuerschaltung 28 die Speicherschutzverletzungsunterbrechung, falls die Speicherschutzverletzungsunterbrechung als gültig festgelegt ist. Die Ausführung des Steuerfunktionsprogramms wird durch die Speicherschutzverletzungsunterbrechung unterbrochen und die Fehlerverarbeitung wird begonnen. Speziell wird der Speicherschutzverletzungszähler inkrementiert und wird die Verarbeitung zum Anhalten bzw. Beenden des Überwachungssignals ausgeführt. Folglich wird, da das Überwachungssignal angehalten wird, der Mikrocomputer durch die integrierte Überwachungsschaltung 16 zurückgesetzt. 6 FIG. 12 is a sequence diagram showing an example of a timing relationship between the processing of various programs stored in the microcomputer 12 be executed. In the in 6 In the example shown, it is assumed that the operating system program reads out and activates a control function program after the memory protection interrupt is set to valid or invalid based on the count of the memory protection violation counter. When the memory protection violation occurs during the execution of the control function program, the error control circuit generates 28 the memory protection interrupt if the memory protection interrupt is set to valid. The execution of the control function program is interrupted by the memory protection interruption and the error processing is started. Specifically, the memory protection violation counter is incremented and the processing for stopping the monitoring signal is executed. Consequently, since the monitor signal is stopped, the microcomputer is passed through the integrated monitor circuit 16 reset.

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. If the microcomputer 12 is reset and its operation starts again, the operating system program operates, and the monitoring signal is output periodically (activation of the monitoring signal). The operating system program reads and activates a security function program. The safety function program diagnoses the operation of the microcomputer 12 and gives its diagnostic result to the integrated monitoring circuit 16 out. If the diagnostic result indicates a critical error, the integrated monitoring circuit sets 16 the turn-off output to the throttle motor drive circuit 14 at.

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 of the memory protection violation counter reaches the predetermined value, that is, if the memory protection interrupt is set to invalid, the security function program measures the invalidation period of the memory protection interruption and executes processing for activating the warning lamp. If the invalidation period is determined to be longer than the predetermined period of time, the safety function program sets the switch-off output via the output circuit 36 to the throttle motor drive circuit 14 at.

Nachstehend wird eine Rücksetzverarbeitung zum Zurücksetzen des Speicherschutzverletzungszählers und der Invalidierungszeitspanne unter Bezugnahme auf das Ablaufdiagramm von 7 beschrieben. Die in dem Ablaufdiagramm von 7 gezeigte Rücksetzverarbeitung wird bei jeder Erfassung, dass ein Zündschalter des Fahrzeugs ausgeschaltet wird, ausgeführt. Das heißt, die in dem Ablaufdiagramm von 7 gezeigte Rücksetzverarbeitung wird unter der Annahme, dass ein Fahrzyklus des Fahrzeugs von dem Einschalten bis zu dem Ausschalten des Zündschalters andauert, zu einem Endezeitpunkt jedes Fahrzyklus ausgeführt. Hereinafter, reset processing for resetting the memory protection violation counter and the invalidation period will be described with reference to the flowchart of FIG 7 described. The in the flowchart of 7 Reset processing shown is performed every time that an ignition switch of the vehicle is turned off. That is, those in the flowchart of 7 The reset processing shown is performed at an end time of each drive cycle on the assumption that a drive cycle of the vehicle continues from the turn-on to the turn-off of the ignition switch.

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 drive cycle is updated at or at the end time of the drive 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 drive cycle, that is, the count value and the drive 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 5 inkrementiert wird oder bei einem noch zu beschreibenden Schritt S540 auf null gesetzt wird. Aus diesem Grund wird in dem Fall, in dem beide bei Schritt S530 verglichenen Zählwerte gleich sind, ermittelt, dass in dem aktuellen Fahrzyklus keine Speicherschutzverletzung aufgetreten ist und die Abnormalität mit Bezug zu der Speicherschutzverletzung entfernt ist, das heißt, die Speicherschutzfunktion auf normal wiederhergestellt ist. In diesem Fall wird bei Schritt S540 der Zählwert des Speicherschutzverletzungszählers und die Invalidierungszeitspanne auf null gesetzt. Falls der gespeicherte vorangehende Zählwert und der aktuelle Zählwert nicht gleich sind, das heißt, der aktuelle Zählwert größer ist als der gespeicherte vorangehende Zählwert, wird der aktuelle Zählwert in der korrelierten Form mit dem aktualisierten Fahrzyklus bei Schritt S550 gespeichert. At a next step S520, the current count value of the memory protection violation counter is read out. Then, at step S530, the previous count value of the memory protection violation counter stored in the preceding drive cycle and the current value of the memory protection violation counter are compared to check whether the two count values are equal. The memory protection violation counter keeps its count regardless of the turning on and off of the ignition switch until its count value in step S400 in the flowchart of FIG 5 is incremented or set to zero at a step S540 to be described later. For this reason, in the case where both the count values compared at step S530 are the same, it is determined that no memory protection violation has occurred in the current drive cycle and the abnormality related to the memory protection violation is removed, that is, the memory protection function is restored to normal , In this case, the count value of the memory protection violation counter and the invalidation period are set to zero at step S540. If the stored previous count and the current count are not equal, that is, the current count is greater than the stored previous count, the current count is stored in the correlated form with the updated drive cycle at step S550.

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 interrupt is set to valid as part of an initialization process when the ignition switch is turned on and the current drive cycle is started. For this reason, in the case that the memory protection violation occurs in the current drive cycle, the error processing is executed in response to the memory protection interruption, and the count value of the memory protection violation counter is incremented. If no memory protection violation occurs in the current drive cycle, the count value of the memory protection violation counter remains the same as the count value of the memory protection 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 switching the determination of the memory protection interrupt to valid or invalid corresponding to the count of the memory protection interrupt as part of the initialization processing does not occur until at least one occurrence of the memory protection violation is determined after the memory protection interrupt is set to valid. Consequently, even if the count value of the memory protection violation counter has been incremented until the memory protection interruption has been invalidated in the preceding drive cycle, it is possible to count at least one occurrence of the memory protection violation by the memory protection violation counter in the current drive 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 may 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 period of time used thereto may be the invalidation period for determining the timing of application of the turn-off output to the throttle motor drive circuit 14 be a fixed period of time or a variable period of time. If the predetermined period of time is made variable, the length of the predetermined period of time may be varied with, for example, a time interval of occurrences of the memory protection interruptions. Specifically, the time interval between occurrences of the memory protection interruptions can be measured by an interval measuring part, and the predetermined period of time to be compared with the invalidation period can be increased when an average of time intervals measured by the interval measuring part increases.

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 above-described embodiment, it is checked whether the abnormality related to the memory protection violation is eliminated by the current count value of the memory protection violation counter provided at the end time of the current drive cycle with the previous count value of the memory protection violation counter which is at the end time (first time). of the previous drive cycle is compared. However, the timing (second timing) of measuring the count value of the memory protection violation counter in the current drive cycle need not always be at the end time of the current drive cycle, but may be at a time which is a sufficient time interval for executing the program at least once to cause the memory protection violation Ensures after starting the current drive cycle.

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 the documents listed by the applicant has been generated automatically and is included solely 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 2014-137734 A [0002] JP 2014-137734 A [0002]

Claims (5)

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, dadurch gekennzeichnet, dass der Mikrocomputer (12) ferner umfasst: einen Zählteil (20, S400) zum Zählen einer Häufigkeit von verletzenden Zugriffen; und einen 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. Electronic control unit with a microcomputer ( 12 ), which comprises: a memory protection part ( 22 . 24 . 28 ), which prohibits access to a region other than an authorized memory area as an infringing access, and generates a memory protection interrupt when the infringing access occurs, characterized in that the microcomputer ( 12 ) further comprises: a counting part ( 20 , S400) for counting a frequency of infringing accesses; and an invalidation part ( 20 , S300, S320) for invalidating the generation of the memory protection interrupt in the case where a signal is passed through the counting part (S300, S320). 20 , S400), the counted count of the violating accesses reaches a predetermined count value. Elektronische Steuereinheit nach Anspruch 1, bei der: der Mikrocomputer (12) dazu konfiguriert ist, ein Steuersignal zum Steuern eines vorbestimmten Steuerobjekts (40) auszugeben; der Mikrocomputer (12) ferner einen Messteil (20; S340) umfasst zum Messen einer Invalidierungszeitspanne nach dem Invalidieren der Erzeugung der Speicherschutzverletzungsunterbrechung durch den Invalidationsteil (20, S300, S320); und der Mikrocomputer (12) ferner einen Abschaltteil (20, S350, S360) umfasst zum Abschalten des Ausgebens des Steuersignals an das Steuerobjekt (40), wenn die durch den Messteil (20; S340) gemessene Invalidierungszeitspanne eine vorbestimmte Zeitspanne erreicht. The electronic control unit of claim 1, wherein: the microcomputer ( 12 ) is configured to generate a control signal for controlling a predetermined control object ( 40 ) issue; the microcomputer ( 12 ) further comprises a measuring part ( 20 ; S340) for measuring an invalidation period after invalidating comprises generating the memory protection interruption interrupt by the invalidation part ( 20 , S300, S320); and the microcomputer ( 12 ) further comprises a shutdown part ( 20 , S350, S360) for switching off the outputting of the control signal to the control object ( 40 ), when passing through the measuring part ( 20 ; S340) measured invalidation period reaches a predetermined period of time. Elektronische Steuereinheit nach Anspruch 1, bei der: der Mikrocomputer (12) dazu konfiguriert ist, eine fahrzeuginterne Einrichtung (40), die in einem Fahrzeug verbaut ist, zu steuern; der Mikrocomputer (12) ferner einen Speicherteil (20, S550) umfasst zum Speichern, zu einem ersten Zeitpunkt des Ausschaltens eines Zündschalters des Fahrzeugs, des Zählwerts der durch den Zählteil (20, S400) gezählten verletzenden Zugriffe; und der Mikrocomputer (12) ferner einen Rücksetzteil (20, S520, S530, S540) umfasst zum Auslesen, zu einem zweiten Zeitpunkt nach dem Einschalten des Zündschalters des Fahrzeugs nach dem ersten Zeitpunkt, des durch den Zählteil (20, S520) gezählten Zählwerts von verletzenden Zugriffen, Vergleichen des Zählwerts mit einem in dem Speicherteil (20, S550) gespeicherten vorbestimmten Wert, und Zurücksetzen des Zählwerts des Zählteils (20, S400), wenn ein Vergleichsergebnis anzeigt, dass der Zählwert gleich dem vorbestimmten Wert ist. The electronic control unit of claim 1, wherein: the microcomputer ( 12 ) is configured to provide an in-vehicle device ( 40 ) installed in a vehicle; the microcomputer ( 12 ) a memory part ( 20 , S550) for storing, at a first time of turning off an ignition switch of the vehicle, the count value of the counter by the counting part ( 20 , S400) counted infringing accesses; and the microcomputer ( 12 ) a reset part ( 20 , S520, S530, S540) for reading, at a second time after switching on the ignition switch of the vehicle after the first time, by the counting part ( 20 , S520) counted count of violating accesses, comparing the count value with one in the memory part ( 20 , S550) stored predetermined value, and resetting the count value of the counting part ( 20 , S400) when a comparison result indicates that the count value is equal to the predetermined value. Elektronische Steuereinheit nach Anspruch 2, bei der: der Mikrocomputer (12) dazu konfiguriert ist, eine fahrzeuginterne Einrichtung (40), die in einem Fahrzeug verbaut ist, als das Steuerobjekt zu steuern; der Mikrocomputer (12) ferner einen Speicherteil (20, S550) umfasst zum Speichern, zu einem ersten Zeitpunkt des Ausschaltens eines Zündschalters des Fahrzeugs, des durch den Zählteil (20, S520) gezählten Zählwerts der verletzenden Zugriffe; und der Mikrocomputer (12) ferner einen Rücksetzteil (20, S520, S530, S540) umfasst zum Auslesen, zu einem zweiten Zeitpunkt nach dem Einschalten eines Zündschalters des Fahrzeugs nach dem ersten Zeitpunkt, des durch den Zählteil (20, S520) gezählten Zählwerts von verletzenden Zugriffen, Vergleichen des Zählwerts mit einem in dem Speicherteil (20, S550) gespeicherten vorbestimmten Wert, und Zurücksetzen des Zählwerts des Zählteils (20, S520) und der durch den Messteil (20, S340) gemessenen Invalidationszeitspanne, wenn ein Vergleichsergebnis anzeigt, dass der Zählwert gleich dem in dem Speicherteil (20, S550) gespeicherten vorbestimmten Wert ist. An electronic control unit according to claim 2, wherein: the microcomputer ( 12 ) is configured to provide an in-vehicle device ( 40 ) installed in a vehicle to control as the control object; the microcomputer ( 12 ) a memory part ( 20 , S550) for storing, at a first time of turning off an ignition switch of the vehicle, by the counting part ( 20 , S520) counted count of violating accesses; and the microcomputer ( 12 ) a reset part ( 20 , S520, S530, S540) for reading, at a second time after switching on an ignition switch of the vehicle after the first time, by the counting part ( 20 , S520) counted count of violating accesses, comparing the count value with one in the memory part ( 20 , S550) stored predetermined value, and resetting the count value of the counting part ( 20 , S520) and the measuring part ( 20 , S340) when a comparison result indicates that the count value is equal to that in the memory part ( 20 , S550) is the predetermined value stored. Elektronische Steuereinheit nach einem der Ansprüche 2 bis 4, bei der: der Mikrocomputer (12) ferner einen Intervallmessteil (20) umfasst zum Messen eines Intervalls von Erscheinungen der Speicherschutzunterbrechungen; und der Abschaltteil (20, S350, S360) die vorbestimmte Zeitspanne, welche mit der Invalidationszeitspanne verglichen wird, vergrößert, wenn ein mittlerer Wert von durch den Intervallmessteil (20) gemessenen Intervallen zunimmt. Electronic control unit according to one of claims 2 to 4, in which: the microcomputer ( 12 ) further comprises an interval measuring part ( 20 ) for measuring an interval of occurrences of the memory protection interrupts; and the shutdown part ( 20 , S350, S360) increases the predetermined period of time, which is compared with the invalidation period, when a mean value of the interval measuring part ( 20 ) measured intervals increases.
DE102017211568.8A 2016-07-27 2017-07-06 ELECTRONIC CONTROL UNIT Active DE102017211568B4 (en)

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 true DE102017211568A1 (en) 2018-02-01
DE102017211568B4 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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137734A (en) 2013-01-17 2014-07-28 Toyota Motor Corp Information processor and program

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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
US8566940B1 (en) 2009-11-25 2013-10-22 Micron Technology, Inc. Authenticated operations and event counters
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137734A (en) 2013-01-17 2014-07-28 Toyota Motor Corp Information processor and program

Also Published As

Publication number Publication date
JP6589767B2 (en) 2019-10-16
DE102017211568B4 (en) 2022-04-28
JP2018018274A (en) 2018-02-01

Similar Documents

Publication Publication Date Title
DE2946081A1 (en) ARRANGEMENT FOR MONITORING THE FUNCTION OF A PROGRAMMABLE ELECTRONIC CIRCUIT
DE19929796B4 (en) Apparatus and method for rewriting data from a volatile memory to a nonvolatile memory
DE19847677C2 (en) Computers, methods and devices for preventing unauthorized access to a computer program
DE102014222860A1 (en) Electronic vehicle control unit
WO2016156095A1 (en) Method for protecting security-relevant data in a cache memory
DE112019007432T5 (en) ELECTRONIC CONTROL UNIT AND PROGRAM
DE102016200130B4 (en) Electronic control device
DE102017211568B4 (en) ELECTRONIC CONTROL UNIT
WO2015135704A1 (en) Device and method for detecting a manipulation to a program code
DE102014011665A1 (en) System and method for DMA operation with high integrity
WO2020048756A1 (en) Method for installing a program code packet onto a device, device, and motor vehicle
DE102016203965A1 (en) Monitoring a computing system
DE102006003147B4 (en) Method of restoring control of a continuously resetting control unit
DE102022100458A1 (en) ON-BOARD INFORMATION PROCESSING EQUIPMENT, INFORMATION PROCESSING METHOD AND COMPUTER READABLE STORAGE MEDIA
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
DE102015208598A1 (en) ELECTRONIC CONTROL UNIT
DE102017208872A1 (en) Electronic control unit
DE112020007129T5 (en) INFORMATION PROCESSING DEVICE AND INFORMATION PROCESSING METHOD
DE102019208129B4 (en) Electronic control unit
EP3893113B1 (en) Monitoring of a component of a control system for a moving means
DE102018219700A1 (en) control device
DE102020106811A1 (en) DATA PROCESSING DEVICE AND METHOD FOR HANDLING A SECURITY THREAT IN A DATA PROCESSING DEVICE
DE102004048945B4 (en) System monitoring unit
DE102020103229B4 (en) BACKING UP A STORAGE DEVICE

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