-
TECHNISCHES GEBIET
-
Die vorliegende Erfindung betrifft einen Mikrocomputer, der eine Gültigkeit eines Programms überprüft und dann das Programm ausführt.
-
STAND DER TECHNIK
-
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.
-
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.
-
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.
-
ZUSAMMENFASSUNG
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
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:
-
1 ein Blockdiagramm, das eine Konfiguration einer elektronischen Steuereinheit einer Ausführungsform darstellt;
-
2 ein Flussdiagramm, das eine Programmausführung eines Mikrocomputers darstellt;
-
3 ein Zeitdiagramm, das Änderungen eines Speicherschutzzustands in Verbindung mit einer Ausführung eines Programms darstellt; und
-
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.
-
DETAILLIERTE BESCHREBUNG
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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).
-
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.
-
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.
-
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 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.
-
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).
-
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.
-
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.
-
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.
-
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).
-
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.
-
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.
-
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.
-
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).
-
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.
-
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.
-
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.
-
In S210 wird die Ausführung eines vorbestimmten Ausfallsicherungsprozesses gestartet, um das Steuerziel 2 sicher zu steuern; somit endet der Programmstartbestimmungsprozess.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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.
-
Zitierte Patentliteratur
-
-
Zitierte Nicht-Patentliteratur
-
- ISO26262 [0026]
- IEC61508 [0026]
- ISO26262 [0027]