DE10228064B4 - Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms - Google Patents

Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms Download PDF

Info

Publication number
DE10228064B4
DE10228064B4 DE10228064A DE10228064A DE10228064B4 DE 10228064 B4 DE10228064 B4 DE 10228064B4 DE 10228064 A DE10228064 A DE 10228064A DE 10228064 A DE10228064 A DE 10228064A DE 10228064 B4 DE10228064 B4 DE 10228064B4
Authority
DE
Germany
Prior art keywords
initialized
time
grid
computing device
communication
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.)
Expired - Fee Related
Application number
DE10228064A
Other languages
English (en)
Other versions
DE10228064A1 (de
Inventor
Martin Hurich
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE10228064A priority Critical patent/DE10228064B4/de
Priority to US10/459,316 priority patent/US7774777B2/en
Publication of DE10228064A1 publication Critical patent/DE10228064A1/de
Application granted granted Critical
Publication of DE10228064B4 publication Critical patent/DE10228064B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Small-Scale Networks (AREA)
  • Programmable Controllers (AREA)

Abstract

Verfahren zur Teilinitialisierung eines Echtzeit-Rechengeräts (1), das über ein Kommunikationssystem (2) mit weiteren Rechengeräten (1) in Verbindung steht, wobei in dem Rechengerät (1) verschiedene Funktionalitäten durch Abarbeiten eines Computerprogramms (18) in unterschiedlichen festen Zeitrastern (20, 50,...1000) realisiert werden und eine Kommunikation zu den weiteren Rechengeräten (1) in einem festen Kommunikationsraster (10) ausgeführt wird, und wobei Zeitraster (20, 50,...1000), die langsamer als das Kommunikationsraster (10) sind, aus dem Computerprogramm (18) heraus über das Kommunikationsraster (10) beeinflusst werden können, dadurch gekennzeichnet, dass das Rechengerät (1) zur Initialisierung eines Teils des Computerprogramms (18) in einen Metazustand (B) überführt wird, indem
– das Kommunikationsraster (10) aufrechterhalten wird;
– alle zu initialisierenden Zeitraster (20, 50, ...1000), die langsamer als das Kommunikationsraster (10) sind, angehalten werden;
– in einer Reihenfolge von dem langsamsten (1000) zu dem schnellsten (20) zu initialisierenden Zeitraster (20, 50,...1000) hin nacheinander alle zu initialisierenden Zeitraster (20, 50,...1000) initialisiert werden;...

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zur Teilinitialisierung eines Echtzeit-Rechengeräts, das über ein Kommunikationssystem mit weiteren Rechengeräten in Verbindung steht. In dem Rechengerät werden verschiedene Funktionalitäten durch Abarbeiten eines Computerprogramms in unterschiedlichen festen Zeitrastern realisiert. Eine Kommunikation zu den weiteren Rechengeräten wird in einem festen Kommunikationsraster ausgeführt. Zeitraster, die langsamer als das Kommunikationsraster sind, können aus dem Computerprogramm heraus über das Kommunikationsraster beeinflusst, insbesondere gestartet und beendet, werden.
  • Die Erfindung betrifft außerdem ein Echtzeit-Rechengerät, das über ein Kommunikationssystem mit weiteren Rechengeräten in Verbindung steht. In dem Rechengerät sind verschiedene Funktionalitäten durch Abarbeiten eines Computerprogramms in unterschiedlichen festen Zeitrastern realisierbar. Das Rechengerät kommuniziert mit den weiteren Rechengeräten in einem festen Kommunikationsraster. Zeitraster, die langsamer als das Kommunikationsraster sind, sind aus dem Computerprogramm heraus über das Kommunikationsraster beeinflussbar.
  • Die vorliegende Erfindung betrifft schließlich auch ein auf einem Rechengerät, insbesondere auf einem Mikroprozessor eines Steuergeräts für ein Kraftfahrzeug, ablauffähiges Initialisierungs-Programm zur Initialisierung eines Teils eines ebenfalls auf dem Rechengerät ablauffähigen Computerprogramms.
  • Aus der DE 42 03 704 C3 ist ein Verfahren zur Initialisierung eines Rechnernetzwerkes umfassend mehrere Rechengeräte, die über ein Kommunikationssystem miteinander in Verbindung stehen. In dieser Druckschrift ist jedoch weder davon die Rede, dass es sich um Echtzeit-Rechengeräte handelt, noch dass in den Rechengeräten ein Computerprogramm in unterschiedlichen festen Zeitrastern abgearbeitet wird.
  • Aus der DE 40 37 143 A1 ist ein Rechennetzwerk umfassend mehrere Rechengeräte, die über ein Kommunikationssystem miteinander in Verbindung stehen, bekannt. In dieser Druckschrift wird beschrieben, wie ein zentrales Rechengerät nach dem Einschalten des Rechennetzwerkes den übrigen Rechengeräten Adressen zuteilt, so dass danach eine Kommunikation zwischen den Rechengeräten möglich ist. In dieser Druckschrift ist weder offenbart, dass das Rechennetzwerk Echtzeit-Rechengeräte umfasst, noch das in den Rechengeräten Computerprogramme in unterschiedlichen festen Zeitrastern abgearbeitet werden.
  • Aus der DE 195 00 957 A1 ist ein Verfahren zur Steuerung von technischen Vorgängen oder Prozessen auf Grundlage eines multitaskingfähigen Echtzeit-Betriebssystems bekannt. Zur Realisierung der Steuerung wird ein Computerprogramm auf einem Rechengerät, insbesondere auf einem Mikrorechner eines Steuergeräts für ein Kraftfahrzeug, abgearbeitet. Das Computerprogramm ist in mehrere Aufgabenprogramme (sog. Tasks) unterteilt, denen jeweils verschiedene Prioritäten zugeordnet sind. In dieser Druckschrift wird von einem Stand der Technik ausgegangen, bei dem im Rahmen der Abarbeitung des Computerprogramms höherpriore Tasks niederpriore Tasks jederzeit unterbrechen können (sog. preemptives Scheduling oder preemptives Multitasking). Demgegenüber wird in der DE 195 00 957 A1 vorgeschlagen, dass die höherprioren Tasks die niederprioren Tasks nur an bestimmten, von einem Anwender bei der Erstellung des Computerprogramms festgelegten Programmstellen unterbrechen kann. Bezüglich des Aufbaus und der Funktionsweise eines multitaskingfähigen Echtzeit-Betriebssystems wird ausdrücklich auf diese Druckschrift Bezug genommen.
  • Aus dem Stand der Technik ist es außerdem bekannt, mehrere Rechengeräte in einem Rechengeräteverbund anzuordnen, in dem die Rechengeräte untereinander über mindestens ein Kommunikationssystem miteinander verbunden sind. Ein Rechengeräteverbund wird beispielsweise in einem Kraftfahrzeug eingesetzt. Weit verbreitet ist der Einsatz eines Rechengeräteverbunds jedoch auch in Schienen- oder Luftfahrzeugen. Als Kommunikationssysteme werden vorzugsweise Bussysteme eingesetzt, über die Informativen zwischen den Rechengeräten nach einem bestimmten Protokoll ausgetauscht werden können, beispielsweise CAN (Controller Area Network)-, TTCAN (Time Triggered CAN)- oder FlexRay.
  • Beim Einsatz der Rechengeräte in Kraftfahrzeugen sind die Rechengeräte als Steuergeräte ausgebildet. Die einzelnen Steuergeräte haben verschiedene Aufgaben und steuern und/oder regeln Komponenten oder Funktionen in dem Fahrzeug. In den Steuergeräten wird zur Erfüllung ihrer bestimmungsgemäßen Funktionalitäten ein Computerprogramm in unterschiedlichen festen Zeitrastern abgearbeitet. Wichtige oder sicherheitskritische Computerprogramme (z.B. zur Steuerung der Einspritzung einer Brennkraftmaschine) werden vorzugsweise in schnellen Zeitrastern abgearbeitet, wohingegen weniger kritische Computerprogramme (z.B. zur Realisierung einer Lambda-Regelung einer Abgasreinigungsanlage) in langsameren Zeitrastern ablaufen können. Die schnellen Zeitraster werden auch als preemptive Zeitraster bezeichnet. Sie können andere Zeitraster unterbrechen. Die langsameren Zeitraster werden auch als kooperative Zeitraster bezeichnet. Die preemptiven Zeitraster werden aufgesetzt, d.h. durch Hardware-Timer gestartet, wohingegen die kooperativen Zeitraster nicht durch Timer, sondern durch Software gestartet werden.
  • Ein Computerprogramm oder bestimmte Teile davon können sich in verschiedenen Zuständen befinden. Bei ausgeschalteter Zündung ist das Steuergerät in einem deaktivierten Zustand, in dem keine Versorgungsspannung an dem Steuergerät anliegt. Durch Einschalten der Zündung wird die Versorgungsspannung zumindest teilweise an das Steuergerät angelegt und es geht in einen aktiven Zustand über. Mit dem Einschalten der Zündung sollte auch das auf dem Steuergerät ablauffähige Computerprogramm initialisiert werden, damit es für eine Abarbeitung bereit steht. Im einfachsten Fall wird das gesamte Computerprogramm beim Einschalten der Zündung initialisiert und steht zur Abarbeitung bereit.
  • Mit zunehmendem Funktionsumfang der Computerprogramme kann es jedoch vorkommen, dass nicht das gesamte Computerprogramm, sondern nur Teile davon initialisiert werden. Ein Teilinitialisierung kann beispielsweise aus Zeitgründen erforderlich sein, da von dem Betätigen der Zündung bis zum Starten der Brennkraftmaschine kein allzu lange Zeit verstreichen darf, so dass die Zeit zwischen dem Betätigen der Zündung und dem Starten der Brennkraftmaschine nicht zur Initialisierung des gesamten Computerprogramms ausreicht. Die Initialisierung kann aber auch bewusst auf diejenigen Teile des Computerprogramms beschränkt werden, die zunächst benötigt werden. Die zunächst nicht initialisierten Teile des Computerprogramms können dann später bei Bedarf oder sobald die dafür erforderliche Zeit zur Verfügung steht oder nach Ablauf einer vorgebbaren Zeitdauer nachträglich teilinitialisiert werden.
  • Bei der Teilinitialisierung kann entweder ein weiterer Teil des Computerprogramms oder der gesamte restliche Teil des Computerprogramms nachträglich initialisiert werden. Das gesamte Computerprogramm kann also auch im Rahmen mehrerer nacheinander ausgeführter Teilinitialisierung initialisiert werden.
  • Eine elementare Anforderung an Steuergeräte in einem Steuergeräteverbund ist die Aufrechterhaltung der Kommunikation mit den anderen Steuergeräten des Verbunds über das Kommunikationssystem, da sonst der Ablauf der Computerprogramme und damit die Steuerungs- und/oder Regelungsaufgaben der Steuergeräte empfindlich gestört werden. Die gängigen Protokolle (z.B. CAN, TTCAN, FlexRay, etc.) benötigen ein jeweils spezifisches zeitliches Verhalten. Die Umsetzung in der Steuergerätesoftware bedient sich zur Darstellung dieses Verhaltens einem Echtzeitbetriebssystem mit festen Zeitrastern. Auf den festen Zeitrastern wird das zeitliche Verhalten aufgebaut. Die laufende Kommunikation erfordert eine Aufrechterhaltung der festen Zeitraster. Als Folge der Notwendigkeit von festen Zeitrastern für die Aufrechterhaltung der Kommunikation müssen diese Zeitraster für die gesamte Dauer des Betriebs des Steuergeräts in einem teilinitialisierten Zustand, während der nachträglichen Teilinitialisierung und auch nach Abschluss der Teilinitialisierung ungestört aktiv bleiben.
  • Theoretisch wäre eine Teilinitialisierung beispielsweise dadurch realisierbar, dass die verschiedenen nachträglich zu initialisierenden Funktionen des Computerprogramms aus dem nicht initialisierten Zustand gezielt in den initialisierten Zustand überführt werden, wobei der Übergang in jedem Einzelfall derart erfolgen muss, dass die laufende Kommunikation nicht beeinträchtigt wird. Ein derartiges gezieltes Überführen jeder einzelnen Funktion in den initialisierten Zustand ist bei einem Umfang größerer Computerprogramme mit mehreren 100 Funktionen, einigen 1.000 Programmmodulen und einigen 100.000 Programmzeilen an Quellcode, wie er beispielsweise in Steuergeräten von Kraftfahrzeugen vorliegt, nicht mit einem annehmbarem Aufwand und innerhalb einer annehmbaren Zeitdauer realisierbar.
  • Der vorliegenden Erfindung liegt deshalb die Aufgabe zugrunde, bei einem Rechengerät als Teil eines Rechengeräteverbunds eine Möglichkeit zu schaffen, auch relativ umfangreiche auf dem Rechengerät ablauffähige Computerprogramme nachträglich sicher und zuverlässig teilinitialisieren zu können, ohne dadurch eine Kommunikation zwischen den Rechengeräten des Rechengeräteverbunds zu beeinträchtigen.
  • Zur Lösung dieser Aufgabe schlägt die vorliegende Erfindung ausgehend von dem Verfahren der eingangs genannten Art vor, dass das Rechengerät zur Initialisierung eines Teils des Computerprogramms in einen Metazustand überführt wird, in dem
    • – das Kommunikationsraster aufrecht erhalten wird;
    • – alle zu initialisierenden Zeitraster, die langsamer als das Kommunikationsraster sind, angehalten werden;
    • – in einer Reihenfolge von dem langsamsten zu dem schnellsten zu initialisierenden Zeitraster hin nacheinander alle zu initialisierenden Zeitraster initialisiert werden; und
    • – nach der Initialisierung aller zu initialisierenden Zeitraster das Kommunikationsraster in einen initialisierten Zustand umgeschaltet wird, ohne die Kommunikation zu den weiteren Rechengeräten zu beeinträchtigen.
  • Vorteile der Erfindung
  • Erfindungsgemäß wird also vorgeschlagen, das Rechengerät in einen Metazustand zu bringen, der zwischen einem teilinitialisierten Zustand und einem initialisierten Zustand liegt. In dem initialisierten Zustand kann das Computerprogramm durchaus noch nicht initialisierte Funktionen umfassen, die dann bei einer weiteren Teilinitialisierung zu einem späteren Zeitpunkt nachträglich initialisiert werden können. Es ist also denkbar, das erfindungsgemäße Verfahren mehrmals hintereinander auf verschiedene Teile des Computerprogramms anzuwenden, bis schließlich alle Teile initialisiert sind.
  • Ein wichtiger Aspekt der vorliegenden Erfindung ist darin zu sehen, dass in dem Metazustand sämtliche zu initialisierenden Teile des Computerprogramms mit Ausnahme des Kommunikationsrasters einfach abgeschaltet werden. Das ist ohne eine Beeinträchtigung der Kommunikation zwischen den Rechengeräten möglich, da die Kommunikation über das Kommunikationsraster erfolgt und damit ein Echtzeitbetrieb aufrecht erhalten bleibt. Durch die Abschaltung der zu initialisierenden Zeitraster kann eine Initialisierung dieser Zeitraster ausgeführt werden, ohne in Konflikt mit Zeitrastern aus dem teilinitialisierten Zustand zu geraten.
  • In dem Metazustand werden nacheinander beginnend bei den langsamen zu den schnellen Zeitrastern hin sämtliche zu initialisierenden Zeitraster initialisiert. Sobald alle Zeitraster bis auf das Kommunikationsraster initialisiert sind, erfolgt der eigentliche Zustandswechsel in den initialisierten Zustand. Dazu wird als letztes das Kommunikationsraster initialisiert, indem es einfach auf den neuen initialisierten Zustand umgeschaltet wird. Das Kommunikationsraster wird derart umgeschaltet, dass die Kommunikation zwischen den Rechengeräten nicht beeinträchtigt wird. Dies kann beispielsweise durch Umschalten von Tasktabellen erfolgen. Danach werden alle Zeitraster wieder frei gegeben und die langsameren Zeitraster können im initialisierten Zustand aus dem Computerprogramm heraus über das Kommunikationsraster beeinflusst, d.h. gestartet und beendet, werden.
  • Streng genommen werden die Funktionalitäten des Computerprogramms initialisiert. Da aber keine Funktionalität für sich alleine ausgeführt wird, sondern zusammen mit anderen Funktionalitäten ein Zeitraster bildet, scheint es aus der Sicht des Betriebssystems als würden die Zeitraster initialisiert. Tatsächlich sind es aber einzelne funktionale Blöcke innerhalb des Zeitrasters, während andere Blöcke innerhalb derselben Zeitraster unverändert von dem teilinitialisierten in den initialisierten Zustand übernommen werden können. Da aber ein Zeitraster immer die Summe der beinhalteten Funktionalitäten darstellt, wird also dementsprechend mit jedem beliebigen funktionalen Teil innerhalb eines Zeitrasters auch das beinhaltende Zeitraster initialisiert. Das Zeitraster stellt gewissermaßen eine Art Überfunktionalität dar. Aus diesem Grund wird vorliegend von der (Teil-) Initialisierung der Zeitraster und nicht der Funktionalitäten gesprochen.
  • Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass die zu initialisierenden Zeitraster während des Metazustandes aperiodisch initialisiert werden. Durch die Abschaltung der zu initialisierenden Zeitraster kann eine aperiodische Initialisierung dieser Zeitraster ausgeführt werden, ohne in Konflikt mit Zeitrastern aus dem teilinitialisierten Zustand zu geraten. Die Kommunikation zwischen den Rechengeräten wird durch die aperiodische Initialisierung nicht beeinträchtigt, da die Kommunikation über das Kommunikationsraster erfolgt und damit ein Echtzeitbetrieb aufrecht erhalten bleibt. Durch diese Weiterbildung kann der Tatsache Rechnung getragen werden, dass die Initialisierung der einzelnen Zeitraster u.U. unterschiedlich lange dauert.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass in dem Metazustand über das Kommunikationsraster ein erstes Aufgabenprogramm (sog. Task) zur Initialisierung zumindest des langsamsten zu initialisierenden Zeitrasters aufgerufen wird. Gemäß dieser Ausführungsform erfolgt die Initialisierung der zu initialisierenden Zeitraster also nicht unmittelbar aus dem Kommunikationsraster heraus, sondern mittelbar über mindestens eine Task.
  • Vorteilhafterweise wird jedes zu initialisierende Zeitraster von einem eigenen Aufgabenprogramm (Task) initialisiert, wobei jeweils aus einem abgearbeiteten Aufgabenprogramm heraus ein weiteres Aufgabenprogramm zur Initialisierung des nächsten Zeitrasters in der vorgegebenen Reihenfolge aufgerufen wird bis alle zu initialisierenden Zeitraster initialisiert sind.
  • Als eine weitere Lösung der Aufgabe der vorliegenden Erfindung wird ausgehend von dem Echtzeit-Rechengerät der eingangs genannten Art vorgeschlagen, dass das Rechengerät Mittel zur Initialisierung eines Teils des Computerprogramms aufweist, welche das Rechengerät zur Teilinitialisierung in einen Metazustand versetzen, wobei die Mittel zur Teilinitialisierung umfassen:
    • – Mittel zur Aufrechterhaltung des Kommunikationsrasters;
    • – Mittel zum Anhalten aller zu initialisierenden Zeitraster, die langsamer als das Kommunikationsraster sind;
    • – Mittel zur Initialisierung aller zu initialisierenden Zeitraster nacheinander in einer Reihenfolge von dem langsamsten zu dem schnellsten zu initialisierenden Zeitraster hin; und
    • – Mittel zum Umschalten des Kommunikationsrasters in einen initialisierten Zustand nach der Initialisierung aller zu initialisierenden Zeitraster, ohne die Kommunikation zu den weiteren Rechengeräten zu beeinträchtigen.
  • Gemäß einer vorteilhaften Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass das Rechengerät Mittel zur Ausführung des erfindungsgemäßen Verfahrens aufweist.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung wird vorgeschlagen, dass die Mittel zur Initialisierung eines Teils des Computerprogramms als ein Initialisierungs-Programm realisiert sind. Das Initialisierungs-Programm ist vorzugsweise auf einem Speicherelement, insbesondere auf einem Read-Only-Memory, einem Random-Access-Memory oder einem Flash-Memory, abgelegt. Das Initialisierungs-Programm wird vorzugsweise durch ein bestimmtes auslösendes Ereignis, z.B. Betätigung der Klemme 15 (Betätigung der Zündung in einem Kraftfahrzeug) oder Aufruf einer bestimmten noch nicht initialisierten Funktionalität des Computerprogramms, ausgelöst. Das Initialisierungs-Programm hält zunächst sämtliche zu initialisierenden Zeitraster mit Ausnahme des Kommunikationsrasters an. Anschließend wird über das Kommunikationsraster eine erste Initialisierungstask aufgerufen. Diese Task beginnt mit der Teilinitialisierung und initialisiert das langsamste zu initialisierende Zeitraster. Nach Beendigung der ersten Task wird eine zweite Task aufgerufen, welche die Teilinitialisierung fortsetzt und das zweitlangsamste Zeitraster initialisiert. Nach Beendigung der zweiten Task werden nacheinander weitere Tasks zur Initialisierung der übrigen Zeitraster in der vorgegebenen Reihenfolge aufgerufen, bis das schnellste zu initialisierende Zeitraster, das jedoch langsamer als das Kommunikationsraster ist, initialisiert wurde. Anschließend sorgt das Initialisierungs-Programm dafür, dass als letztes das Kommunikationsraster von dem teilinitialisierten Zustand in den initialisierten Zustand umgeschaltet wird, ohne dass die Echtzeitkommunikation beeinträchtigt oder unterbrochen wird.
  • Gemäß einer besonders bevorzugten Ausführungsform der Erfindung wird vorgeschlagen, dass das Rechengerät als ein Steuergerät für ein Kraftfahrzeug zur Steuerung und/oder Regelung bestimmter Kraftfahrzeug-Funktionen ausgebildet ist. Insbesondere bei Kraftfahrzeug-Steuergeräten bietet das erfindungsgemäße Verfahren aufgrund der umfangreichen Funktionalitäten der dort eingesetzten Computerprogramme enorme Vorteile. Mit dem erfindungsgemäßen Verfahren ist eine sichere und zuverlässige Teilinitialisierung eines Computerprogramms mit einem großen Funktionsumfang, wie es in einem Kraftfahrzeug-Steuergerät eingesetzt wird, praktisch überhaupt erst möglich.
  • Von besonderer Bedeutung ist die Realisierung des erfindungsgemäßen Verfahrens in der Form eines Initialisierungs-Programms, das auf einem Rechengerät, insbesondere auf einem Mikroprozessor eines Steuergeräts für ein Kraftfahrzeug, ablauffähig ist. Das Initialisierungs-Programm ist zur Initialisierung eines Teils eines ebenfalls auf dem Rechengerät ablauffähigen Computerprogramms vorgesehen. Dabei ist das Initialisierungs-Programm zur Ausführung des erfindungsgemäßen Verfahrens geeignet, wenn es auf dem Rechengerät abläuft. In diesem Fall wird also die Erfindung durch ein Initialisierungs-Programm realisiert, so dass dieses Programm in gleicher Weise die Erfindung darstellt wie das Verfahren, zu dessen Ausführung das Programm geeignet ist.
  • Gemäß einer bevorzugten Weiterbildung der vorliegenden Erfindung wird vorgeschlagen, dass das Initialisierungs-Programm auf einem Speicherelement gespeichert ist. Als Speicherelement kann insbesondere ein elektrisches Speichermedium zur Anwendung kommen, beispielsweise ein Read-Only-Memory, ein Random-Access-Memory oder ein Flash-Memory.
  • Zeichnungen
  • Weitere Merkmale, Anwendungsmöglichkeiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen der Erfindung, die in der Zeichnung dargestellt sind. Dabei bilden alle beschriebenen oder dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Patentansprüchen oder deren Rückbeziehung sowie unabhängig von ihrer Formulierung bzw. Darstellung in der Beschreibung bzw. in der Zeichnung. Es zeigen:
  • 1: ein Ablaufdiagramm eines erfindungsgemäßen Verfahrens zur Teilinitialisierung eines Echtzeit-Rechengeräts;
  • 2: einen Rechengeräteverbund umfassend mehrere Echtzeit-Rechengeräte, die über ein Kommunikationssystem miteinander in Verbindung stehen; und
  • 3: ein erfindungsgemäßes Echtzeit-Rechengerät zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms.
  • Beschreibung der Ausführungsbeispiele
  • Die vorliegende Erfindung geht aus von mehreren Echtzeit-Rechengeräten 1, die über ein Kommunikationssystem 2 miteinander in Verbindung stehen (vgl. 2). Ein solcher Rechnergeräteverbund wird beispielsweise in einem Kraftfahrzeug eingesetzt, wobei die Rechengeräte 1 dann als Steuergeräte ausgebildet sind. Die einzelnen Steuergeräte 1 haben verschiedene Aufgaben und Steuern und/oder Regeln bestimmte Komponenten und/oder Funktionen in dem Kraftfahrzeug. Über das Kommunikationssystem 2 können die Steuergeräte 1 nach dem CAN(Controller Area Network)-Protokoll oder nach einem beliebig anderen Protokoll untereinander Daten austauschen.
  • In den Steuergeräten 1 werden zur Erfüllung ihrer bestimmungsgemäßen Steuerungs- bzw. Regelungsfunktion Computerprogramme in unterschiedlichen festen Zeitrastern mit einer Wiederholfrequenz von 10ms, 20ms, 50ms, 1000ms abgearbeitet (vgl. 1). Wichtige oder sicherheitskritische Funktionen, z.B. zur Steuerung der Einspritzung einer Brennkraftmaschine eines Kraftfahrzeugs, werden vorzugsweise in schnellen Zeitrastern (z.B. 10ms) abgearbeitet. Weniger kritische Funktionen, z.B. zur Realisierung einer Lambda-Regelung einer Abgasreinigungsanlage eines Kraftfahrzeugs, können dagegen in langsameren Zeitrastern (z.B. 1000ms) ablaufen. Die schnellen Zeitraster werden auch als preemptive Zeitraster bezeichnet. Sie können andere Zeitraster unterbrechen. Die langsameren Zeitraster werden auch als kooperative Zeitraster bezeichnet. Die preemptiven Zeitraster werden aufgesetzt, d.h. durch Hardware-Timer gestartet, wohingegen die kooperativen Zeitraster nicht durch Timer, sondern durch Software gestartet werden.
  • Ein Computerprogramm oder bestimmte Teile davon, sogenannte Aufgabenprogramme oder Tasks, können sich in verschiedenen Zuständen A und C befinden (vgl. 1). Der Zustand A entspricht beispielsweise einem teilinitialisierten Zustand, in dem ausgewählte Steuergeräte 1 in einen Stromsparmodus geschaltet und ausgewählte Steuergerätefunktionen teilinitialisiert sind. Der teilinitialisierte Zustand A kann beispielsweise dadurch ausgelöst werden, dass sich bei einem sogenannten Keyless-Go-System eine berechtigte Person dem abgestellten Kraftfahrzeug nähert. Die Berechtigung der Person wird von dem Kraftfahrzeug beispielsweise über eine entsprechend codierte Karte, welche die Person mit sich führt, berührungslos detektiert. Es ist aber auch denkbar, dass ein Steuergerät 1 in den teilinitialisierten Zustand A wechselt, sobald in einem deaktivierten Zustand bestimmte Komponenten (z.B. das Autoradio) in dem Kraftfahrzeug betätigt werden. Durch die Teilinitialisierung ausgewählter Steuergeräte 1 in dem Kraftfahrzeug kann ein nachfolgender Startvorgang (Betätigung der Zündung, Klemme 15) deutlich verkürzt werden.
  • Der Zustand C entspricht einem Normalbetrieb eines Steuergerätes 1, in dem das auf dem Steuergerät 1 ablaufende Computerprogramm vollständig initialisiert ist und die vollständige Funktionalität des Steuergerätes 1 zur Verfügung steht. Es ist jedoch auch durchaus denkbar, dass in dem Zustand C zwar mehr Zeitraster initialisiert sind als in dem Zustand A, dass aber noch nicht alle Zeitraster 10, 20, 50,...1000 initialisiert sind. In diesem Fall könnte das erfindungsgemäße Verfahren zur Teilinitialisierung noch ein- oder mehrmals durchlaufen werden, bis schließlich eine vollständige Initialisierung des Steuergeräts 1 erzielt ist. Das erfindungsgemäße Verfahren zur Teilinitialisierung kann also sequentiell mehrmals hintereinander ausgeführt werden, wobei bei jeder Ausführung zusätzliche Zeitraster 10, 20, 50,...1000 initialisiert werden.
  • Um das Kraftfahrzeug aus dem Zustand A heraus zu starten, wird zunächst die Zündung (Klemme 15) betätigt. Das oder die Steuergeräte 1 des Kraftfahrzeugs müssen vor dem Start in den Normalbetrieb (Zustand C) überführt werden. Dazu ist es erforderlich, dass die in dem Zustand A noch nicht initialisierten Steuergeräte 1, die aber zur Ausführung des Startvorgangs benötigt werden, nachträglich initialisiert werden. Das erfindungsgemäße Verfahren dient zur nachträglichen Initialisierung bestimmter Steuergeräte oder Steuergerätefunktionen, indem die dafür erforderlichen Zeitraster in den Normalbetrieb überführt werden.
  • Das erfindungsgemäße Verfahren wird nachfolgend anhand der 1 näher erläutert: Zunächst befindet sich das Steuergerät 1 in dem teilinitialisierten Zustand A (t < t1). In dem Zustand A ist die Zündung (Klemme 15) noch nicht aktiviert und es fehlen noch wichtige Versorgungsspannungen. In den Zeitrastern 10, 20, 50, ...1000 sind nur die für den Zustand A notwendigen Funktionalitäten konfiguriert. Dies entspricht nicht dem vollständigen Funktionsumfang für den Normalbetrieb C. Es wurden nur ausgewählte Rechnerkerne von Rechengeräten 1 und die zum Aufbau des Kommunikationssystem 2 notwendigen Computerprogrammteile initialisiert. Alle übrigen Teile des Computerprogramms sind noch nicht initialisiert. Es laufen mehrere Zeitraster 10, 20, 50,...1000, welche zu dem Zustand A gehören und daher alle in der gleichen Weise schraffiert sind. Die Zeitraster 10, 20, 50...1000 werden periodisch aufgerufen, was dadurch erkennbar ist, dass sie von links beginnend mehrfach abgearbeitet werden. Die in 1 dargestellten Zeitraster 10, 20, 50,...1000 haben von unten nach oben hin zunehmende Betriebssystemprioritäten.
  • Das Steuergerät 1 nimmt an dem Rechnerverbund teil und verwendet das 10ms-Zeitraster 10 als Kommunikationsraster. Das Kommunikationsraster darf keine zu großen zeitlichen Schwankungen (sog. Jittering) oder gar Unterbrechungen aufweisen.
  • Über einen Kommunikationscontroller (z.B. CAN-Bus) empfängt das Steuergerät 1 zum Zeitpunkt t1 von einem zentralen Gateway-Modul des Rechnerverbundes über das Kommunikationssystem 2 eine Botschaft, wonach die Zündung aktiviert worden ist, sog. Klemmenstatuswechsel (KL15 über CAN). Dadurch werden die nachfolgenden Aktionen in dem Steuergerät 1 veranlasst:
    • a) Schließen des Hauptrelais des Kraftfahrzeugs, damit die Versorgungsspannungen überall in dem Steuergerät 1 anliegen;
    • b) nachträgliches Initialisieren der noch nicht initialisierten Hardware und Software des Steuergeräts 1;
    • c) Wechsel so schnell wie möglich in den Normalzustand C; und
    • d) dabei stets unverändertes Weiterbetreiben der Kommunikation über das Kommunikationssystem 2 mittels des Kommunikationsrasters 10.
  • Um diese Anforderungen zu erfüllen, führt das Steuergerät 1 bzw. das auf dem Steuergerät 1 abgearbeitete Initialisierungs-Programm die folgenden Schritte zur Teilinitialisierung aus:
    Das Steuergerät 1 wird aus dem teilinitialisierten Zustand A in einen Metazustand B umgeschaltet. In dem Metazustand B werden alle noch nicht initialisierten Hardware- und Software-Teile des Steuergerätes 1 initialisiert, um schnellstmöglich in den Normalzustand C zu wechseln. Gleichzeitig wird die Kommunikation in dem Metazustand B unverändert aufrechterhalten.
  • Zunächst werden alle zu initialisierenden Zeitraster 20, 50,...1000 mit Ausnahme des Kommunikationsrasters 10 angehalten. Dies kann beispielsweise dadurch erfolgen, dass sie nicht mehr über das Kommunikationsraster 10 aufgerufen werden, wie das in dem teilinitialisierten Zustand A der Fall war (vgl. Pfeile von dem Kommunikationsraster 10 zu den Zeitrastern 20, 50,...1000, durch welche der Aufruf dieser Zeitraster 20, 50,...1000 symbolisiert wird). Lediglich das Kommunikationsraster 10 des teilinitialisierten Zustands A wird in dem Metazustand B weiter periodisch abgearbeitet (vgl. Schraffur der Kommunikationsraster 10 in dem Metazustand B, welche der Schraffur in dem teilinitialisierten Zustand A entspricht). Während des Metazustands B können also für den teilinitialisierten Zustand A fremde Zeitraster, die beispielsweise zu dem Normalbetrieb C gehören, aperiodisch aufgerufen werden, ohne dabei in Konflikt mit Zeitrastern des teilinitialisierten Zustands A zu geraten.
  • Gleichzeitig geht über das Kommunikationsraster 10 eine Botschaft (vgl. Pfeil 3) an eine Hintergrundtask 4 mit einer niedrigen Betriebssystempriorität, das Hauptrelais zu schließen, auf stabile Spannungsverhältnisse in dem Steuergerät 1 zu warten und nacheinander alle Zeitraster 20, 50,...1000 des Normalbetriebs C in der Reihenfolge von langsamen zu schnellen Zeitrastern hin zu initialisieren. Dazu wird aus der Hintergrundtask 4 heraus eine Initialisierungstask 5 aufgerufen (vgl. Pfeil 6), welche das langsamste Zeitraster 1000 initialisiert. Nach erfolgter Initialisierung des Zeitrasters 1000 werden aus der Initialisierungstask 5 heraus weitere Initialisierungstasks 7, 8 aufgerufen (vgl. Pfeile 9), welche die schnelleren Zeitraster 20, 50 initialisieren. Während des Metazustandes B werden also die Zeitraster 20, 50,...1000 mit der vollständigen Funktionalität des Normalbetriebs C sukzessive abgearbeitet, d.h. in den Normalzustand C überführt. Der Wechsel von dem teilinitialisierten Zustand A in den Normalzustand C ist durch die unterschiedliche Schraffierung der initialisierten Zeitraster 10, 20, 50,...1000 erkennbar. Damit wird der Normalzustand C initialisiert, während das Kommunikationsraster 10 des teilinitialisierten Zustands A weiterhin den Echtzeitbetrieb aufrechterhält.
  • Nach der vollständigen Initialisierung der Zeitraster 20, 50,...1000 bis zu dem 20ms-Zeitraster 20 wird eine weitere Hintergrundtask 11 aufgerufen (vgl. Pfeil 12), aus der heraus der eigentliche Zustandswechsel in dem Steuergerät 1 zum Zeitpunkt t2 erfolgt. Das Kommunikationsraster 10 wird in den neuen Modus C geschaltet, indem beispielsweise Tasktabellen für den teilinitialisierten Zustand A durch Tasktabellen für den Normalzustand C ersetzt werden. Anschließend werden wieder alle Zeitraster 20, 50,...1000 freigegeben. Dadurch wird das Kommunikationsraster 10 des teilinitialisierten Zustands A durch das Kommunikationsraster 10 des Normalzustandes C ersetzt, und die langsameren Zeitraster 20, 50,...1000 können in dem Normalzustand C wieder aus dem Kommunikationsraster 10 heraus aufgerufen werden. Zudem können die höherprioren, schnelleren Zeitraster (nicht dargestellt) wieder gestartet werden.
  • Nun läuft das gesamte System in dem Normalzustand C so als habe es den teilinitialisierten Zustand A mit der unvollständigen Spannungsversorgung und den Metazustand B mit der Initialisierung nie gegeben. Trotzdem wurde über die gesamte Teilinitialisierungsphase hinweg die Echtzeit des Kommunikationsbetriebs stets aufrechterhalten, was durch die Äquidistanz der Kommunikationsraster 10 während des Metazustands B sichtbar ist.
  • In 3 ist ein Echtzeit-Rechengerät 1, das nach dem erfindungsgemäßen Verfahren teilinitialisiert werden kann, dargestellt. Das Rechengerät 1 ist vorzugsweise als ein Kraftfahrzeug-Steuergerät ausgebildet. Das Steuergerät 1 ist über einen Kommunikationskontroller 13, der beispielsweise als eine CAN-Bus-Schnittstelle ausgebildet ist, an das Kommunikationssystem 2 angeschlossen. In dem Steuergerät 1 ist ein Mikroprozessor 14 vorgesehen, der zur Abarbeitung eines Computerprogramms 18 geeignet ist. Durch Abarbeitung des Computerprogramms 18 auf dem Mikroprozessor 14 kann das Steuergerät 1 seine bestimmungsgemäße Steuerungs- und/oder Regelungsfunktion erfüllen. Durch die Abarbeitung des Computerprogramms 18 wird außerdem die Kommunikation des Steuergeräts 1 mit anderen Steuergeräten 1 des Rechnerverbundes über das Kommunikationssystem 2 koordiniert.
  • Das Computerprogramm 18 ist auf einem Speicherelement 15 gespeichert, das vorzugsweise als ein elektrisches Speichermedium, beispielsweise als ein Read-Only-Memory, ein Random-Access-Memory oder als ein Flash-Memory, ausgebildet ist. Zur Abarbeitung des Computerprogramms 18 in dem Mikroprozessor 14 wird es entweder als ganzes oder befehlsweise über eine Datenverbindung 16 zu dem Mikroprozessor 14 übertragen. Die Ergebnisse von Berechnungen, die von dem Mikroprozessor 14 ausgeführt wurden, oder Daten, die über das Kommunikationssystem 2 und den Kommunikationskontroller 13 von anderen Steuergeräten 1 empfangen wurden, können über die Datenverbindung 16 in dem Speicherelement 15 abgelegt werden.
  • Zusätzlich zu dem Computerprogramm 18 ist in dem Speicherelement 15 auch ein Initialisierungs-Programm 17 abgelegt, das zu dem Zeitpunkt t1 (vgl. 1) aufgerufen und zur Abarbeitung über die Datenverbindung 16 an den Mikroprozessor 14 übertragen wird. Das Initialisierungs-Programm 17 ist zur Ausführung des erfindungsgemäßen Verfahrens geeignet, wenn es auf dem Mikroprozessor 14 abläuft.

Claims (10)

  1. Verfahren zur Teilinitialisierung eines Echtzeit-Rechengeräts (1), das über ein Kommunikationssystem (2) mit weiteren Rechengeräten (1) in Verbindung steht, wobei in dem Rechengerät (1) verschiedene Funktionalitäten durch Abarbeiten eines Computerprogramms (18) in unterschiedlichen festen Zeitrastern (20, 50,...1000) realisiert werden und eine Kommunikation zu den weiteren Rechengeräten (1) in einem festen Kommunikationsraster (10) ausgeführt wird, und wobei Zeitraster (20, 50,...1000), die langsamer als das Kommunikationsraster (10) sind, aus dem Computerprogramm (18) heraus über das Kommunikationsraster (10) beeinflusst werden können, dadurch gekennzeichnet, dass das Rechengerät (1) zur Initialisierung eines Teils des Computerprogramms (18) in einen Metazustand (B) überführt wird, indem – das Kommunikationsraster (10) aufrechterhalten wird; – alle zu initialisierenden Zeitraster (20, 50, ...1000), die langsamer als das Kommunikationsraster (10) sind, angehalten werden; – in einer Reihenfolge von dem langsamsten (1000) zu dem schnellsten (20) zu initialisierenden Zeitraster (20, 50,...1000) hin nacheinander alle zu initialisierenden Zeitraster (20, 50,...1000) initialisiert werden; und – nach der Initialisierung aller zu initialisierenden Zeitraster (20, 50,...1000) das Kommunikationsraster (10) in einen initialisierten Zustand (C) umgeschaltet wird, ohne die Kommunikation zu den weiteren Rechengeräten (1) zu beeinträchtigen.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die zu initialisierenden Zeitraster (20, 50,...1000) während des Metazustandes (B) aperiodisch initialisiert werden.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass in dem Metazustand (B) über das Kommunikationsraster (10) ein erstes Aufgabenprogramm (5) zur Initialisierung zumindest des langsamsten zu initialisierenden Zeitrasters (1000) aufgerufen wird.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass jedes zu initialisierende Zeitraster (20, 50,...1000) von einem eigenen Aufgabenprogramm (5, 7, 8) initialisiert wird, wobei jeweils aus einem abgearbeiteten Aufgabenprogramm (5, 7) heraus ein weiteres Aufgabenprogramm (7, 8) zur Initialisierung des nächsten Zeitrasters (20, 50,...1000) in der vorgegebenen Reihenfolge aufgerufen wird bis alle zu initialisierenden Zeitraster (20, 50,...1000) initialisiert sind.
  5. Echtzeit-Rechengerät (1), das über ein Kommunikationssystem (2) mit weiteren Rechengeräten (1) in Verbindung steht, wobei in dem Rechengerät (1) verschiedene Funktionalitäten durch Abarbeiten eines Computerprogramms (18) in unterschiedlichen festen Zeitrastern (20, 50, ...1000) realisierbar sind, wobei das Rechengerät (1) mit den weiteren Rechengeräten (1) in einem festen Kommunikationsraster (10) kommuniziert, und wobei Zeitraster (20, 50,...1000), die langsamer als das Kommunikationsraster (10) sind, aus dem Computerprogramm (18) heraus über das Kommunikationsraster (10) beeinflussbar sind, dadurch gekennzeichnet, dass das Rechengerät (1) Mittel (17) zur Initialisierung eines Teils des Computerprogramms (18) aufweist, welche das Rechengerät (1) zur Teilinitialisierung in einen Metazustand (B) versetzen, wobei die Mittel (17) zur Teilinitialisierung umfassen: – Mittel zur Aufrechterhaltung des Kommunikationsrasters (10); – Mittel zum Anhalten aller zu initialisierenden Zeitraster (20, 50,...1000), die langsamer als das Kommunikationsraster (10) sind; – Mittel zur Initialisierung aller zu initialisierenden Zeitraster (20, 50,...1000) nacheinander in einer Reihenfolge von dem langsamsten (1000) zu dem schnellsten (20) zu initialisierenden Zeitraster (20, 50,...1000) hin; und – Mittel zum Umschalten des Kommunikationsrasters (10) in einen initialisierten Zustand (C) nach der Initialisierung aller zu initialisierenden Zeitraster (20, 50,...1000), ohne die Kommunikation zu den weiteren Rechengeräten (1) zu beeinträchtigen.
  6. Rechengerät (1) nach Anspruch 5, dadurch gekennzeichnet, dass das Rechengerät (1) Mittel zur Ausführung eines Verfahrens nach einem der Ansprüche 2 bis 4 aufweist.
  7. Rechengerät (1) nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass die Mittel (17) zur Initialisierung eines Teils des Computerprogramms (18) als ein Initialisierungs-Programm realisiert sind.
  8. Rechengerät (1) nach einem der Ansprüche 5 bis 7, dadurch gekennzeichnet, dass das Rechengerät (1) als ein Steuergerät für ein Kraftfahrzeug zur Steuerung und/oder Regelung bestimmter Kraftfahrzeug-Funktionen ausgebildet ist.
  9. Auf einem Rechengerät (1), insbesondere auf einem Mikroprozessor eines Steuergeräts für ein Kraftfahrzeug, ablauffähiges Initialisierungs-Programm (17) zur Initialisierung eines Teils eines ebenfalls auf dem Rechengerät (1) ablauffähigen Computerprogramms (18), dadurch gekennzeichnet, dass das Initialisierungs-Programm (17) zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 4 geeignet ist, wenn es auf dem Rechengerät (1) abläuft.
  10. Initialisierungs-Programm (17) nach Anspruch 9, dadurch gekennzeichnet, dass das Initialisierungs-Programm (17) auf einem Speicherelement (15), insbesondere auf einem Read-Only-Memory, Random-Access-Memory oder einem Flash-Memory, gespeichert ist.
DE10228064A 2002-06-17 2002-06-17 Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms Expired - Fee Related DE10228064B4 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE10228064A DE10228064B4 (de) 2002-06-17 2002-06-17 Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms
US10/459,316 US7774777B2 (en) 2002-06-17 2003-06-10 Method, real-time computation device, and initialization program for partial initialization of a computer program executable on the computation device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10228064A DE10228064B4 (de) 2002-06-17 2002-06-17 Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms

Publications (2)

Publication Number Publication Date
DE10228064A1 DE10228064A1 (de) 2004-01-15
DE10228064B4 true DE10228064B4 (de) 2005-08-11

Family

ID=29723401

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10228064A Expired - Fee Related DE10228064B4 (de) 2002-06-17 2002-06-17 Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms

Country Status (2)

Country Link
US (1) US7774777B2 (de)
DE (1) DE10228064B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2569127C2 (ru) * 2011-09-12 2015-11-20 Тойота Дзидося Кабусики Кайся Устройство управления для двигателя внутреннего сгорания

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4037143A1 (de) * 1990-11-22 1992-05-27 Bosch Gmbh Robert Steuerungssystem
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
DE4203704C3 (de) * 1992-02-08 1999-06-10 Daimler Chrysler Ag Verfahren zur Initialisierung eines elektronischen Regelsystems insbesondere in einem Kraftfahrzeug

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5497492A (en) * 1990-09-04 1996-03-05 Microsoft Corporation System and method for loading an operating system through use of a fire system
US5859959A (en) * 1996-04-29 1999-01-12 Hewlett-Packard Company Computer network with devices/paths having redundant links
US6275911B1 (en) * 1996-09-20 2001-08-14 Denso Corporation Memory writing device for an electronic device
JP2000199450A (ja) * 1998-12-28 2000-07-18 Denso Corp エンジン制御装置
DE19900957C2 (de) 1999-01-13 2002-03-21 Hans Dieter Grotefeld Eckverbinder für Hohlprofilrahmen von Fenstern und Türen
US7181608B2 (en) * 2000-02-03 2007-02-20 Realtime Data Llc Systems and methods for accelerated loading of operating systems and application programs
JP3578082B2 (ja) * 2000-12-20 2004-10-20 株式会社デンソー 処理実行装置及び記録媒体
JP4229358B2 (ja) * 2001-01-22 2009-02-25 株式会社小松製作所 無人車両の走行制御装置
US6889128B2 (en) * 2001-04-20 2005-05-03 Trw Inc. System and method for controlling vehicle suspension components and vehicle occupant protection devices
JP3610930B2 (ja) * 2001-07-12 2005-01-19 株式会社デンソー オペレーティングシステム、プログラム、車両用電子制御装置
JP3879514B2 (ja) * 2002-01-11 2007-02-14 株式会社デンソー 電子制御装置及びプログラム
JP3988636B2 (ja) * 2002-02-15 2007-10-10 株式会社デンソー マイクロコンピュータ及び車両用ecu
US7484208B1 (en) * 2002-12-12 2009-01-27 Michael Nelson Virtual machine migration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4037143A1 (de) * 1990-11-22 1992-05-27 Bosch Gmbh Robert Steuerungssystem
DE4203704C3 (de) * 1992-02-08 1999-06-10 Daimler Chrysler Ag Verfahren zur Initialisierung eines elektronischen Regelsystems insbesondere in einem Kraftfahrzeug
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen

Also Published As

Publication number Publication date
US7774777B2 (en) 2010-08-10
DE10228064A1 (de) 2004-01-15
US20030233390A1 (en) 2003-12-18

Similar Documents

Publication Publication Date Title
EP1854022B1 (de) Steuergerät mit konfigurierbaren hardwaremodulen
WO2004027530A1 (de) Verfahren und rechnersystem zum betreiben von mindestens zwei miteinander verbundenen steuergeräten
EP1853980A1 (de) Vorrichtung und verfahren zur abarbeitung priorisierter steuerungsprozesse
EP3298730B1 (de) Bussystem und verfahren zum zuteilen von adressen von busteilnehmern eines bussystems
EP1190166B1 (de) Verfahren und vorrichtung zum hochfahren eines steuergeräts für ein kraftfahrzeug
DE10228064B4 (de) Verfahren, Echtzeit-Rechengerät und Initialisierungs-Programm zur Teilinitialisierung eines auf dem Rechengerät ablauffähigen Computerprogramms
DE10205809A1 (de) Verfahren und Vorrichtung zur Überwachung der Steuerung von Betriebsabläufen bei einem Fahrzeug
DE10153846B4 (de) Zünd- oder Einspritzmodul und zugehörendes Initialisierungsverfahren
DE10110444A1 (de) Verfahren und Vorrichtung zum Ermitteln der Auslastung eines Rechengeräts
EP3143506B1 (de) Verfahren und system zum zuweisen einer steuerberechtigung zu einem rechner
DE10061001A1 (de) Verfahren und Steuergerät zur Steuerung von technischen Vorgängen in einem Kraftfahrzeug
EP2018604B1 (de) Verfahren zum betreiben eines steuergeräts
EP2055053B1 (de) Verfahren und vorrichtung zum betrieb mehrerer steuergeräte
DE102020200203B4 (de) Vorrichtung zum Betreiben eines elektronischen Systems, insbesondere eines Fahrzeugs
DE19947251A1 (de) Verfahren und Vorrichtung zur Steuerung von Prozessen in Verbindung mit einem Antrieb
WO2006120174A1 (de) Verfahren zur steuergeräte-überwachung
DE10065498A1 (de) Verfahren und Vorrichtung zur Rekonstruktion des Prozessablaufs eines Steuerprogramms
EP2126700B1 (de) Steuerung des laufzeitverhaltens von prozessen
DE102014213826B4 (de) Verfahren zum Synchronisieren von Zustandswechseln in Mehrkernrechnern eingebetteter Systeme
DE10229520A1 (de) Verfahren und Vorrichtung sowie Betriebssystem zur Steuerung von Vorgängen bei einem Fahrzeug
DE10360200A1 (de) Verfahren und Vorrichtung zum Betrieb eines Steuergerätes
DE10251855A1 (de) Verfahren zur Überwachung der Datenkonsistenz in einem verteilten System
WO2023066624A1 (de) Datenverarbeitungsnetzwerk zur datenverarbeitung
WO2023066626A1 (de) Verfahren zur verarbeitung von daten mit einem datenverarbeitungsnetzwerk umfassend eine mehrzahl von datenverarbeitungsmodulen, datenverarbeitungsmodul und datenverarbeitungsnetzwerk
DE102016223202A1 (de) Mikrocontroller mit ereignisgetriggerter Ablaufsteuerung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee