DE102016200413A1 - MICROCOMPUTER - Google Patents

MICROCOMPUTER Download PDF

Info

Publication number
DE102016200413A1
DE102016200413A1 DE102016200413.1A DE102016200413A DE102016200413A1 DE 102016200413 A1 DE102016200413 A1 DE 102016200413A1 DE 102016200413 A DE102016200413 A DE 102016200413A DE 102016200413 A1 DE102016200413 A1 DE 102016200413A1
Authority
DE
Germany
Prior art keywords
program
asil
memory
microcomputer
validity check
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.)
Pending
Application number
DE102016200413.1A
Other languages
German (de)
Inventor
Kazuhiro Uehara
Soichiro Arai
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 DE102016200413A1 publication Critical patent/DE102016200413A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

Ein Speicher speichert mehrere Programme QM, ASIL_A und ASIL_C, die entsprechend Funktionssicherheitsebenen in einem Schutzzustand klassifiziert sind, der eine Schutzfunktion aktiviert, die eine Ausführung eines Programms verhindert. Ein Arithmetikprozessor überprüft eine Gültigkeit der Programme QM, ASIL_A und ASIL_C programmweise in der Reihenfolge ausgehend von dem Programm QM, dessen Funktionssicherheitsebene niedrig ist (S120, S150, S180). Wenn die Gültigkeitsüberprüfung bestimmt, dass das Programm normal ist, deaktiviert der Arithmetikprozessor die Schutzfunktion für das Programm (S130, S160 und S190) und führt dann das Programm aus (S140, S170, S00).A memory stores a plurality of programs QM, ASIL_A and ASIL_C classified according to functional security levels in a protection state that activates a protection function that prevents execution of a program. An arithmetic processor program-wise validates the programs QM, ASIL_A and ASIL_C in the order starting from the program QM whose functional security level is low (S120, S150, S180). If the validity check determines that the program is normal, the arithmetic processor deactivates the protection function for the program (S130, S160 and S190), and then executes the program (S140, S170, S00).

Description

TECHNISCHES GEBIETTECHNICAL AREA

Die vorliegende Erfindung betrifft einen Mikrocomputer, der eine Gültigkeit eines Programms überprüft und dann das Programm ausführt.The present invention relates to a microcomputer which checks a validity of a program and then executes the program.

STAND DER TECHNIKSTATE OF THE ART

Ein Mikrocomputer, der mehrere CPUs (Kerne) enthält, wurde vorgeschlagen, der bewirkt, dass die CPUs dasselbe Programm ausführen, und die Ausführungsergebnisse miteinander vergleicht, um eine Anomalie in den CPUs zu erfassen (siehe beispielsweise JP 2013-084219 A ). Dieser Mikrocomputer kann eine Anomalie erfassen, die in einer von zwei CPUs auftritt. Wenn im Gegensatz dazu nur eine CPU enthalten ist und ein illegales Programm in einem Speicher gespeichert ist, wird das illegale Programm nicht erfasst, sodass die CPU das illegale Programm möglicherweise ausführt. Um dieses zu verhindern, kann gemäß einem ersten Beispiel, wenn ein Programm in einen Speicher geschrieben wird, ein Flag zum Überprüfen einer Gültigkeit in demselben Speicherbereich wie das Programm gespeichert werden. Zu dem Zeitpunkt der Ausführung des Programms kann bestimmt werden, ob das Flag normal ist oder nicht.A microcomputer containing a plurality of CPUs (cores) has been proposed which causes the CPUs to execute the same program and compares the execution results with each other to detect an abnormality in the CPUs (see, for example, FIG JP 2013-084219 A ). This microcomputer can detect an anomaly that occurs in one of two CPUs. Conversely, if only one CPU is contained and an illegal program is stored in a memory, the illegal program is not detected and the CPU may execute the illegal program. To prevent this, according to a first example, when a program is written in a memory, a flag for validating may be stored in the same memory area as the program. At the time of execution of the program, it may be determined whether the flag is normal or not.

Wenn das Flag normal ist, wird bestimmt, dass das Programm, das in demselben Speicherbereich gespeichert ist, normal ist, was eine Ausführung des Programms ermöglicht bzw. erlaubt. Wenn das Flag nicht normal ist, wird die Ausführung des Programms verhindert bzw. verboten.If the flag is normal, it is determined that the program stored in the same memory area is normal, allowing execution of the program. If the flag is not normal, execution of the program is prevented or prohibited.

Auf ähnliche Weise kann gemäß einem zweiten Beispiel, um einen Programmstart zu gewährleisten, ein gesamtes Programm, das in dem Speicher gespeichert ist, verwendet werden, um einen Wert zur Gültigkeitsüberprüfung zu berechnen. Eine Bestimmung, ob der Berechnungswert ein normaler Wert ist, ermöglicht die Überprüfung der Gültigkeit des Programms.Similarly, in accordance with a second example, to ensure program startup, an entire program stored in memory may be used to calculate a validation value. A determination of whether the calculation value is a normal value makes it possible to check the validity of the program.

ZUSAMMENFASSUNGSUMMARY

Bei dem ersten Beispiel kann jedoch sogar dann, wenn kein legitimes Programm in einen Speicher geschrieben wird, eine Anomalie wie beispielsweise eine Bitverstümmelung dazu führen, dass das Flag zur Gültigkeitsüberprüfung ausdrückt, dass das Programm nicht normal ist. Dieses verhindert, dass die Gültigkeitsprüfung normal ausgeführt wird, was die Ausführung des illegalen Programms ermöglicht.However, in the first example, even if no legitimate program is written to a memory, an anomaly such as bit corruption may cause the validity check flag to indicate that the program is abnormal. This prevents the validation from being performed normally, allowing the execution of the illegal program.

In dem zweiten Beispiel wird die Gültigkeit durch das ganze Programm bestimmt, was die Ausführung eines illegalen Programms verhindert. Dieses benötigt jedoch Zeit, um die Gültigkeit zu bestimmen, was beinhaltet, dass sich eine Verzögerungszeit anschließend an eine Aktivierung (Energie-Ein bzw. Einschalten der Energiezufuhr) eines Mikrocomputers bis zu der Ausführung des Programms (insbesondere einer Freigabe eines Energie-Ein-Rücksetzzustands folgend) erhöht.In the second example, the validity is determined by the whole program, which prevents the execution of an illegal program. However, this takes time to determine the validity, which implies that a delay time following activation (power on) of a microcomputer until execution of the program (in particular, release of power on reset state following).

Es ist eine Aufgabe der vorliegenden Erfindung, einen Mikrocomputer zu schaffen, der eine Gültigkeit eines Programms genau bestimmen kann und außerdem verhindern kann, dass die Gültigkeitsüberprüfung eine Zeitverzögerung bis zur Ausführung des Programms erhöht.It is an object of the present invention to provide a microcomputer which can accurately determine a validity of a program and also can prevent the validity check from increasing a time delay until execution of the program.

Gemäß einem Aspekt der vorliegenden Erfindung wird ein Mikrocomputer geschaffen, der einen Speicher und einen Arithmetikprozessor enthält. Der Speicher speichert ein Programm in einem Schutzzustand bzw. geschützten Zustand, der eine Schutzfunktion ermöglicht bzw. aktiviert, die eine Ausführung des Programms verhindert. Der Arithmetikprozessor führt eine Gültigkeitsüberprüfung für das Programm, das in dem Speicher gespeichert ist, hinsichtlich dessen durch, ob das Programm keine Anomalie aufweist, und sperrt bzw. deaktiviert die Schutzfunktion, wenn durch die Gültigkeitsüberprüfung bestimmt wird, dass das Programm keine Anomalie aufweist, und führt dann das Programm aus. Hier speichert der Speicher mehrere Programme, die entsprechend von Funktionssicherheitsebenen in dem Schutzzustand, der die Schutzfunktion aktiviert, klassifiziert sind. Der Arithmetikprozessor führt die Gültigkeitsüberprüfung der Programme programmweise nacheinander in einer Reihenfolge von einem Programm, dessen Funktionssicherheitsebene bzw. -niveau niedrig ist, durch und sperrt bzw. deaktiviert die Schutzfunktion für ein Programm, wenn durch die Gültigkeitsüberprüfung bestimmt wird, dass das Programm keine Anomalie aufweist, und führt dann das Programm aus.According to one aspect of the present invention, there is provided a microcomputer including a memory and an arithmetic processor. The memory stores a program in a protected state that enables a protection function that prevents execution of the program. The arithmetic processor carries out a validity check for the program stored in the memory as to whether the program has no abnormality, and locks the protection function when it is determined by the validity check that the program has no abnormality, and then runs the program. Here, the memory stores a plurality of programs classified according to functional security levels in the protection state that activates the protection function. The arithmetic processor executes program validation program by program in sequence in order of a program whose functional security level is low, and disables the protection function for a program when the validity check determines that the program has no abnormality , and then runs the program.

Dieser Aspekt kann die Verzögerungszeit von einer Aktivierung eines Mikrocomputers bis zu einer Ausführung eines Programms im Vergleich zu einem Fall verkürzen, in dem sämtliche Programme, die von einem Arithmetikprozessor auszuführen sind, insgesamt in einem Speicher gespeichert werden, und eine Gültigkeitsüberprüfung ausgeführt wird.This aspect can shorten the delay time from activation of a microcomputer to execution of a program as compared with a case where all programs to be executed by an arithmetic processor are stored in a memory as a whole, and a validity check is performed.

Der Aspekt führt die Gültigkeitsüberprüfung von Programmen in der Reihenfolge von einem Programm, dessen Funktionssicherheitsebene niedrig ist, aus. Ein Teil eines Programms kann eine Anomalie aufweisen, und diese Anomalie kann mittels der ersten Gültigkeitsüberprüfung nicht erfasst werden, was eine Ausführung des entsprechenden Programms ermöglicht. Sogar in einem derartigen Fall kann eine Unannehmlichkeit, die dementsprechend auftritt, minimiert werden.The aspect performs the validity checking of programs in the order of a program whose functional security level is low. A part of a program may have an anomaly, and this anomaly can not be detected by means of the first validity check, which enables execution of the corresponding program. Even in such a case, inconvenience that arises accordingly can be minimized.

Das heißt, der Aspekt der vorliegenden Erfindung führt die Gültigkeitsüberprüfung von Programmen in einer Reihenfolge aus; diese Konfiguration kann eine Anomalie eines Programms erfassen, eine Ausführung des Programms stoppen und ein Unterprogramm zur Ausfallsicherung ausführen. That is, the aspect of the present invention performs the validity checking of programs in an order; this configuration can detect an abnormality of a program, stop execution of the program, and execute a failover subroutine.

Außerdem kann der Aspekt daher eine Verzögerungszeit von einer Aktivierung eines Mikrocomputers bis zu der Ausführung des Programms verkürzen, während eine Verschlechterung der Sicherheit aufgrund der Ausführung eines illegalen Programms verhindert wird.In addition, therefore, the aspect can shorten a delay time from activation of a microcomputer to the execution of the program while preventing the deterioration of the security due to the execution of an illegal program.

Der Mikrocomputer des Aspektes kann beispielsweise eine Steuerung zum sicheren Steuern verschiedener Steuerziele wie beispielsweise eine elektronische Steuereinheit, die in einem Fahrzeug montiert ist, verwenden. Dieser Fall kann eine Verzögerungszeit bis zu dem Start der Steuerung des Steuerziels ab der Freigabe (Release) eines Energie-Ein-Rücksetzzustands (Power-On-Reset) eines Mikrocomputers nach dem Start einer Energiezufuhr zu der Steuerung verkürzen.For example, the microcomputer of the aspect may use a controller for securely controlling various control objectives such as an electronic control unit mounted in a vehicle. This case can shorten a delay time until the start of control of the control target from the release of a power-on reset state of a microcomputer after the start of power supply to the controller.

KURZE BESCHREIBUNG DER ZEICHNUNGENBRIEF DESCRIPTION OF THE DRAWINGS

Die obigen und weitere Aufgaben, Merkmale sowie die Vorteile der vorliegenden Erfindung werden anhand der folgenden detaillierten Beschreibung mit Bezug auf die zugehörigen Zeichnungen deutlich. Es zeigen:The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description made with reference to the accompanying drawings. Show it:

1 ein Blockdiagramm, das eine Konfiguration einer elektronischen Steuereinheit einer Ausführungsform darstellt; 1 FIG. 10 is a block diagram illustrating a configuration of an electronic control unit of an embodiment; FIG.

2 ein Flussdiagramm, das eine Programmausführung eines Mikrocomputers darstellt; 2 a flowchart illustrating a program execution of a microcomputer;

3 ein Zeitdiagramm, das Änderungen eines Speicherschutzzustands in Verbindung mit einer Ausführung eines Programms darstellt; und 3 a timing diagram illustrating changes to a memory protection state in connection with execution of a program; and

4 ein Zeitdiagramm, das die Beziehung zwischen einer Gültigkeitsüberprüfung, die für ein jeweiliges Programm durchgeführt wird, und einem Startzeitpunkt eines jeweiligen Programms darstellt. 4 5 is a timing chart illustrating the relationship between a validity check performed for each program and a start time of each program.

DETAILLIERTE BESCHREBUNGDETAILED DESCRIBE

1 stellt eine elektronische Steuereinheit (ECU) 10 einer Ausführungsform der vorliegenden Erfindung dar. Die ECU 10, die in einem Fahrzeug montiert sein kann, um fahrzeugeigene Einheiten wie beispielsweise einen Verbrennungsmotor und ein Getriebe als Steuerziele 2 zu steuern, enthält einen Mikrocomputer 20 als eine Rechenvorrichtung für die Steuerung. 1 provides an electronic control unit (ECU) 10 an embodiment of the present invention. The ECU 10 , which may be mounted in a vehicle, to on-vehicle units such as an internal combustion engine and a transmission as control targets 2 to control contains a microcomputer 20 as a computing device for the controller.

Die ECU 10 enthält eine Eingangsschaltung 14 zum Empfangen von Erfassungssignalen von verschiedenen Sensoren 4, die in dem Steuerziel 2 angeordnet sind, und eine Ausgangsschaltung 16 zum Ausgeben von Steuersignalen zum Ansteuern eines Aktuators 6, der in dem Steuerziel 2 angeordnet ist.The ECU 10 contains an input circuit 14 for receiving detection signals from various sensors 4 that in the tax target 2 are arranged, and an output circuit 16 for outputting control signals for driving an actuator 6 who is in the tax goal 2 is arranged.

Die ECU 10 enthält außerdem eine Kommunikationsschaltung 18, die mit anderen Steuervorrichtungen oder einem externen Server über ein Netzwerk 8, beispielsweise ein fahrzeugeigenes LAN, kommuniziert, und eine Energieversorgungsschaltung 12, die eine elektrische Energie von einer fahrzeugeigenen Batterie (nicht gezeigt) empfängt und eine Energieversorgungsspannung Vcc zum Ansteuern von internen Schaltungen erzeugt.The ECU 10 also contains a communication circuit 18 connected to other control devices or an external server through a network 8th For example, an in-vehicle LAN communicates, and a power supply circuit 12 which receives electric power from an in-vehicle battery (not shown) and generates a power supply voltage Vcc for driving internal circuits.

Der Mikrocomputer 20 enthält eine CPU 22, einen RAM 24, einen Flash-Speicher 26, eine Eingangs-/Ausgangseinheit 28 und eine Busleitung 29, die diese Einheiten miteinander verbindet.The microcomputer 20 contains a CPU 22 , a ram 24 , a flash memory 26 , an input / output unit 28 and a bus line 29 that connects these units together.

Die Eingangsschaltung 14, die Ausgangsschaltung 16 und die Kommunikationsschaltung 18 sind mit der Eingangs-/Ausgangseinheit 28 in dem Mikrocomputer 20 verbunden. Der Mikrocomputer 20 holt verschiedene Informationen wie beispielsweise einen Betriebszustand des Steuerziels 2 von der Eingangsschaltung 14 und der Kommunikationsschaltung 18 und berechnet eine Steuergröße des Steuerziels 2.The input circuit 14 , the output circuit 16 and the communication circuit 18 are with the input / output unit 28 in the microcomputer 20 connected. The microcomputer 20 gets various information such as an operating state of the control target 2 from the input circuit 14 and the communication circuit 18 and calculates a control amount of the control target 2 ,

Der Mikrocomputer 20 gibt ein Steuersignal entsprechend der berechneten Steuergröße an/über die Ausgangsschaltung 16 aus, um den Aktuator 6 in dem Steuerziel 2 anzusteuern, das Steuerziel 2 anzusteuern, und das Steuerziel 2 in einen vorbestimmten Zustand zu steuern.The microcomputer 20 outputs a control signal corresponding to the calculated control amount to / via the output circuit 16 off to the actuator 6 in the tax target 2 to steer, the tax target 2 to drive, and the tax target 2 to control in a predetermined state.

Programme, die von der CPU 22 auszuführen sind und ein Steuerprogramm zum Steuern des Steuerziels 2 enthalten, sind programmweise in dem Flash-Speicher 26 eines mit Daten wieder beschreibbaren nichtflüchtigen Speichers gespeichert. Derartige Programme werden in dem Flash-Speicher 26 als entsprechend von Funktionssicherheitsebenen in mehrere Arten klassifiziert gespeichert.Programs by the CPU 22 and a control program for controlling the control target 2 are included in the flash memory by program 26 a data rewritable non-volatile memory stored. Such programs are stored in the flash memory 26 stored as classified according to functional safety levels in several species.

Die Funktionssicherheitsebene gibt die Anforderung hinsichtlich der Funktionalität und der Sicherheit an. Wenn ein Programm wichtiger ist und eine höhere Funktionalität und Sicherheit aufweisen muss, ist die Funktionssicherheitsebene, die dem Programm zugewiesen ist, höher. Die Ausführungsform stellt die Funktionssicherheitsebene in Übereinstimmung mit dem Funktionssicherheitsstandard ” ISO26262 ” für Fahrzeuge ein, die von der IEC61508 hergeleitet wird, die ein Funktionssicherheitsstandard für die Industrie ist.The functional security level specifies the requirement in terms of functionality and security. If a program is more important and needs to have more functionality and security, the level of functional security assigned to the program is higher. The embodiment sets the functional safety level in accordance with the functional safety standard " ISO26262 "For vehicles coming from the 61508 which is a functional safety standard for the industry.

Der Funktionssicherheitsstandard ” ISO26262 ” klassifiziert mögliche Risiken der Funktionen eines Fahrzeugs durch Zuweisen einer ASIL (Automotive Safety Integrity Level: Kraftfahrzeugsicherheitsintegritätsebene bzw. -niveau), die Klassifikationsebenen in einem weiten Bereich von QM (Qualitätsmanagement: keine Beziehung zur Sicherheit) bis ASIL_D (Beziehung zur Sicherheit ist maximal) aufweist. Deren Höhe (Größe) wird entsprechend QM < ASIL_A < ASIL_B < ASIL_C < ASIL_D ausgedrückt. The functional safety standard " ISO26262 "Classifies possible risks of the functions of a vehicle by assigning an ASIL (Automotive Safety Integrity Level), the classification levels in a wide range of QM (quality management: no relation to safety) to ASIL_D (relationship to safety is maximum) having. Their height (size) is expressed according to QM <ASIL_A <ASIL_B <ASIL_C <ASIL_D.

In der Ausführungsform wird unter den Programmen, die von dem Mikrocomputer 20 ausgeführt werden, ein Programm, das die geringste Beziehung zur Sicherheit der Steuerung aufweist (beispielsweise ein Programm zur Anfangseinstellung eines allgemeinen Registers in dem Mikrocomputer 20) als QM in dem Flash-Speicher 26 gespeichert.In the embodiment, among the programs used by the microcomputer 20 a program having the least relationship to the safety of the controller (for example, an initial setting program of a general register in the microcomputer 20 ) as QM in the flash memory 26 saved.

Programme, die irgendeine Beziehung zur Sicherheit der Steuerung aufweisen, werden als ASIL_A, ASIL_B, ... entsprechend einer benötigten Funktionssicherheitsebene klassifiziert und in dem Flash-Speicher 26 gespeichert.Programs having any relation to the security of the controller are classified as ASIL_A, ASIL_B, ... according to a required functional security level and in the flash memory 26 saved.

In 1 drückt (*) bei den jeweiligen Ebenen aus, dass die Daten Programmdaten sind. Im Folgenden werden Programme beschrieben, die von der CPU 22 in drei Ebenen QM, ASIL_A und ASIL_C in der Reihenfolge ausgehend von der unteren Ebene klassifiziert werden.In 1 expresses (*) at the respective levels that the data is program data. Below are programs described by the CPU 22 in three levels QM, ASIL_A and ASIL_C are classified in order from the lower level.

Jedem der klassifizierten Programme QM, ASIL_A und ASIL_C wird ein Erwartungswert M (M1, M2 und M3 in 1) zum Bestimmen einer Gültigkeit (Gültigkeitsüberprüfung) hinsichtlich dessen, ob Programmdaten, die in dem Flash-Speicher 26 gespeichert sind, normal sind oder nicht, zugewiesen.Each of the classified programs QM, ASIL_A and ASIL_C is given an expected value M (M1, M2 and M3 in FIG 1 ) for determining a validity (validity check) as to whether program data stored in the flash memory 26 are stored, are normal or not.

Der Erwartungswert M wird in demselben Speicherbereich in dem Flash-Speicher 26 wie die Programmdaten der jeweiligen Programme QM, ASIL_A und ASIL_C gespeichert.The expected value M is in the same memory area in the flash memory 26 how the program data of the respective programs QM, ASIL_A and ASIL_C stored.

Um die Gültigkeit der jeweiligen Programme QM, ASIL_A und ASIL_C noch genauer zu bestimmen, berechnet die Ausführungsform einen Bestimmungswert auf der Grundlage eines Zielprogramms und eines Programms auf einer niedrigeren Ebene als das Zielprogramm.In order to more accurately determine the validity of the respective programs QM, ASIL_A and ASIL_C, the embodiment calculates a determination value based on a target program and a program at a lower level than the target program.

Wenn das entsprechende Programm sich nicht auf der untersten Ebene (in der Ausführungsform: QM) befindet, enthält der Erwartungswert M, der für jedes Programm eingestellt wird, demzufolge Daten des Programms auf der unteren Ebene.When the corresponding program is not at the lowest level (in the embodiment: QM), the expected value M set for each program accordingly includes data of the program at the lower level.

Der Erwartungswert M und der Bestimmungswert für die Gültigkeitsüberprüfung werden aus Zielprogrammdaten unter Verwendung eines bekannten Kryptographiealgorithmus wie beispielsweise AES (Advanced Encryption Standard) oder MISTY berechnet. Die Ausführung der jeweiligen Programme QM, ASIL_A und ASIL_C wird durch eine Speicherschutzfunktion begrenzt (geschützt), die in jedem der jeweiligen Speicherbereiche in dem Flash-Speicher 26 eingestellt (das heißt freigegeben) ist.The expectation value M and the validation determination value are calculated from target program data using a known cryptographic algorithm such as AES (Advanced Encryption Standard) or MISTY. The execution of the respective programs QM, ASIL_A and ASIL_C is limited (protected) by a memory protection function stored in each of the respective memory areas in the flash memory 26 set (that is released) is.

Die Speicherschutzfunktion kann eine allgemeine Speicherschutzfunktion zum Schützen eines Lesens/Schreibens von/in einem/einen Speicher, eine Schutzfunktion (Ausführungsschutz), die eine Ausführung eines Programms durch Schreiben einer nicht ausführbaren Markierung in einen Speicherbereich verhindert, oder einen Ausführungsschutz eines Programms, das ein Betriebssystem oder Sicherheitssoftware verwendet, verwenden.The memory protection function may include a general memory protection function for protecting a read / write to / from a memory, a protection function (execution protection) that prevents execution of a program by writing a non-executable tag in a memory area, or execution protection of a program that includes Operating system or security software used.

Nach dem Starten des Mikrocomputers 20 führt die CPU 22 eine Gültigkeitsüberprüfung in der Reihenfolge von dem Programm der niedrigsten Funktionssicherheitsebene (in der Ausführungsform: QM) durch, indem bestimmt wird, dass jedes der Programme, die in dem Flash-Speicher 26 gespeichert sind, normal ist oder nicht.After starting the microcomputer 20 leads the CPU 22 a validity check in the order of the program of the lowest functional security level (in the embodiment: QM) by determining that each of the programs stored in the flash memory 26 are stored, is normal or not.

Wenn durch die Gültigkeitsüberprüfung bestimmt wird, dass ein Programm normal ist, gibt die CPU 22 die Schutzfunktion für das Programm frei (das heißt deaktiviert oder löscht sie) und führt dann das Programm aus. Wenn durch die Gültigkeitsüberprüfung bestimmt wird, dass ein Programm anormal ist, führt die CPU 22 einen vorbestimmten Ausfallsicherungsprozess durch.If the validity check determines that a program is normal, the CPU issues 22 the protection function for the program is free (ie deactivates or deletes it) and then executes the program. If the validation determines that a program is abnormal, the CPU performs 22 a predetermined failover process.

Im Folgenden wird eine Prozedur einer Ausführung der jeweiligen Programme in dem Flash-Speicher 26 nach dem Starten des Mikrocomputers 20 mittels der CPU 22 anhand des Flussdiagramms der 2 beschrieben.The following is a procedure of execution of the respective programs in the flash memory 26 after starting the microcomputer 20 by means of the CPU 22 using the flowchart of 2 described.

Die ECU 10 weist eine Energie-Ein-Rücksetzen-Schaltung 19 auf, die den Mikrocomputer 20 in einem Rücksetzzustand für eine Zeitdauer hält, die von der Energiezufuhr von einer fahrzeugeigenen Batterie zu der ECU 10 bis zu dem Zeitpunkt dauert, zu dem die Energieversorgungsspannung Vcc, die von der Energieversorgungsschaltung 12 erzeugt wird, stabil wird, um einen normalen Betrieb des Mikrocomputers 20 zu ermöglichen.The ECU 10 has an energy-on-reset circuit 19 on that the microcomputer 20 in a reset state for a period of time from the power supply from an on-vehicle battery to the ECU 10 takes until the time at which the power supply voltage Vcc, that of the power supply circuit 12 is generated, becomes stable to normal operation of the microcomputer 20 to enable.

Wenn das Energie-Ein-Rücksetzen von der Energie-Ein-Rücksetzen-Schaltung 19 freigegeben (aufgehoben) wird, startet der Mikrocomputer 20 (das heißt die CPU 22) einen Programmstartbestimmungsprozess in 2 (siehe Zeitpunkt t0 in 3).When the power-on reset of the power-on reset circuit 19 is released (canceled), the microcomputer starts 20 (that is the CPU 22 ) a program start determination process in 2 (see time t0 in 3 ).

Gemäß 2 startet der Programmstartbestimmungsprozess zunächst in S110 einen Bestimmungswertberechnungsprozess zum Berechnen eines Bestimmungswertes einer Gültigkeit der Programme QM, ASIL_A und ASIL_C.According to 2 Start the program start determination process first in S110 a determination value calculation process for calculating a determination value of a validity of the programs QM, ASIL_A and ASIL_C.

Der Bestimmungswertberechnungsprozess berechnet einen Bestimmungswert aus Programmdaten, die ein niederwertiges Programm enthalten, für jedes der Programme (Programm um Programm) unter Verwendung eines Kryptographiealgorithmus wie beispielsweise AES oder MISTY.The determination value calculation process calculates a determination value from program data containing a low-order program for each of the programs (program by program) using a cryptographic algorithm such as AES or MISTY.

In S120 wird bis zu dem Zeitpunkt gewartet, für den ein Bestimmungswert für das Programm QM, dessen Funktionssicherheitsebene die niedrigste ist, von dem Bestimmungswertberechnungsprozess, der in S110 gestartet wurde, berechnet ist und eine Gültigkeitsüberprüfung zum Bestimmen, ob das Programm QM normal ist oder nicht, auf der Grundlage des Bestimmungswertes ausgeführt ist.In S120, it waits until the time point for which a determination value for the program QM whose functional reliability level is the lowest is calculated by the determination value calculation process started in S110 and a validity check for determining whether or not the program QM is normal , is executed on the basis of the determination value.

In S120 wird der Bestimmungswert für das Programm QM, der in dem Bestimmungswertberechnungsprozess berechnet wurde, mit dem Erwartungswert M1, der in demselben Speicherbereich wie das Programm QM gespeichert ist, verifiziert (oder verglichen). Wenn die Werte übereinstimmen, wird bestimmt, dass das Programm QM normal ist.In S120, the determination value for the program QM calculated in the determination value calculation process is verified (or compared) with the expected value M1 stored in the same memory area as the program QM. If the values match, it is determined that the program QM is normal.

Wenn in S120 bestimmt wird, dass das Programm QM normal ist, mit anderen Worten, wenn es keine Anomalie (das heißt kein Problem mit der Gültigkeit) gibt, schreitet die Routine zu S130, bei dem die Speicherschutzfunktion für den Speicherbereich des Programms QM in dem Flash-Speicher 26 deaktiviert wird (siehe Zeitpunkt t1 in 3).If it is determined in S120 that the program QM is normal, in other words, if there is no abnormality (that is, no problem with validity), the routine proceeds to S130, in which the memory protection function for the memory area of the program QM in FIG Flash memory 26 is deactivated (see time t1 in 3 ).

In S140 wird das Programm QM aus dem Speicherbereich in dem Flash-Speicher 26, für den die Speicherschutzfunktion deaktiviert ist, ausgelesen, und dann wird die Ausführung des Programms QM gestartet.In S140, the program QM is extracted from the memory area in the flash memory 26 for which the memory protection function is deactivated, is read, and then the execution of the program QM is started.

Nach dem Start der Ausführung des Programms QM in S140 wird in S150 auf die Berechnung des Bestimmungswertes für das Programm ASIL_A in dem Bestimmungswertberechnungsprozess gewartet. Auf der Grundlage des Bestimmungswertes wird die Gültigkeitsüberprüfung des Programms ASIL_A ausgeführt.After starting the execution of the program QM in S140, the calculation of the determination value for the program ASIL_A in the determination value calculation process is awaited in S150. On the basis of the determination value, the validity check of the program ASIL_A is carried out.

In S150 wird wie in S120 der Bestimmungswert für das Programm ASIL_A mit dem Erwartungswert M2, der in demselben Speicherbereich wie das Programm ASIL_A gespeichert ist, verglichen. Wenn die Werte übereinstimmen, wird bestimmt, dass das Programm ASIL_A normal ist.In S150, as in S120, the determination value for the program ASIL_A is compared with the expected value M2 stored in the same memory area as the program ASIL_A. If the values match, it is determined that the program ASIL_A is normal.

Wenn in S150 bestimmt wird, dass das Programm ASIL_A normal ist, wird in S160 die Speicherschutzfunktion für den Speicherbereich des Programms ASIL_A in dem Flash-Speicher 26 deaktiviert (siehe Zeitpunkt t2 in 3).If it is determined in S150 that the program ASIL_A is normal, in S160, the memory protection function for the memory area of the program ASIL_A is stored in the flash memory 26 deactivated (see time t2 in 3 ).

In S170 wird das Programm ASIL_A aus dem Speicherbereich des Flash-Speichers 26, für den die Speicherschutzfunktion deaktiviert wurde, ausgelesen, und die Ausführung des Programms ASIL_A wird gestartet.In S170, the program ASIL_A is removed from the memory area of the flash memory 26 , for which the memory protection function has been deactivated, is read out, and the execution of the program ASIL_A is started.

Nach dem Start der Ausführung des Programms ASIL_A in S170 wird in S180 auf die Berechnung des Bestimmungswertes für das Programm ASIL_C in dem Bestimmungswertberechnungsprozess gewartet. Auf der Grundlage des Bestimmungswertes wird die Gültigkeitsüberprüfung des Programms ASIL_C ausgeführt.After the execution of the program ASIL_A is started in S170, the calculation of the determination value for the program ASIL_C in the determination value calculation process is awaited in S180. On the basis of the determination value, the validity check of the program ASIL_C is carried out.

In S180 wird wie in S120 und S150 der Bestimmungswert für das Programm A-SIL_C mit dem Erwartungswert M3, der in demselben Speicherbereich wie das Programm ASIL_C gespeichert ist, verglichen. Wenn die Werte übereinstimmen, wird bestimmt, dass das Programm ASIL_C normal ist.In S180, as in S120 and S150, the determination value for the program A-SIL_C having the expectation M3 stored in the same memory area as the program ASIL_C is compared. If the values match, it is determined that the program ASIL_C is normal.

Wenn in S180 bestimmt wird, dass das Programm ASIL_C normal ist, wird in S190 die Speicherschutzfunktion für den Speicherbereich des Programms ASIL_C in dem Flash-Speicher 26 deaktiviert (siehe Zeitpunkt t3 in 3).If it is determined in S180 that the program ASIL_C is normal, the memory protection function for the memory area of the program ASIL_C in the flash memory is set in S190 26 deactivated (see time t3 in 3 ).

In S200 wird das Programm ASIL_C aus dem Speicherbereich des Flash-Speichers 26, für den die Speicherschutzfunktion freigegeben wurde, ausgelesen und dann die Ausführung des Programms ASIL_C gestartet.In S200, the program ASIL_C is out of the memory area of the flash memory 26 , for which the memory protection function has been enabled, is read out and then the execution of the program ASIL_C is started.

Der Start der Ausführung des Programms ASIL_C gibt an, dass sämtliche Schutzfunktionen für sämtliche Programme in dem Flash-Speicher 26 deaktiviert sind und die Ausführung sämtlicher Programme gestartet wurde; somit endet der Programmstartbestimmungsprozess.The start of the execution of the program ASIL_C indicates that all protection functions for all programs in the flash memory 26 are disabled and the execution of all programs has been started; thus, the program start determination process ends.

Wenn im Gegensatz dazu bestimmt wird, dass das Programm QM, ASIL_A oder ASIL_C in der Gültigkeitsüberprüfung in S120, S150 oder S180 nicht normal ist, schreitet die Routine zu S210.On the contrary, if it is determined that the program QM, ASIL_A or ASIL_C is not normal in the validation in S120, S150 or S180, the routine proceeds to S210.

In S210 wird die Ausführung eines vorbestimmten Ausfallsicherungsprozesses gestartet, um das Steuerziel 2 sicher zu steuern; somit endet der Programmstartbestimmungsprozess.In S210, the execution of a predetermined failover process is started to the control target 2 safe to steer; thus, the program start determination process ends.

Wie es oben beschrieben wurde, werden in dem Mikrocomputer 20 der Ausführungsform die Programme QM, ASIL_A und ASIL_C, die entsprechend den Funktionssicherheitsebenen klassifiziert werden, in einem Zustand gespeichert, in dem die Schutzfunktion in dem Flash-Speicher 26 eingestellt (aktiviert) ist.As described above, in the microcomputer 20 In the embodiment, the programs QM, ASIL_A and ASIL_C classified according to the functional security levels are stored in a state where the protection function in the flash memory 26 is set (activated).

Wenn die CPU 22 ein Programm in dem Flash-Speicher 26 ausführt, wird in der Reihenfolge von dem Programm QM, dessen Funktionssicherheitsebene niedrig ist, über das Programm ASIL_A bis zu dem Programm ASIL_C bestimmt, ob die jeweiligen Programme normal sind oder nicht, wie es in 3 gezeigt ist. If the CPU 22 a program in the flash memory 26 is executed, in the order from the program QM whose security level is low, via the program ASIL_A to the program ASIL_C determines whether the respective programs are normal or not, as in 3 is shown.

Jedes Mal, wenn bestimmt wird, dass das jeweilige Programm QM, ASIL_A und ASIL_C normal ist (Zeitpunkte t1, t2, t3), deaktiviert die CPU 22 die Schutzfunktion für das entsprechende Programm und startet die Ausführung des Programms.Each time it is determined that the respective program QM, ASIL_A and ASIL_C is normal (times t1, t2, t3), the CPU deactivates 22 the protection function for the corresponding program and starts the execution of the program.

Der Mikrocomputer 20 der Ausführungsform kann somit die Verzögerungszeit von der Aktivierung des Mikrocomputers 20 bis zur Ausführung des Programms im Vergleich zu einem Fall verkürzen, in dem ein Programm, das auszuführen ist, insgesamt in einem Speicher gespeichert wird und die Gültigkeitsüberprüfung für das gesamte Programm ausgeführt wird.The microcomputer 20 Thus, in the embodiment, the delay time from the activation of the microcomputer 20 in comparison with a case in which a program to be executed is stored in a memory as a whole and the validity check is executed for the entire program.

Zu dem Zeitpunkt der Berechnung des Bestimmungswertes für die Gültigkeitsüberprüfung für die jeweiligen Programme QM, ASIL_A und ASIL_C verwendet die CPU 22 nicht nur Daten eines zu überprüfenden betreffenden Programms, sondern auch Daten eines Programms, dessen Funktionssicherheitsebene niedriger als diejenige des zu überprüfenden betreffenden Programms ist.At the time of calculating the validity check determination value for the respective programs QM, ASIL_A and ASIL_C, the CPU uses 22 not only the data of a program to be examined, but also data of a program whose functional level is lower than that of the program concerned.

Die Gültigkeitsüberprüfung des Programms, dessen Funktionssicherheitsebene hoch ist, verwendet dadurch sämtliche Programme, deren Funktionssicherheitsebenen niedriger als diejenige des Programms sind; die Gültigkeitsüberprüfung des Programms kann somit genauer ausgeführt werden.The validity check of the program whose functional security level is high thereby uses all programs whose functional security levels are lower than those of the program; the validation of the program can thus be performed more accurately.

Die Berechnungszeit des Bestimmungswertes für ein Programm, dessen Funktionssicherheitsebene hoch ist, ist länger als diejenige des Bestimmungswertes für ein Programm, dessen Funktionssicherheitsebene niedriger als diejenige des Programms ist. Dieses kommt daher, dass die Datenmenge, die zur Berechnung des Bestimmungswertes verwendet wird, größer ist.The calculation time of the determination value for a program whose functional safety level is high is longer than that of the determination value for a program whose functional safety level is lower than that of the program. This is because the amount of data used to calculate the determination value is larger.

Der Bestimmungswert für die jeweiligen Programme QM, ASIL_A und ASIL_C wird durch den Bestimmungswertberechnungsprozess berechnet, der unmittelbar nach der Aktivierung des Mikrocomputers 20 startet. Wie es in 4 gezeigt ist, wird eine Berechnung des Bestimmungswertes für ein Programm, dessen Funktionssicherheitsebene hoch ist, auch während der Ausführung eines Programms fortgesetzt, dessen Funktionssicherheitsebene niedriger als diejenige des Programms ist.The determination value for the respective programs QM, ASIL_A and ASIL_C is calculated by the determination value calculation process immediately after the activation of the microcomputer 20 starts. As it is in 4 is shown, a calculation of the determination value for a program whose functional safety level is high is also continued during execution of a program whose functional safety level is lower than that of the program.

Eine derartige Konfiguration kann verhindern, dass eine Rechenzeit des Bestimmungswertes nach dem Starten des Mikrocomputers 20 lang wird, wodurch ein Start des Programms verzögert würde, und zwar sogar dann, wenn die Berechnung des Bestimmungswertes für ein Programm, dessen Funktionssicherheitsebene hoch ist, Daten eines Programms verwendet, dessen Funktionssicherheitsebene niedriger als diejenige des Programms ist.Such a configuration can prevent a calculation time of the determination value from starting the microcomputer 20 is long, thereby delaying a start of the program, even if the calculation of the determination value for a program whose functional safety level is high uses data of a program whose functional safety level is lower than that of the program.

Auch wenn oben eine Ausführungsform der vorliegenden Erfindung beschrieben wurde, ist die vorliegende Erfindung nicht darauf beschränkt, sondern kann verschiedene Modi annehmen, ohne von dem Bereich der vorliegenden Erfindung abzuweichen.Although an embodiment of the present invention has been described above, the present invention is not limited thereto but may take various modes without departing from the scope of the present invention.

Die erläuterte Ausführungsform berechnet beispielsweise den Bestimmungswert für die Gültigkeitsüberprüfung eines Programms in dem Flash-Speicher 26 unter Verwendung von Daten des Ziel-Programms bzw. betreffenden Programms und Daten eines Programms, dessen Funktionssicherheitsebene niedriger als diejenige des betreffenden Programms bzw. Zielprogramms ist.For example, the illustrated embodiment calculates the determination value for validity checking of a program in the flash memory 26 using data of the target program and data of a program whose functional security level is lower than that of the respective program or target program.

Alternativ kann der Bestimmungswert für die jeweiligen Programme, die in dem Flash-Speicher 26 gespeichert werden, unter Verwendung nur von Daten eines Zielprogramms berechnet werden. Dieser Fall kann einen Erwartungswert in dem Speicherbereich in jedem Programm unter Verwendung von nur Daten des Zielprogramms bestimmen.Alternatively, the determination value for the respective programs stored in the flash memory 26 be calculated using only data from a target program. This case may determine an expected value in the memory area in each program using only data of the target program.

Die erläuterte Ausführungsform nimmt an, dass ein Bestimmungswert für eine Gültigkeitsüberprüfung eines Programms in dem Flash-Speicher 26 parallel für jedes Programm in einem Bestimmungswertberechnungsprozess berechnet wird, der unmittelbar nach dem Start des Mikrocomputers 20 gestartet wird.The illustrated embodiment assumes that a determination value for validity checking of a program in the flash memory 26 is calculated in parallel for each program in a determination value calculation process immediately after the start of the microcomputer 20 is started.

Alternativ können die Bestimmungswerte für die Programme in dem Flash-Speicher 26 in einer Reihenfolge beginnend bei einem Programm, dessen Funktionssicherheitsebene niedrig ist, wie bei den Gültigkeitsüberprüfungen ausgeführt werden.Alternatively, the destination values for the programs in flash memory 26 in an order starting with a program whose functional security level is low, as performed in the validity checks.

Dieser Fall kann die Zeit, die benötigt wird, um eine Gültigkeitsüberprüfung eines Programms, dessen Funktionssicherheitsebene hoch ist, nach dem Start des Mikrocomputers 20 verlängern, wenn ein Bestimmungswert durch Einschließen von Daten des Programms, dessen Funktionssicherheitsebene niedrig ist, berechnet wird. Die Berechnung des Bestimmungswertes für jedes Programm kann auch nur Daten des Zielprogramms verwenden.This case may be the time required to validate a program whose functional security level is high after the start of the microcomputer 20 extend if a determination value is calculated by including data of the program whose functional security level is low. The calculation of the determination value for each program can only use data of the target program.

Die erläuterte Ausführungsform beinhaltet den Mikrocomputer 20 in der ECU 10, die in einem Fahrzeug montiert ist und verwendet wird, um fahrzeugeigene Instrumente zu steuern. Die vorliegende Erfindung kann verwendet werden, um ein anderes Steuerziel anstatt ein Fahrzeug zu steuern, und außerdem um einen vorbestimmten Berechnungsprozess für Büroarbeit auszuführen.The illustrated embodiment includes the microcomputer 20 in the ECU 10 that in one Vehicle is mounted and used to control on-board instruments. The present invention may be used to control a control target other than a vehicle, and also to execute a predetermined office work calculation process.

Die vorliegende Erfindung kann ähnliche Wirkungen bei der Anwendung für einen Mikrocomputer erzielen, der Ausführungsprogramme entsprechend Funktionssicherheitsebenen wie in der Ausführungsform klassifizieren kann.The present invention can achieve similar effects in the application for a microcomputer, which can classify execution programs according to functional security levels as in the embodiment.

Während die vorliegende Erfindung mit Bezug auf ihre bevorzugten Ausführungsformen beschrieben wurde, ist es selbstverständlich, dass die Erfindung nicht auf die bevorzugten Ausführungsformen und Konstruktionen beschränkt ist. Die vorliegende Erfindung deckt verschiedene Modifikationen und äquivalente Anordnungen ab. Während verschiedene Kombinationen und Konfigurationen bevorzugt sind, sind weitere Kombinationen und Konfigurationen einschließlich mehr, weniger oder einem einzelnen Element ebenfalls innerhalb des Bereichs der vorliegenden Erfindung möglich.While the present invention has been described with respect to preferred embodiments thereof, it is to be understood that the invention is not limited to the preferred embodiments and constructions. The present invention covers various modifications and equivalent arrangements. While various combinations and configurations are preferred, other combinations and configurations including more, less or a single element are also possible within the scope of the present invention.

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 2013-084219 A [0002] JP 2013-084219 A [0002]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • ISO26262 [0026] ISO26262 [0026]
  • IEC61508 [0026] IEC61508 [0026]
  • ISO26262 [0027] ISO26262 [0027]

Claims (4)

Mikrocomputer, der aufweist: einen Speicher (26), der ein Programm in einem Schutzzustand speichert, der eine Schutzfunktion aktiviert, die eine Ausführung des Programms verhindert; und einen Arithmetikprozessor (22), der eine Gültigkeitsüberprüfung für das Programm, das in dem Speicher gespeichert ist, dahingehend durchführt, ob das Programm keine Anomalie aufweist, und die Schutzfunktion deaktiviert, wenn durch die Gültigkeitsüberprüfung bestimmt wird, dass das Programm keine Anomalie aufweist, und dann das Programm ausführt, wobei der Speicher mehrere Programme (QM, ASIL_A, ASIL_C) speichert, die entsprechend Funktionssicherheitsebenen in dem Schutzzustand, der die Schutzfunktion aktiviert, klassifiziert sind; und der Arithmetikprozessor die Gültigkeitsüberprüfung der Programme programmweise in einer Reihenfolge ausgehend von einem Programm, dessen Funktionssicherheitsebene niedrig ist, durchführt (S120, S150, S180), und die Schutzfunktion für ein Programm deaktiviert (S130, S160, S190), wenn durch die Gültigkeitsüberprüfung bestimmt wird, dass das Programm keine Anomalie aufweist, und dann das Programm ausführt (S140, S170, S200).Microcomputer, comprising: a memory ( 26 ) that stores a program in a protection state that activates a protection function that prevents execution of the program; and an arithmetic processor ( 22 ), which performs a validity check on the program stored in the memory as to whether the program has no abnormality, and deactivates the protection function if it is determined by the validity check that the program has no abnormality and then executes the program wherein the memory stores a plurality of programs (QM, ASIL_A, ASIL_C) classified according to functional security levels in the protection state activating the protection function; and the arithmetic processor performs program validation program by program in order from a program whose security level is low (S120, S150, S180), and deactivates the protection function for a program (S130, S160, S190) when determined by the validity check is that the program has no abnormality, and then executes the program (S140, S170, S200). Mikrocomputer nach Anspruch 1, wobei jedes Mal, wenn durch die Gültigkeitsüberprüfung bestimmt wird, dass ein Programm keine Anomalie aufweist, der Arithmetikprozessor die Schutzfunktion für das Programm deaktiviert und dann die Ausführung des Programms startet; und der Arithmetikprozessor während der Ausführung des Programms die Gültigkeitsüberprüfung für ein anderes Programm durchführt.A microcomputer according to claim 1, wherein each time the validity check determines that a program has no abnormality, the arithmetic processor disables protection of the program and then starts execution of the program; and the arithmetic processor executes the validity check for another program during execution of the program. Mikrocomputer nach Anspruch 1 oder 2, wobei der Arithmetikprozessor eine Gültigkeitsüberprüfung für jedes der Programme ausführt mittels: Durchführen eines vorbestimmten Arithmetikbetriebs auf der Grundlage von Daten in einem Speicherbereich in dem Speicher, der ein erstes zu überprüfendes Programm speichert, und Daten in einem Speicherbereich in dem Speicher, der ein zweites Programm speichert, dessen Funktionssicherheitsebene niedriger als diejenige des zu überprüfenden ersten Programms ist; und dann Verifizieren eines Arithmetikergebnisses des Arithmetikbetriebs mit einem Erwartungswert, der in dem Speicher gespeichert ist.A microcomputer according to claim 1 or 2, wherein the arithmetic processor performs a validity check on each of the programs by: Performing a predetermined arithmetic operation based on data in a memory area in the memory storing a first program to be checked, and data in a memory area in the memory storing a second program whose functional security level is lower than that of the first program to be checked ; and then Verifying an arithmetic result of the arithmetic operation with an expected value stored in the memory. Mikrocomputer nach einem der Ansprüche 1 bis 3, wobei wenn als Ergebnis der Gültigkeitsüberprüfung für ein Programm bestimmt wird, dass das Programm eine Anomalie aufweist, der Arithmetikprozessor einen vorbestimmten Ausfallsicherungsprozess in einem Zustand ausführt (S210), in dem die Schutzfunktion für das Programm aktiviert gehalten wird.A microcomputer according to any one of claims 1 to 3, wherein, when it is determined as a result of validity checking for a program that the program has an abnormality, the arithmetic processor executes a predetermined failover process in a state (S210) in which the protection function for the program is kept activated becomes.
DE102016200413.1A 2015-01-21 2016-01-15 MICROCOMPUTER Pending DE102016200413A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015009548A JP6471510B2 (en) 2015-01-21 2015-01-21 Microcomputer
JP2015-9548 2015-01-21

Publications (1)

Publication Number Publication Date
DE102016200413A1 true DE102016200413A1 (en) 2016-07-21

Family

ID=56293207

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016200413.1A Pending DE102016200413A1 (en) 2015-01-21 2016-01-15 MICROCOMPUTER

Country Status (2)

Country Link
JP (1) JP6471510B2 (en)
DE (1) DE102016200413A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021125672A1 (en) 2021-10-04 2023-04-06 Bayerische Motoren Werke Aktiengesellschaft Processor system for a vehicle and method for monitoring a process state after a remote software update

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3500940A4 (en) * 2016-08-22 2020-03-18 Peloton Technology, Inc. Automated connected vehicle control system architecture
JP2019160107A (en) * 2018-03-16 2019-09-19 日立オートモティブシステムズ株式会社 Transmission controller

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084219A (en) 2011-10-12 2013-05-09 Toyota Motor Corp Information processing device and abnormality determination method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242957A (en) * 1993-02-16 1994-09-02 Fujitsu Ltd Program execution controller
JPH06348501A (en) * 1993-06-14 1994-12-22 Tokyo Electric Co Ltd Program downloading method
US7802110B2 (en) * 2004-08-25 2010-09-21 Microsoft Corporation System and method for secure execution of program code
JP2010079579A (en) * 2008-09-25 2010-04-08 Toshiba Corp Resume method and information processing apparatus
JP2013143095A (en) * 2012-01-12 2013-07-22 Toyota Motor Corp Electronic control device, and memory check method
JP2013218427A (en) * 2012-04-05 2013-10-24 Of Networks:Kk Information processing apparatus and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013084219A (en) 2011-10-12 2013-05-09 Toyota Motor Corp Information processing device and abnormality determination method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEC61508

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102021125672A1 (en) 2021-10-04 2023-04-06 Bayerische Motoren Werke Aktiengesellschaft Processor system for a vehicle and method for monitoring a process state after a remote software update

Also Published As

Publication number Publication date
JP6471510B2 (en) 2019-02-20
JP2016134082A (en) 2016-07-25

Similar Documents

Publication Publication Date Title
DE112018002176T5 (en) Abnormality determination device, abnormality determination method and abnormality determination program
DE112018006702T5 (en) DETERMINING THE RELIABILITY OF VEHICLE CONTROL COMMANDS USING A MATCHING MECHANISM
DE102013225445A1 (en) Method and system for bypassing authenticity checks for protected control modules
DE102014222860A1 (en) Electronic vehicle control unit
DE102016200413A1 (en) MICROCOMPUTER
DE102017213510A1 (en) Method and apparatus for generating a machine learning system, and virtual sensor device
WO2008090027A1 (en) Single-chip computer and tachograph
DE102016210788A1 (en) Component for processing a worthy of protection date and method for implementing a security function to protect a worthy of protection date in such a component
DE102019004612A1 (en) Method for operating a vehicle with a control device
DE102016200130A1 (en) Electronic control device
DE102017214057A1 (en) Method for checking the integrity of system components of a system and arrangement for carrying out the method
DE102009012887B4 (en) Method for checking incorrect installation of vehicle sensors
DE102008008969B4 (en) Electrical system of a motor vehicle with an authentication device
DE102016224206A1 (en) VEHICLE CONTROL DEVICE
EP3822775A1 (en) Method for securely starting device software, especially an operating system, of an electronic device
DE102018215011A1 (en) Method for installing a program code package in a device, device and motor vehicle
DE102021209691B3 (en) Method for monitoring a component of an effect chain
DE102018207504A1 (en) Control device and control method
DE102019208129B4 (en) Electronic control unit
DE102017219195A1 (en) METHOD FOR ENSURING THE OPERATION OF A COMPUTER
DE102018219700B4 (en) Control device
WO2009077271A1 (en) Method for identifying reciprocal influencing of software components
DE102016222691A1 (en) Microcontroller system and method for controlling memory accesses in a microcontroller system
DE102017208872A1 (en) Electronic control unit
DE102021129670A1 (en) Method, vehicle component and computer program for granting authorization for a vehicle component of a vehicle to execute a computer program

Legal Events

Date Code Title Description
R012 Request for examination validly filed