DE112013007147T5 - Mikrosteuereinheit-Fehlerinjektions-Verfahren und -System - Google Patents

Mikrosteuereinheit-Fehlerinjektions-Verfahren und -System Download PDF

Info

Publication number
DE112013007147T5
DE112013007147T5 DE112013007147.9T DE112013007147T DE112013007147T5 DE 112013007147 T5 DE112013007147 T5 DE 112013007147T5 DE 112013007147 T DE112013007147 T DE 112013007147T DE 112013007147 T5 DE112013007147 T5 DE 112013007147T5
Authority
DE
Germany
Prior art keywords
error
error injection
microcontroller
injection
unit
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.)
Withdrawn
Application number
DE112013007147.9T
Other languages
English (en)
Inventor
Yasuo Sugure
Yasuhiro Ito
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of DE112013007147T5 publication Critical patent/DE112013007147T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2236Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test CPU or processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Eine vorübergehende Fehlerinjektion in bestehende Hardware wird unter ausschließlicher Verwendung von Software ohne Änderung einer Umsetzung der Hardware durchgeführt. Ein Fehlerinjektions-Unterbrechungsprozess beginnt mit einem Vorgang einer CPU unter Verwendung einer Unterbrechung, die von keiner Software verwendet wird, und ein interner Zustand von Hardware wird folglich auf den gleichen Wert aktualisiert, der erhalten wurde, als ein Fehler während des Unterbrechungsprozesses aufgetreten ist. Ein Takt der CPU während des Unterbrechungsprozesses wird beschleunigt, so dass ein Zeitraum des Unterbrechungsprozesses kleiner als ein Zeitraum ist, bis ein Fehler wirksam wird.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung bezieht sich auf ein eingebettetes Systemverifizierungsverfahren und -system und insbesondere auf einen Zusammenarbeitssimulator oder eine Beurteilungshardwaretechnik, die sich für die Entwicklung eines eingebetteten Systems eignet, das mit einem Mechanismus (der als elektronisches Steuerziel dient), Hardware (ein elektronisches Steuersystem) und Software (ein Programm) konfiguriert ist.
  • VERWANDTER STAND DER TECHNIK
  • Ein eingebettetes System bezieht sich auf ein System, das mit einem Mechanismus, der ein Steuerziel konfiguriert, einer Hardware, die einen Steuervorgang auf Basis einer physikalischen Menge durchführt, die vom Mechanismus empfangen wurde, und einen Steuerwert an den Mechanismus ausgibt, und Software, die auf der Hardware arbeitet, konfiguriert ist.
  • Beispielsweise ist ein eingebettetes System für einen Kraftfahrzeugmotorsteuerung mit einem Mechanismus konfiguriert, z. B. einem Motor, der als Steuerziel dient, einer elektronischen Vorrichtung, z. B. einer Mikrosteuereinheit, die einen Steuervorgang durchführt und den Motor oder dergleichen steuert, und Software, die auf der Mikrosteuereinheit oder dergleichen arbeitet, konfiguriert.
  • Das Verhalten der im eingebetteten System enthaltenen Software hängt stark von Konfigurationen des Mechanismus, der als Steuerziel dient, und der Hardware ab und somit ist es erforderlich, eine Verhaltensanalyse unter Berücksichtigung sowohl des Mechanismus, der Hardware als auch der Software durchzuführen.
  • Da Kraftfahrzeuge, elektrische Gerätschaft und dergleichen hohe Zuverlässigkeit und hohe Funktionalität zu erfüllen versuchen, wurde das eingebettete System komplizierte und um einen Arbeitszeitraum zu verringern, werden Teile von Hardware und Software segmentiert, wird eine Arbeitsteilung vollzogen und wird eine gleichzeitige Entwicklung an mehreren Orten durchgeführt.
  • Mit fortschreitender Arbeitsteilung steigt die mangelnde Leistung oder Konformität einer Spezifikation, die während einer Betriebsüberprüfung jedes Teils oder jeder Baugruppe eines Teils festgestellt wird, und ein Entwicklungszeitraum wird rückgabebedingt im Endstadium häufig verzögert, bevor ein Produkt versandt wird, was zu dem Problem einer verschlechterten Entwicklungseffizienz führt.
  • Um dieses Problem zu lösen, wurde mit der Verwendung einer Leistungsbeurteilungsverifizierungstechnik auf Basis einer Simulation begonnen, bei der ein Mechanismus, Hardware und Software zum Zeitpunkt des Designs zusammenarbeiten.
  • Wenn eine Leistungsbeurteilung und eine Betriebsverifizierung durch die Simulation durchgeführt werden, ist es erforderlich, Vorgänge von Elementen zu beschreiben, die ein eingebettetes Zielsystem konfigurieren, das auf einem Simulator als Simulationsmodell softwareausführbar sein soll.
  • Bei einer üblichen Form wird das Simulationsmodell von einem Unternehmen oder einer Abteilung bereitgestellt, die für das Design und die Herstellung von Elementen eines Mechanismus und von Hardware verantwortlich ist.
  • Die Systembetriebsverfizierung, bei der die Fehlerinjektion eines Hardwareteils betrachtet wird, wird bei einem solchen simulationsbasierten Softwareverifizierungsprozess erwartet.
  • Bei dieser Verifizierung ist es im verwandten Stand der Technik erforderlich, bei der tatsächlichen Hardware einen Fehler herbeizuführen. Da es jedoch nicht möglich ist, einen von einem Benutzer gewünschten Fehler an einer willkürlichen Stelle an einem willkürlichen Zeitablauf herbeizuführen, sind die anzuwendenden Verifizierungsoptionen sehr eingeschränkt.
  • Andererseits ist eine Fehlerinjektion an einer willkürlichen Stelle bei der simulationsbasierten Technik durch Modellieren eines gewünschten Fehlers theoretisch möglich.
  • In dieser Hinsicht wird eine Fehlerinjektion an einer Verbindung zwischen Teilen eines elektronischen Systems durchgeführt, z. B. unter Verwendung einer im Patentdokument 1 offenbarten Technik.
  • LISTE DER REFERENZSCHRIFTEN
  • PATENTDOKUMENTE
  • KURZFASSUNG DER ERFINDUNG
  • DURCH DIE ERFINDUNG ZU LÖSENDE PROBLEME
  • Man geht davon aus, dass die Abhängigkeit von elektronischen Systemvorrichtungen mit einer Verringerung der Größe von Halbleitern weiter verringert wird und die Anforderungen an einen Fehlerinjektionstest teilweise zunehmen werden.
  • Wenn eine Beurteilung der Auswirkungen eines Fehlers mit einer sehr geringen Auftrittswahrscheinlichkeit durchgeführt wird, wird das Ändern einer Hardwarestruktur gemäß einem Fehler, der zu injizieren ist, in Betracht gezogen, um den Verifizierungszeitraum zu verringern.
  • Da der Hardwareteil oder das Simulationsmodell jedoch üblicherweise von einem Unternehmen oder einer Abteilung vom Benutzer getrennt bereitgestellt wird, wie oben beschrieben, und es für den Hersteller schwierig ist, eine Umsetzung für jeden Benutzer zu ändern, wird ein Betriebstest, bei dem ein Fehler betrachtet wird, auf keinen Systemen außer bei z. B. einem Luftfahrtsystem oder einem Satellitensystem durchgeführt, das kaum repariert wird, wenn ein Fehler auftritt. Es ist jedoch wünschenswert, dass ein solcher Betriebstest sogar an Konsumentenprodukten durchgeführt wird, um strikte Sicherheitsstandards umzusetzen und die Größe der Hardware zu verringern.
  • Bei der im Patentdokument 1 offenbarten Technik werden Werte eines Speichers, eines PC und dergleichen in einem Unterbrechungsprozess auf ein Register geladen und danach wird ein Bitvorgang des Simulierens eines Bitfehlers gemeinsam durchgeführt. Bei der obigen Technik kommt es bei Verarbeitung in einer Unterbrechung unnötigerweise zu einer Verzögerung als Zeitraum, in dem ein Fehler injiziert wird, ist es schwierig, einen Ausführungszeitraum genau zu beurteilen, und ist es erforderlich, eine Verringerung der Genauigkeit einer Simulation zu prüfen und ferner zu prüfen, wie ein Unterbrechungszeitablauf zu steuern ist.
  • Aufgrund des Vorstehenden wurde eine hohe Effizienz eines Softwarebetriebstests, bei dem die Auswirkung einer Fehlfunktion ausführlich betrachtet wird, zum Thema.
  • LÖSUNG DER PROBLEME
  • Gemäß der vorliegenden Erfindung wird das obige Problem durch Simulieren einer Änderung eines internen Zustands, der durch eine vorübergehende Hardwarefehlfunktion verursacht ist, unter ausschließlicher Verwendung von Software gelöst.
  • In den meisten CPUs, die eine eingebettete Steuermikrosteuereinheit enthalten, ist eine Funktion zum Unterbrechen (interrupting) einer normalen Programmausführung und vorzugsweise zum Durchführen eines vordefinierten Prozesses umgesetzt. Bei der vorliegenden Erfindung wird diese Unterbrechungsfunktion verwendet. Der Benutzer setzt ein Programm zum Umschreiben eines internen Zustands entsprechend einer Hardwarefehlfunktion, die es zu simulieren gilt, in einer Form um, bei der sie vorab zu der zu testenden Software hinzugefügt wird. Des Weiteren wird ein Unterbrechungskanal, der von keiner in dieser Software ursprünglich bereitgestellten Funktion verwendet wird, zugewiesen, um die hinzugefügte Software zu aktivieren.
  • Die Software wird am Simulator oder auf der Beurteilungshardware ausgeführt und der Fehlerinjektions-Unterbrechungsprozess wird an einem Zeitstempel ausgelöst, an dem der Benutzer einen Fehler unter Verwendung einer Softwareunterbrechung oder einer externen Unterbrechung injiziert.
  • Anders ausgedrückt wurde bisher der gesamte Verarbeitungsbetrieb gestoppt und der interne Zustand wurde von einer externen Messvorrichtung umgeschrieben, bei der vorliegenden Erfindung hingegen wird eine Taktbeschleunigung (Vorrichtung/Modell) verwendet, die mit einer Softwareunterbrechung synchronisiert ist, wobei ein umzuschreibender Zielabschnitt vorübergehend taktbeschleunigt und ein Zustand von innerhalb der Software umgeschrieben wird.
  • Folglich wird vom Gesichtspunkt der ursprünglichen Software während der Ausführung aus der interne Zustand der Hardware als aufgrund einer Fehlfunktion geändert erkannt.
  • Wenn ein Ausführungszeitraum des Fehlerinjektions-Unterbrechungsprozesses länger als ein tatsächlicher Fehlerzeitraum ist, wird eine Taktfrequenz einer Zielhardware während des Fehlerinjektions-Unterbrechungsprozesses beschleunigt und der Ausführungszeitraum des Fehlerinjektions-Unterbrechungsprozesses wird als nicht problematisch eingestellt.
  • WIRKUNGEN DER ERFINDUNG
  • Gemäß der vorliegenden Erfindung muss der Benutzer keine Umsetzung jedes Modells oder jeder Beurteilungshardware ändern, und wenn ein Standardfehler auftritt, kann eine Analyse der Auswirkungen ausschließlich unter Verwendung von Software nachgebildet werden, und dies trägt zur Verbesserung der Produktivität eines Systemtests bei, bei dem die Auswirkung einer willkürlichen vorübergehenden Hardwarefehlfunktion beurteilt wird.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Schaubild, das eine allgemeine Konfiguration einer ersten Ausführungsform veranschaulicht.
  • 2 ist ein Schaubild, das eine eingebettete Systemkonfiguration veranschaulicht.
  • 3 ist ein Schaubild, das eine Datenanordnungsdefinition eines üblichen Simulatormanipulationsprotokolls veranschaulicht.
  • 4 ist ein Schaubild, das ausführliche Konfigurationen und ein Verbindungsverfahren einer Fehlerinjektions-Anweisungseinheit und einer Fehlerinjektions-Ausführungseinheit veranschaulicht.
  • 5 ist ein Schaubild, das eine Konfiguration einer Fehlerinjektions-Binärerzeugungseinheit gemäß der ersten Ausführungsform veranschaulicht.
  • 6 ist ein Schaubild, das einen Fehlerinjektions-Binärerzeugungsablauf gemäß der ersten Ausführungsform veranschaulicht.
  • 7 ist ein Schaubild, das einen Systembetriebsablauf gemäß der ersten Ausführungsform veranschaulicht.
  • 8 ist ein Schaubild, das eine allgemeine Konfiguration einer zweiten Ausführungsform veranschaulicht.
  • 9 ist ein Schaubild, das eine Konfiguration einer Fehlerinjektions-Binärerzeugungseinheit gemäß der zweiten Ausführungsform veranschaulicht.
  • 10 ist ein Schaubild, das einen Fehlerinjektions-Binärerzeugungsablauf gemäß der zweiten Ausführungsform veranschaulicht.
  • 11 ist ein Schaubild, das einen Systembetriebsablauf gemäß der zweiten Ausführungsform veranschaulicht.
  • WEISE ZUM DURCHFÜHREN DER ERFINDUNG
  • 2 veranschaulicht einen Überblick über ein eingebettetes System 208, das als Anwendungsziel der vorliegenden Erfindung dient.
  • Üblicherweise ist das eingebettete System mit einer Kombination aus einem mechanischen Teil 207, einer Kommunikationseinheit 205 zum Durchführen einer Kommunikation mit außerhalb und einer Steuermikrosteuereinheit 200 konfiguriert.
  • Im Inneren der Steuermikrosteuereinheit 200 befindet sich eine CPU 201 auf einem Bus 204 zentriert und eine Software 202 arbeitet auf der CPU 201.
  • Eine Unterbrechungssteuereinheit 203 ist mit der CPU 201 verbunden und ein Peripheriegerät 206 ist mit dem mechanischen Teil 207 und der Kommunikationseinheit 205 verbunden, die außerhalb der Steuermikrosteuereinheit 200 angeordnet sind.
  • Wenn das eingebettete System 208 arbeitet, ist der Datenfluss in einer Form, in der die Unterbrechungssteuereinheit 203, wenn das Peripheriegerät 206 Daten von der Kommunikationseinheit 205 oder dem mechanischen Teil 207 empfängt, eine Datenverarbeitung auf der CPU 201 unterbricht, ein Verarbeitungsergebnis durch das Peripheriegerät 206 weitergeleitet wird und ein Befehl an die Kommunikationseinheit 205 oder den mechanischen Teil 207 ausgegeben wird.
  • 3 veranschaulicht eine beispielhafte Konfiguration eines gemeinsamen Protokolls 300 des vorliegenden Systems, das zwischen einer Fehlerinjektions-Anweisungseinheit 113 und einer Fehlerinjektions-Ausführungseinheit 105 ausgetauscht wird, wie in 1 veranschaulicht. Das vorliegende Protokoll kann eine Anweisungssequenz variabler Länge beinhalten.
  • In 3 sind ein arg1-Feld 305 und ein arg2-Feld 306 Abschnitte mit einer variablen Länge und wird deren Anzahl von einem Index 303 gesteuert. Die restlichen Felder sind fixe Felder. Ein ID-Feld 301 zeigt ein Testelement der Fehlerinjektions-Ausführungseinheit 105 an, das ein oder mehrere auszuführende Testelemente beinhaltet. Ein Typ-Feld 302 weist einen Tyt eines Testelements aus. Wenn ein Testelement ein Beobachtungsauslöseereignis ist, wird ein Ausführungsergebnis des Elements in ein Wert-Feld 304 eingegeben. Ein Simulationszeitpunkt, an dem ein Testelement ausgeführt wird, ist in einem Zeitablauf-Feld 307 beschrieben, und das Zeitablauf-Feld 307 wird von der Fehlerinjektions-Anweisungseinheit 113 übertragen und in einen Zustand zurückgeführt, wobei ein Simulationszeitpunkt, an dem die Simulation tatsächlich von der Fehlerinjektions-Ausführungseinheit 105 ausgeführt wurde, überschrieben wird.
  • Das Protokoll 300 ist so umgesetzt, dass es mit einer Bibliothek zum Manipulieren eines weiteren Simulators kompatibel ist, und kann somit eine Fehlerinjektion in Zusammenarbeit mit einer Mehrzahl von Simulatoren ausführen. Beispielsweise kann die Fehlerinjektion durchgeführt werden, wenn der Zustand des mechanischen Teils 207 von 2 verändert wird.
  • Erste Ausführungsform
  • Es wird eine beispielhafte Konfiguration der vorliegenden Ausführungsform zum Umsetzen der Fehlerinjektion an einer internen Komponente der Mikrosteuereinheit unter Verwendung des Simulators beschrieben.
  • Eine Konfiguration der vorliegenden Ausführungsform wird unter Bezugnahme auf 1 beschrieben.
  • Beim vorliegenden System gibt die Fehlerinjektions-Anweisungseinheit 113, während ein Simulator 111 in Betrieb ist, der zur Durchführung einer Mikrosteuereinheitbetriebssimulation in der Lage ist, eine Fehlerinjektionsanweisung von außerhalb des Simulators aus. Im Simulator ist die Fehlerinjektions-Ausführungseinheit 105, die die Fehlerinjektionsanweisung empfängt und eine Ausführung eines Fehlerinjektionsvorgangs auslöst, zu diesem Zweck mit einem Mikrosteuereinheitmodell 106 verbunden, das als Verifizierungsziel dient. Des Weiteren wird eine Zielsoftware, die auf dem Mikrosteuereinheitmodell 106 arbeitet, vor Ausführung der Simulation gelesen, ein im Fehlerinjektionsprozess enthaltener Binär 112 wird jedoch von einer Fehlerinjektions-Binärerzeugungseinheit 110 erzeugt, bevor die Simulation beginnt. Der ”Binär” bezieht sich auf ein Programm mit einem ausführbaren Format. Eine interne Struktur des Mikrosteuereinheitmodells 106 hängt von einem elektronischen Systemteil ab, der als Ziel dient, die CPU 201, ein ROM 104, der Bus 204, die Unterbrechungssteuereinheit 203, ein Takterzeuger 107 und eine Bussteuereinheit 108 sind jedoch für eine Umsetzung der vorliegenden Ausführungsform erforderlich.
  • Im Folgenden wird ein Überblick über einen Fehlerinjektions-Unterbrechungsprozess geboten, der von der Systemkonfiguration von 1 durchgeführt wird.
    • (1) Für den Fehlerinjektions-Unterbrechungsprozess wird ein Takt beschleunigt.
    • (2) Ein Registerwert von einer CPU wird in einem Speicherbereich gespeichert.
    • (3) Ein ausgewiesener interner Registerzustand wird zerstört (gelöscht).
    • (4) Ein gespeicherter Registerwert wird zurück in die CPU geschrieben.
    • (5) Eine ursprüngliche Geschwindigkeit eines Takts wird wiederhergestellt.
  • Da der obige Prozess mit einem ursprünglichen Taktzeitraum endet, scheint der Prozess bei der vorliegenden Ausführungsform des Weiteren in Bezug auf die Software abrupt geändert worden zu sein, ein vorübergehender unerwünschter Effekt, der in einer Softwaresimulation auftritt, kann jedoch durch Taktbeschleunigung entfernt werden.
  • Ein Verhältnis der Verbindung zwischen der Fehlerinjektions-Ausführungseinheit 105 und der Konfiguration der Fehlerinjektions-Anweisungseinheit 113 wird unter Bezugnahme auf 4 beschrieben.
  • Die Fehlerinjektions-Anweisungseinheit 113 ist mit den folgenden drei Komponenten konfiguriert.
  • Die Fehlerinjektions-Anweisungseinheit 113 ist mit einer Testelement-Interpretationseinheit 405, die ein vom Benutzer eingegebenes Testelementdokument (ein ”Fehlerinjektionsszenario” von Schritt 702 von 7, das später beschrieben wird) empfängt und die Fehlerinjektionsanweisung der vorliegenden Erfindung, die darin beschrieben ist, interpretiert, mit einer Testelementwarteschlange 404, die die interpretierte Fehlerinjektionsanweisung beinhaltet und die Fehlerinjektionsanweisung speichert, bis die Fehlerinjektionsanweisung sequentiell verwendet wird, und mit einer Kommunikationsschnittstelleneinheit 403, die die Fehlerinjektionsanweisung an die Fehlerinjektions-Ausführungseinheit 105 überträgt, konfiguriert.
  • Die Fehlerinjektions-Ausführungseinheit 105 ist über TCP-Kommunikation mit der Fehlerinjektions-Anweisungseinheit 113 verbunden und kann Informationen, die einen Fehlerinjektions-Unterbrechungsprozess anzeigen, der als auszuführend ausgewiesen ist, und Informationen, die einen Zeitstempel anzeigen, an dem der Fehlerinjektions-Unterbrechungsprozess durchgeführt wurde, unter Verwendung des gemeinsamen Protokolls an die Fehlerinjektions-Anweisungseinheit 113 übertragen, wie in 3 veranschaulicht.
  • Die Fehlerinjektions-Ausführungseinheit 105 ist mit einer Kommunikationsschnittstelleneinheit 400, die eine Schnittstelle zum Empfangen der Fehlerinjektionsanweisung von der Fehlerinjektionseinheit 113 beinhaltet, mit einer Befehlsinterpretationseinheit 401, die einen empfangenen Befehl interpretiert und einen Fehlerinjektionszeitablauf und einen Fehlerinjektions-Unterbrechungsprozess eines Ziels erhält, und mit einer Befehlsausführungseinheit 402 verbunden, die mit dem Mikrosteuereinheitmodell 106 verbunden ist, als tatsächliches Ziel dienend, und eine Unterbrechung beginnt oder eine Taktfrequenz manipuliert.
  • Die Unterbrechungssteuereinheit 203 und der Takterzeuger 107 sind mit dem Befehlsausführungseinheit 402 der Fehlerinjektions-Ausführungseinheit 105 verbunden und somit kann die Fehlerinjektions-Ausführungseinheit 105 einen Manipulations- oder Betriebszustandstransfer durchführen.
  • Der Takterzeuger 107, der mit der Fehlerinjektions-Ausführungseinheit 105 verbunden ist, verteilt ein Taktsignal an die Bussteuereinheit 108 des Busses 204 und die CPU 201.
  • Die Fehlerinjektions-Ausführungseinheit 105 aktiviert die Unterbrechungssteuereinheit 203 gemäß der Fehlerinjektionsanweisung der Fehlerinjektions-Anweisungseinheit 113 und legt eine Ausgabefrequenz des Takterzeugers 107 fest, während sie den Unterbrechungsprozess auslöst. Beim Festlegen der Taktfrequenz legt der Benutzer einen Wert fest, der den Simulationsbetrieb nicht beeinflusst.
  • Wenn das Ende des Unterbrechungsprozesses über die Unterbrechungssteuereinheit 203 an die Fehlerinjektions-Ausführungseinheit 105 übertragen wird, wird ein zuvor festgelegter Wert von einem hohen Wert zurück auf einen niedrigen Wert (einem ursprünglichen Taktwert) als Ausgabefrequenz des Takterzeugers 107 geschrieben.
  • 5 veranschaulicht eine Konfiguration der Fehlerinjektions-Binärerzeugungseinheit 110, die bei der ersten Ausführungsform verwendet wird, und 6 veranschaulicht den Ablauf des Erzeugens eines in einer Fehlerinjektionsfunktion enthaltenen Binärs 109 durch die Fehlerinjektions-Binärerzeugungseinheit 110.
  • Dieser Teil empfängt zwei Dateien, d. h. eine ursprüngliche Binärdatei 500 und eine Fehlerinjektionsbaugruppe 502, und gibt den in einer Fehlerinjektionsfunktion enthaltenen Binär 109 aus, der in einer Fehlerinjektionssimulation verwendet wird.
  • Wenn die Fehlerinjektions-Binärerzeugungseinheit 110 einen Vorgang beginnt, wird der Benutzer zunächst aufgefordert, die zu verifizierende Software zu registrieren, d. h. die ursprüngliche Binärdatei 500. (Schritt 600) Eine Einheit 501 zum Extrahieren einer Tabelle nicht verwendeter Unterbrechungsvektoren analysiert eine Unterbrechungstabelle der eingegebenen ursprünglichen Binärdatei 500 und extrahiert einen Unterbrechungsvektor dem kein Prozess zugewiesen ist. (Schritt 601) Eine Fehlerinjektionsbaugruppen-Einbettungseinheit 503 kombiniert eine oder mehrere Fehlerinjektionsbaugruppen 502 mit einem Bitvorgang, der einem Fehlermodus entspricht, der vom Benutzer erwünscht ist, und erzeugt einen Fehlerinjektions-Unterbrechungsprozess.
  • Des Weiteren wird der Fehlerinjektions-Unterbrechungsprozess dem nicht verwendeten Unterbrechungsvektor zugewiesen, der in Schritt 601 extrahiert wurde. (Schritt 602) Eine Binärdatei, in der diese Zuordnung zur ursprünglichen Binärdatei 500 hinzugefügt wurde, wird als der in einer Fehlerinjektionsfunktion enthaltene Binär 109 ausgegeben. (Schritt 603) Ein Prozess zum Auslösen des Unterbrechungsprozesses ist in dem in einer Fehlerinjektionsfunktion enthaltenen Binär 109 nicht enthalten. Da die Fehlerinjektionsfunktion nicht ohne eine Unterbrechungsmanipulation durchgeführt wird, die von der Fehlerinjektions-Ausführungseinheit 105 durchgeführt wird, ist somit das gleiche Verhalten wie in der ursprünglichen Binärdatei 500 gezeigt, sogar wenn der Unterbrechungsprozess von einem Simulator oder einer tatsächlichen Gerätschaft durchgeführt wird, auf die die vorliegende Erfindung nicht angewandt wird. Anders ausgedrückt beeinflusst die Fehlerinjektion den Betrieb der ursprünglichen Binärdatei 500 nicht.
  • 7 veranschaulicht einen allgemeinen Simulationsausführungsablauf gemäß der ersten Ausführungsform der vorliegenden Erfindung. In 7 zeigen die Pfeile mit unterbrochener Linie Informationen an, die zwischen außerhalb des Simulators und innerhalb des Simulators übertragen und empfangen werden.
  • Wenn der Benutzer den Beginn der Simulation auswählt, wird sowohl von außerhalb als auch von innerhalb des Simulators gleichzeitig mit einer Fehlerinjektions-Ausführungsvorbereitung begonnen (Schritt 700). Von außerhalb des Simulators wird zunächst ein vom Benutzer gewünschtes Fehlerinjektionsszenario 510 geladen. Das Fehlerinjektionsszenario 510 ist eine Datei, in der eine Liste eines Zeitpunkts und einer Stelle, an dem bzw. der die Fehlerinjektion durchgeführt wird, beschrieben ist. Die Testelement-Interpretationseinheit 405 der Fehlerinjektions-Anweisungseinheit 113 empfängt und interpretiert diese Datei. (Schritt 701) Ein im vorherigen Schritt (Schritt 701) erhaltenes Testelement wird in der Testelementwarteschlange 404 gespeichert (Schritt 702). Das Testelement wird aus der Testelementwarteschlange 404 einzeln in der vorherigen Phase in absteigender Reihenfolge der Prioritäten der Testelemente erfasst (Schritt 703), und wenn das Testelement die Fehlerinjektionsanweisung ist, die die vorliegende Erfindung verwendet (Schritt 704), wird das Testelement von der Fehlerinjektions-Anweisungseinheit 113 an die Fehlerinjektions-Ausführungseinheit 105 übertragen (Schritt 705). In den anderen Fällen durchläuft das Testelement einen vordefinierten Prozess oder wird verworfen. Anders ausgedrückt endet der Prozess (709), wenn in Schritt 704 ”Nein” ermittelt wird.
  • Nach Schritt 705 endet der interne Prozess des Simulators und ein Vorgang des Wartens auf eine Antwort von der Fehlerinjektions-Ausführungseinheit wird durchgeführt (Schritt 706). (Die Schritte 707 und 708 sind später beschrieben.). An diesem Zeitpunkt ist es innerhalb des Simulators erforderlich, mit dem Beginn des Simulationsprozesses fortzufahren (Schritt 710).
  • Der Simulator ladet den in einer Fehlerinjektionsfunktion enthaltenen Binär 109 und eine Softwareausführungssimulation beginnt auf dem Simulator (Schritt 711). Während die Simulation des normalen Zustands kontinuierlich durchgeführt wird (Schritt S712), endet des Weiteren die Simulation (Schritt 714), wenn die Simulation das Endstadium erreicht hat, durch eine Anfrage vom Benutzer oder ein Problem im System (Schritt 713). In den anderen Fällen wird die Simulation des normalen Zustands fortgesetzt, bis eine Intervention von außerhalb des Simulators erfolgt (Schritt 712).
  • Wenn die Kommunikationsschnittstelleneinheit 400 der Fehlerinjektions-Ausführungseinheit 105 die von der Fehlerinjektions-Anweisungseinheit 113 (außerhalb des Simulators) in Schritt 705 übertragene Fehlerinjektionsanweisung empfängt (Schritt 715), interpretiert die Befehlsinterpretationseinheit 401 die empfangene Fehlerinjektionsanweisung und erhält die Unterbrechungsvektorausweisung, der ein zu injizierender Fehler zuzuweisen ist, und einen Zeitstempel, an dem die Fehlerinjektion durchgeführt wird.
  • Die Befehlsausführungseinheit 402 befindet sich im Standby, bis die Simulationszeit auf Basis des Zeitstempels erreicht ist, d. h. bis zum Zeitstempel, und gibt danach ein Unterbrechungssignal, das dem ausgewählten Unterbrechungsvektor entspricht, in die Unterbrechungssteuereinheit 203 ein (Schritt 716).
  • Gleichzeitig mit dem vorherigen Schritt (Schritt 716) beschleunigt die Befehlsausführungseinheit 0402 das Taktsignal über den Takterzeuger 107 (Schritt 717).
  • In diesem Zustand wird die Softwareausführung auf der CPU 201 unterbrochen. An diesem Zeitpunkt wird der Inhalt eines Registers in der CPU oder eines speziellen Registers eines PC, eines SP oder dergleichen über eine Kontextwechselfunktion (ein Prozess des Haltens und Rekonstruierens eines Zustands (Kontexts) der CPU, so dass eine CPU von einer Mehrzahl von Prozessen gemeinsam genutzt wird) ebenfalls in einen Speicher geschrieben. Andererseits wird ein Vorgang des Umschreibens eines Werts durchgeführt, der innerhalb einer Unterbrechungsverarbeitungseinheit ausgewählt wird, d. h. eines Werts, wenn ein zu injizierender Fehler auftritt. Des Weiteren wird ein Vorgang des Beobachtens und Umschreibens des internen Zustands der Mikrosteuereinheit durch Zurückschreiben des Speicherwerts im Register oder dergleichen unter Verwendung der Kontextwechselfunktion der Unterbrechung durchgeführt (Schritt 718).
  • An diesem Zeitpunkt wird ein Wert eines zu beschleunigenden Takts festgelegt, so dass eine Summe von Zeiträumen, in denen die Fehlerinjektion durchgeführt wird, geringer als ein Zeitraum eines Takts ist (ein normaler Taktzähler). Folglich kann eine Verzögerungszeit des Fehlerinjektionsvorgangs als 0 angesehen werden.
  • Wenn der Unterbrechungsprozess des vorherigen Schritts (Schritt 718) endet und danach ein Signal von der CPU 201 an die Unterbrechungssteuereinheit 203 übertragen wird, lest die Befehlsausführungseinheit 0402 das Signal, beendet die Taktbeschleunigung und stellt die ursprüngliche Taktfrequenz wieder her (Schritt 719 und 720).
  • Wenn der Unterbrechungsprozess endet und das Signal nicht von der CPU 201 an die Unterbrechungssteuereinheit 203 übertragen wird, ist es erforderlich, einen Befehl zum Verringern der Taktfrequenz in jedem Unterbrechungsprozess des in einem Fehlerinjektionsprozess enthaltenden Binärs 112 hinzuzufügen. An diesem Zeitpunkt ist es erforderlich, den Takterzeuger 107 mit dem Bus 204 zu verbinden und eine Umsetzung durchzuführen, so dass eine Vervielfachungsrate des Takts von der Software manipuliert werden kann.
  • Wenn das Ende des Unterbrechungsprozesses erkannt wurde (Schritt 720), liest die Befehlsausführungseinheit 0402 den Zeitstempel, an dem die Unterbrechung tatsächlich geendet, oder den ausgewiesenen Registerwert, erzeugt eine Befehlsendeantwort unter Verwendung des in 3 veranschaulichten Formats und überträgt die Befehlsendeantwort an die Fehlerinjektions-Anweisungseinheit 113 (Schritt 721).
  • Die Fehlerinjektions-Anweisungseinheit 113 enthält den Inhalt der übertragenen Befehlsendeantwort, und die Ausführung einer Fehlerinjektionsanweisung wird in der Folge abgeschlossen (Schritt 707).
  • Wenn der Befehl, bei dem die Ausführung geendet hat, das letzte Element der Testelementwarteschlange 404 ist, endet die Simulation. Andernfalls wird die Simulation fortgesetzt, der Prozess kehrt zu Schritt 703 zurück und ein nächstes Testelement wird verarbeitet (708).
  • Zweite Ausführungsform
  • Die zweite Ausführungsform bezieht sich auf eine beispielhafte Konfiguration, wenn die gleichen Funktionen wie in der Erfindung der ersten Ausführungsform ausschließlich durch Software umgesetzt werden. Anders ausgedrückt wird die Fehlerinjektion bei der ersten Ausführungsform, wie in 1 veranschaulicht, auf der Hardware des Takterzeugers 107 und der Unterbrechungssteuereinheit 203 durch die Fehlerinjektions-Anweisungseinheit 113 und die Fehlerinjektions-Ausführungseinheit 105 durchgeführt, bei der zweiten Ausführungsform hingegen liegt eines der Merkmale in einer Verarbeitungseinheit zum Bereitstellen einer Fehlerinjektion (eine Fehlerinjektionsauslöser-Einbettungseinheit 504) an eine Fehlerinjektions-Binärerzeugungseinheit 110a, wie in 9 veranschaulicht, die später beschrieben wird.
  • Da nur Komponenten auf der Software und der Mikrosteuereinheit geändert werden müssen, ist bei der zweiten Ausführungsform auch ein Vorgang an einer tatsächlichen Steuereinheit möglich.
  • Eine Konfiguration, bei der eine Ausführungsform nur durch Software umgesetzt ist, wird unter Bezugnahme auf 8 beschrieben.
  • Beim vorliegenden System arbeitet das Mikrosteuereinheitmodell 106 am Simulator 111, der eine Mikrosteuereinheitbetriebssimulation durchführen kann. Ein in einer Fehlerinjektionsanweisung enthaltener Binär 109a, der am Mikrosteuereinheitmodell 106 arbeitet, ist ein Binär, wobei eine Softwareunterbrechung in den in einer Fehlerinjektionsfunktion enthaltenen Binär 112, der bei der ersten Ausführungsform verwendet wird, an einem Zeitpunkt eingefügt wird, an dem der Benutzer die Fehlerinjektion durchführen möchte. Dieser Binär wird von der Fehlerinjektions-Binärerzeugungseinehit 110a vor Beginn der Simulation erzeugt.
  • Eine interne Struktur des Mikrosteuereinheitmodells 106 hängt von einem elektronischen Systemteil ab, der als Ziel dient, die CPU 201, der ROM 104, der Bus 204, die Unterbrechungssteuereinheit 203, der Takterzeuger 107 und die Bussteuereinheit 108 sind jedoch für eine Umsetzung der vorliegenden Ausführungsform erforderlich.
  • Bei der vorliegenden Ausführungsform ist es des Weiteren erforderlich, den Takterzeuger 107 mit dem Bus 204 zu verbinden und eine Struktur zu haben, wobei eine Vervielfachungsrate des Taktsignals, das vom Takterzeuger 107 ausgegeben wird, von einem Register manipuliert werden kann, das einem Speicherplatz zugewiesen ist, auf dem von der CPU 201 zugegriffen werden kann.
  • 9 veranschaulicht eine Konfiguration der Fehlerinjektions-Binärerzeugungseinheit 110a, die bei der ersten Ausführungsform verwendet wird, und 10 veranschaulicht den Ablauf des Erzeugens des in einer Fehlerinjektionsanweisung enthaltenen Binärs durch die Fehlerinjektions-Binärerzeugungseinheit 110a.
  • Dieser Teil (110a) empfängt zwei Dateien, d. h. die ursprüngliche Binärdatei 500 und eine Fehlerinjektionsbaugruppe 502, und gibt den in einer Fehlerinjektionsanweisung enthaltenen Binär 109a, der in der Fehlerinjektionssimulation verwendet wird, unter Bezugnahme auf das Fehlerinjektionsszenario 510 aus.
  • Wenn die Fehlerinjektions-Binärerzeugungseinheit 110a einen Vorgang beginnt, wird der Benutzer zunächst aufgefordert, die zu verifizierende Software zu registrieren, d. h. die ursprüngliche Binärdatei 500 (Schritt 600a).
  • Die Einheit 501 zum Extrahieren einer Tabelle nicht verwendeter Unterbrechungsvektoren analysiert eine Unterbrechungstabelle der eingegebenen ursprünglichen Binärdatei 500 und extrahiert einen Unterbrechungsvektor dem kein Prozess zugewiesen ist (Schritt 601a).
  • Die Fehlerinjektionsbaugruppen-Einbettungseinheit 503 kombiniert eine oder mehrere Fehlerinjektionsbaugruppen 502 mit einem Bitvorgang, der einem Fehlermodus entspricht, der vom Benutzer erwünscht ist, und erzeugt einen Fehlerinjektions-Unterbrechungsprozess.
  • Des Weiteren wird der Fehlerinjektions-Unterbrechungsprozess dem nicht verwendeten Unterbrechungsvektor zugewiesen, der in Schritt 601a extrahiert wurde (Schritt 602a).
  • Danach empfängt die Fehlerinjektionsauslöser-Einbettungseinheit 504 das Fehlerinjektionsszenario 510 vom Benutzer (Schritt 603a).
  • Das Fehlerinjektionsszenario 510 speichert einen Funktionsnamen, der als Fehlerinjektionsziel dient, und eines, bei dem zwei, d. h. Aufrufen und Beenden einer Funktion, als Auftrittszeitpunkt davon ausgewählt werden.
  • Des Weiteren wird eine Funktion zum Auslösen einer Fehlerinjektionsunterbrechung, die im vorherigen Schritt (S602a) unter Verwendung einer Softwareunterbrechung eingebettet wurde, in eine Softwarefunktion eingebettet, die vom Benutzer umgesetzt wird (Schritt 604a).
  • Diese wird schließlich als der in einer Fehlerinjektionsanweisung enthaltene Binär 109a geschrieben (Schritt 0605a).
  • 11 veranschaulicht einen allgemeinen Simulationsausführungsablauf gemäß der zweiten Ausführungsform der vorliegenden Erfindung.
  • Wenn der Benutzer den Beginn der Simulation auswählt, wird von innerhalb des Simulators mit einer Fehlerinjektions-Ausführungsvorbereitung begonnen (Schritt 700a).
  • Der Simulator ladet den in einer Fehlerinjektionsanweisung enthaltenen Binär und eine Softwareausführungssimulation beginnt auf dem Simulator (Schritt 701a).
  • Während die Simulation des normalen Zustands kontinuierlich durchgeführt wird (Schritt 702a), endet des Weiteren die Simulation (Schritt 703a), wenn die Simulation das Endstadium erreicht hat, durch eine Anfrage vom Benutzer oder ein Problem im System (Schritt 702b).
  • In den anderen Fällen wird die Simulation des normalen Zustands fortgesetzt, bis die CPU den Fehlerinjektions-Unterbrechungsbefehl ausführt (Schritt 704a).
  • Wenn die CPU den Fehlerinjektions-Unterbrechungsbefehl unter Verwendung des Softwareunterbrechungsbefehls auslöst, gelangt die CPU zum Unterbrechungsprozess, um den Fehler zu injizieren (Schritt 704b).
  • Auf ein Vervielfachungsratenregister des Takterzeugers 107 wird durch einen ersten Befehl des Unterbrechungsprozesses zugegriffen und das Taktsignal wird beschleunigt. An diesem Zeitpunkt wird ein Wert eines zu beschleunigenden Takts festgelegt, so dass eine Summe von Zeiträumen, in denen die Fehlerinjektion durchgeführt wird, geringer als ein Zeitraum eines Takts ist (ein normaler Taktzähler) (Schritt 705a).
  • An diesem Zeitpunkt wird ein Register in der CPU oder eines speziellen Registers eines PC, eines SP oder dergleichen über eine Kontextwechselfunktion der CPU in einen Speicher geschrieben. Andererseits wird ein Vorgang des Umschreibens eines Werts durchgeführt, der in einer Unterbrechungsverarbeitungseinheit ausgewählt wird. Des Weiteren wird ein Vorgang des Beobachtens und Umschreibens des internen Zustands der Mikrosteuereinheit durch Zurückschreiben des Speicherwerts im Register oder dergleichen unter Verwendung der Kontextwechselfunktion der Unterbrechung durchgeführt (Schritt 706a).
  • Auf das Vervielfachungsratenregister des Takterzeugers 107 wird durch einen Befehl nach dem Umschreibvorgang zugegriffen und das Taktsignal wird entschleunigt (Schritt 707a).
  • Wenn der Unterbrechungsprozess endet, gelangt die CPU zum Schritt 702a des normalen Zustands und die Ausführung der Software wird fortgesetzt (Schritt 708a).
  • Bezugszeichenliste
  • 104
    ROM
    105
    Fehlerinjektions-Ausführungseinheit
    106
    Mikrosteuereinheitmodell
    107
    Takterzeuger
    108
    Bussteuereinheit
    110
    Fehlerinjektions-Binärerzeugungseinheit
    111
    Simulator
    112
    In Fehlerinjektionsprozess enthaltener Binär
    113
    Fehlerinjektions-Anweisungseinheit
    201
    CPU
    203
    Unterbrechungssteuereinheit
    204
    Bus

Claims (9)

  1. Mikrosteuereinheit-Fehlerinjektions-Verfahren zum Verifizieren eines eingebetteten Systems während der Durchführung einer Simulation unter Verwendung eines Computers, das umfasst: einen ersten Schritt des Ausweisens eines Registers, in das Informationen in Bezug auf einen Fehler einer Mikrosteuereinheit des eingebetteten Systems injiziert wird, und eines Injektionszeitablaufs des Fehlers; einen zweiten Schritt des Anwendens einer Unterbrechung an dem Zeitablauf; einen dritten Schritt des Umschreibens eines Werts des ausgewiesenen Registers unter Registerwerten, die durch die Unterbrechung ausgegeben werden, mit einem Fehlerwert; und einen vierten Schritt des Zurückschreibens des Registerwerts, der mit dem Fehlerwert umgeschrieben wurde, an dem Injektionszeitablauf des Fehlers.
  2. Mikrosteuereinheit-Fehlerinjektions-Verfahren nach Anspruch 1, wobei ein Taktzähler während eines Zeitraums vom zweiten Schritt zum vierten Schritt beschleunigt wird, wenn eine Fehlerinjektion durchgeführt wird.
  3. Mikrosteuereinheit-Fehlerinjektions-Verfahren nach Anspruch 2, wobei das Beschleunigen des Taktzählers während des Zeitraums vom zweiten Schritt zum vierten Schritt so festgelegt wird, dass eine Summe von Zeiträumen, wenn die Fehlerinjektion ausgeführt wird, geringer als ein Zeitraum eines normalen Taktzählers ist.
  4. Mikrosteuereinheit-Fehlerinjektions-System, das ein eingebettetes System verifiziert, das mit einem Mechanismus, Hardware und Software konfiguriert ist, das umfasst: eine erste Einheit, die ein Register, in das Informationen in Bezug auf einen Fehler einer Mikrosteuereinheit des eingebetteten Systems injiziert wird, und einen Injektionszeitablauf des Fehlers ausweist; eine zweite Einheit, die eine Unterbrechung an dem Zeitablauf anwendet; eine dritte Einheit, die einen Wert des ausgewiesenen Registers unter Registerwerten, die durch die Unterbrechung ausgegeben werden, mit einem Fehlerwert umschreibt; und eine vierte Einheit, die den Registerwert, der mit dem Fehlerwert umgeschrieben wurde, an dem Injektionszeitablauf des Fehlers zurückschreibt.
  5. Mikrosteuereinheit-Fehlerinjektions-System nach Anspruch 4, das des Weiteren umfasst: eine Einheit, die einen Taktzähler beschleunigt, wenn eine Fehlerinjektion von den zweiten bis vierten Einheiten durchgeführt wird.
  6. Mikrosteuereinheit-Fehlerinjektions-System nach Anspruch 5, wobei das Beschleunigen des Taktzählers, wenn die Fehlerinjektion von den zweiten bis vierten Einheiten durchgeführt wird, so festgelegt wird, dass eine Summe von Zeiträumen, wenn die Fehlerinjektion ausgeführt wird, geringer als ein Zeitraum eines normalen Taktzählers ist.
  7. Mikrosteuereinheit-Fehlerinjektions-Verfahren nach Anspruch 2, wobei im vierten Schritt ein interner Zustand der Mikrosteuereinheit durch eine auf der Mikrosteuereinheit installierte Software umgeschrieben wird, während eine Frequenz eines Taktsignals, das sich auf den internen Zustand der Mikrosteuereinheit bezieht, beschleunigt wird.
  8. Mikrosteuereinheit-Fehlerinjektions-Verfahren nach Anspruch 2, wobei ein Fehlerzustand durch Verringern eines Beschleunigungsintervalls unter Verwendung eines Takterzeugers simuliert wird, der eine Taktbeschleunigung oder -entschleunigung mit einem Beginn und einem Ende eines Softwareunterbrechungsbefehls synchronisiert durchführt.
  9. Mikrosteuereinheit-Fehlerinjektions-Verfahren nach Anspruch 1, wobei im ersten Schritt ein Softwareunterbrechungsbefehl, der sich für das Einfügen eines von einem Benutzer gewünschten Fehlerzustands eignet, in einen Funktionsaufruf- oder Funktionsbeendigungsabschnitt einer Software eingefügt wird, wie vom Benutzer eingegeben.
DE112013007147.9T 2013-06-06 2013-06-06 Mikrosteuereinheit-Fehlerinjektions-Verfahren und -System Withdrawn DE112013007147T5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/065706 WO2014196059A1 (ja) 2013-06-06 2013-06-06 マイコン故障注入方法及びシステム

Publications (1)

Publication Number Publication Date
DE112013007147T5 true DE112013007147T5 (de) 2016-02-25

Family

ID=52007734

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013007147.9T Withdrawn DE112013007147T5 (de) 2013-06-06 2013-06-06 Mikrosteuereinheit-Fehlerinjektions-Verfahren und -System

Country Status (4)

Country Link
US (1) US9760463B2 (de)
JP (1) JP6030237B2 (de)
DE (1) DE112013007147T5 (de)
WO (1) WO2014196059A1 (de)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9727432B1 (en) * 2014-10-09 2017-08-08 Seagate Technology Llc Accelerated testing using simulated failures in a multi-device storage system
US10776538B2 (en) * 2017-07-26 2020-09-15 Taiwan Semiconductor Manufacturing Co., Ltd. Function safety and fault management modeling at electrical system level (ESL)
US10346273B2 (en) * 2017-09-22 2019-07-09 Analog Devices Global Unlimited Company Automated analog fault injection
US10990682B2 (en) * 2017-12-18 2021-04-27 Nuvoton Technology Corporation System and method for coping with fault injection attacks
EP3617723B1 (de) 2018-08-29 2023-03-22 Nxp B.V. Integrierte schaltungsvorrichtung mit integriertem fehlerüberwachungssystem
US10922203B1 (en) * 2018-09-21 2021-02-16 Nvidia Corporation Fault injection architecture for resilient GPU computing
CN113031564B (zh) * 2021-03-05 2022-04-01 西安交通大学 一种航空发动机控制器在回路容错验证方法
CN115563017B (zh) * 2022-11-10 2023-03-24 成都麟通科技有限公司 一种基于总线注入的测试系统、方法及计算机设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0561712A (ja) * 1991-09-05 1993-03-12 Hitachi Ltd 擬似障害テスト方式
JPH07182202A (ja) * 1993-12-24 1995-07-21 Hitachi Ltd Cpu論理シミュレーション方式
JPH07334385A (ja) * 1994-06-06 1995-12-22 Hitachi Ltd 保守診断機能の検証方法
US6948100B1 (en) * 1999-02-24 2005-09-20 Hitachi, Ltd. Computer system and method of handling trouble of computer system
FR2819603B1 (fr) 2001-01-16 2003-06-13 Centre Nat Rech Scient Procede d'injecteur d'erreurs par interruptions
US7284159B2 (en) * 2003-08-26 2007-10-16 Lucent Technologies Inc. Fault injection method and system
US7536605B2 (en) * 2005-05-25 2009-05-19 Alcatel-Lucent Usa Inc. Injection of software faults into an operational system
US7689866B2 (en) * 2006-10-18 2010-03-30 Alcatel-Lucent Usa Inc. Method and apparatus for injecting transient hardware faults for software testing
WO2008155795A1 (ja) * 2007-06-20 2008-12-24 Fujitsu Limited 情報処理装置および制御方法
US8522080B2 (en) * 2008-03-24 2013-08-27 Emulex Design & Manufacturing Corporation Generation of simulated errors for high-level system validation
US8051346B2 (en) * 2009-02-25 2011-11-01 Cisco Technology, Inc. Fault injection
WO2011016327A1 (ja) * 2009-08-07 2011-02-10 株式会社日立製作所 計算機システム、プログラム及びシミュレーションに使用する計算資源を割り当てる方法
US9092312B2 (en) * 2012-12-14 2015-07-28 International Business Machines Corporation System and method to inject a bit error on a bus lane

Also Published As

Publication number Publication date
JP6030237B2 (ja) 2016-11-24
US9760463B2 (en) 2017-09-12
WO2014196059A1 (ja) 2014-12-11
JPWO2014196059A1 (ja) 2017-02-23
US20160110274A1 (en) 2016-04-21

Similar Documents

Publication Publication Date Title
DE112013007147T5 (de) Mikrosteuereinheit-Fehlerinjektions-Verfahren und -System
DE102018113625A1 (de) Fehlerinjektionstestvorrichtung und -verfahren
DE10127170A1 (de) Fehlersuchverfahren und Fehlersuchvorrichtung
DE102006019292A1 (de) Modellieren programmierbarer Einrichtungen
DE10333087A1 (de) Verfahren zum automatischen Zerlegen von dynamischen Systemmodellen in Teilmodelle
DE102018110020A1 (de) Verfahren zum Erzeugen eines auf einem Testgerät ausführbaren Modells eines technischen Systems und Testgerät
DE10038499A1 (de) Verfahren und System für die verbesserte Entwicklungsprüfung mittels angepasster Ablaufverfolgung
EP1701266A1 (de) Testvorrichtung zur Überprüfung einer Stapelverarbeitung
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE102009043287A1 (de) Verfahren und Anordnung zum Installieren und Konfigurieren eines Computersystems
EP0909421B1 (de) Verfahren und anordnung zur rechnergestützten ermittlung einer systemzusammenhangsfunktion
DE10213009A1 (de) Verfahren zum elektronischen Testen von Speichermodulen
WO2005109196A1 (de) Verfahren zur bestimmung von verklemmungen in nebenläufigen prozessen
WO2019223970A1 (de) Erstellung eines interdisziplinären simulationsmodells
DE202012013449U1 (de) System für In-Line-Einfügung von Scriptabhängigkeiten
EP2653850B1 (de) Verfahren und IT-System zum Durchführen von Gesamtfahrzeugtests
EP2618114B1 (de) Abrufen von messwerten, diagnoseinformationen oder geräteparametern
DE102008048862A1 (de) Testmodul und Verfahren zum Testen einer O/R-Abbildungs-Middleware
DE102017101700A1 (de) Verfahren zur zeitlich synchronisierten Ausgabe und/oder zeitlich synchronisierten Verarbeitung von Signalen
DE4408106A1 (de) Verfahren zur Simulation einer in EDIF beschriebenen Schaltung mit einem VHDL-Simulator auf einem Rechner
DE102016101853A1 (de) Computerimplementiertes Verfahren zur Simulation eines Restbus-Steuergeräteverbundes
DE102005013080A1 (de) System und Verfahren zur Prozessdatensimulation
DE102015226504A1 (de) Verfahren und Vorrichtung zur Emulation eines Bauelementes
DE102021206985A1 (de) System zur Verarbeitung von Daten
DE102004006089A1 (de) Testfälle für eine Testvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee