-
HINTERGRUND DER ERFINDUNG
-
Gebiet der Erfindung
-
Die
vorliegende Erfindung betrifft WWAN- (drahtlose Weitbereichs- oder
Großraumnetzwerke) Kommunikationseinrichtungen
und entsprechende Verfahren und integrierte Schaltungschips und
betrifft insbesondere die Korrektursoftwareinstallation in derartigen
WWAN-Kommunikationseinrichtungen.
-
Drahtlose
Netzwerke sind flexible Datenkommunikationssysteme mit Verwendung
drahtloser Medien, etwa der Funktechnik oder der Infrarottechnik,
um Daten drahtlos zu übertragen
und zu empfangen, wodurch der Bedarf für verdrahtete Verbindungen
minimiert wird. Somit verknüpfen
drahtlose Netzwerke Datenverbund mit Anwendermobilität.
-
Drahtlose
Systeme können
in einer Vielzahl von Arten konfiguriert sein, um damit die Erfordernisse
der speziellen Anwendungen und Installationen zu erfüllen. Konfigurationen
können
einfach geändert werden
und reichen von bilateralen Netzwerken, die für eine kleine Anzahl von Anwendern
geeignet ist, bis zu großen
Infrastrukturnetzwerken, die eine Kommunikation über einen weiten Bereich ermöglichen.
-
Drahtlose
Weitbereichsnetzwerke (WWAN) benutzen Funk, Satelliten- oder Mobiltelefonsysteme,
um auf Daten und Informationen von einer beliebigen Stelle aus innerhalb
des Bereichs einer Zellenstation, die mit einem Daten aktivierten
Netzwerk verbunden ist, zuzugreifen. Unter Anwendung des Mobiltelefons
als Modem kann eine mobile Rechnereinheit, etwa ein Notebook-Computer,
ein PDA (persönlicher
digitaler Assistent) oder eine Einrichtung mit einer eigenständigen Funkkarte
Informationen aus dem Netzwerk, beispielsweise ein Firmennetzwerk oder
das Internet, empfangen und in dieses senden. Somit besitzen WWAN-Netzwerke
das Potential, den Bereich von Anwendungen oder von Daten auf nahezu
die gesamte Erdoberfläche
auszudehnen. Dieser erweiterte Bereich vergrößert jedoch auch die Verletzbarkeit
von WWAN-Netzwerken.
-
Da
WWAN-Kommunikationseinrichtungen selbst komplexe Systeme sind und
einem sich rasch entwickelnden Markt ausgesetzt sind, werden diese für gewöhnlich mit
Softwareaktualisierungen versehen, wenn sie bereits im Einsatz sind.
Diese Aktualisierungen, die auch als Korrektursoftwareroutinen bzw.
Patch bezeichnet werden, können
sowohl zusätzliche
Merkmale als auch Sicherheitskorrekturen zum Schließen von
Sicherheitslöchern
beinhalten. Auf diese Weise kann eine betrügerische Verwendung von WWAN-Kommunikationseinrichtungen oder
die Ausbreitung von Computerwürmern über WWAN-Systeme verhindert
werden.
-
Jedoch
kann ein Angreifer dennoch derartige der Sicherheit dienende Funktionen
entfernen. Ein Angreifer könnte
selbst das Laden von Korrektursoftwareroutinen in einem WWAN-Kommunikationsgerät vollständig blockieren.
Zum Beispiel könnte
der Angreifer die Signale beim normalen Hochlaufen des WWAN-Kommunikationsgerätes aufzeichnen
und detektieren, wie die „Korrekturseitige"-Signalgebung verläuft. Dann
könnte
dieses Signal zu der WWAN-Kommunikationseinrichtung zu Beginn eines späteren Einschaltens
gesendet werden, wodurch das Aktualisieren der Korrektursoftware
verhindert würde.
Ferner könnte
eine bösartige
Software auch das Einladen von Korrektursoftwareroutinen verhindern.
-
Des
weiteren unterliegen viele konventionelle WWAN-Kommunikationseinrichtung
dem Problem, dass diese zunehmend unsicher werden, wenn sie auf
dem Markt verfügbar
sind. Derartige Systeme unterliegen einem erhöhten Risiko einer bösartigen
Modifizierung. Ein Virus oder ein Wurm könnte effiziente Angriffe bewirken.
Beispielsweise könnte
ein Angriff zur Verwehrung von Dienstleistungen gegenüber einem
WWAN-Netzwerk ausgeführt
werden, wobei lediglich ein infiziertes aktives Gerät pro Funkzelle
ausreicht, um das gesamte System zu blockieren. Ein Virus könnte ferner
auch eine infizierte WWAN-Kommunikationseinrichtung
zerstören.
-
ÜBERBLICK ÜBER DIE
ERFINDUNG
-
Daher
werden verbesserte WWAN-Kommunikationseinrichtungen und entsprechende
Verfahren und integrierte Schaltungschips bereitgestellt, die die Nachteile
konventioneller Lö-sungen überwinden.
In speziellen Ausführungsformen
kann eine erhöhte Datensicherheit
in WWAN-Kommunikationsnetzwerken bereitgestellt werden. Andere Ausführungsformen
kön nen
die Wahrscheinlichkeit einer Schädigung
oder Zerstörung
von WWAN-Kommunikationseinrichtungen
durch einen Virus verringern. In weiteren Ausführungsformen kann die Zuverlässigkeit
von WWAN-Kommunikationseinrichtungen verbessert werden.
-
Gemäß einer
Ausführungsform
wird eine WWAN-Kommunikationseinrichtung mit einem ersten Prozessor,
einem zweiten Prozessor und einem Speicher bereitgestellt. Der erste
Prozessor ist ausgebildet, Korrektursoftware zu verarbeiten, die
in der WWAN-Kommunikationseinrichtung
laufende Software aktualisiert. Der zweite Prozessor ist ausgebildet,
einen ersten Satz an Korrektursoftwareroutinen zu dem ersten Prozessor
zuzuführen.
Der Speicher speichert einen zweiten Satz der Korrektursoftwareroutinen,
die von dem ersten Prozessor zu verarbeiten sind. Der zweite Prozessor
ist ferner ausgebildet, ein Korrektursoftware-Ende-Signal zu dem
ersten Prozessor zu senden, wobei das Korrektursoftware-Ende-Signal
den ersten Prozessor veranlasst, die Verarbeitung von Korrektursoftwareroutinen
zu stoppen, die von dem zweiten Prozessor bereitgestellt werden.
Der erste Prozessor ist ferner ausgebildet, die in dem Speicher
gespeicherten Korrektursoftwareroutinen unabhängig von dem Korrektursoftware-Ende-Signal
zu verarbeiten.
-
Eine
weitere Ausführungsform
betrifft einen integrierten Schaltungschip zum Ausführen einer WWAN-Kommunikation.
Der integrierte Schaltungschip umfasst eine erste Prozessoreinheit,
eine zweite Prozessoreinheit und eine Speichereinheit. Die erste Prozessoreinheit
ist ausgebildet, Korrektursoftwareroutinen zu verarbeiten, die in
dem integrierten Schaltungschip laufende Software aktualisiert.
Die zweite Prozessoreinheit ist ausgebildet, einen ersten Satz der
Korrektursoftwareroutinen zu der zweiten Prozessoreinheit zu senden.
Die Speichereinheit speichert einen zweiten Satz der von der ersten
Prozessoreinheit zu verarbeitenden Korrektursoftwareroutinen. Die
zweite Prozessoreinheit ist ferner ausgebildet, ein Korrektursoftware-Ende-Signal
zu der ersten Prozessoreinheit zu senden, wobei das Korrektursoftware-Ende-Signal
die erste Prozessoreinheit veranlasst, das Verarbeiten von Korrektursoftwareroutinen
zu stoppen, die von der zweiten Prozessoreinheit gesendet werden.
Die erste Prozessoreinheit ist ferner ausgebildet, die in der Speichereinheit
gespeicherten Korrektursoftwareroutinen unabhängig von dem Korrektursoftware-Ende-Signal
zu verarbeiten.
-
In
einer weiteren Ausführungsform
umfasst ein Verfahren zum Aktualisieren von Korrektursoftware einer
WWAN-Kommunikationseinrichtung das Betreiben eines ersten Prozessors,
um Korrektursoftwareroutinen zu verarbeiten, die Software der WWAN-Kommunikationseinrichtung
aktualisiert. Das Verfahren umfasst ferner Betreiben eines zweiten Prozessors,
um einen ersten Satz der Korrektursoftwareroutinen zu dem ersten
Prozessor zuzuführen und
Speichern eines zweiten Satzes der Korrektursoftwareroutinen in
einen Speicher der WWAN-Kommunikationseinrichtung. Der Schritt des
Betreibens des zweiten Prozessors umfasst das Senden eines Korrektursoftware-Ende-Signals
zu dem ersten Prozessor, wobei das Korrektursoftware-Ende-Signal den
ersten Prozessor veranlasst, das Verarbeiten der von dem zweiten
Prozessor bereitgestellten Korrektursoftwareroutinen zu stoppen.
Der Schritt des Betreibens des ersten Prozessors umfasst das Verarbeiten
der in dem Speicher gespeicherten Korrektursoftwareroutinen unabhängig von
dem Korrektursoftware-Ende-Signal.
-
Eine
noch weitere Ausführungsform
umfasst ein computerlesbares Medium, das computerausführbare Instruktionen
enthält,
die, wenn sie von einer WWAN-Kommunikationseinrichtung
ausgeführt werden,
die WWAN-Kommunikationseinrichtung veranlassen, ein Verfahren zum
Aktualisieren der Software der WWAN-Kommunikationseinrichtung auszuführen. Das
Verfahren umfasst das Betreiben eines ersten Prozessors, um Korrektursoftwareroutinen
zu verarbeiten, die die Software der WWAN-Kommunikationseinrichtung aktualisieren.
Das Verfahren umfasst ferner das Betreiben eines zweiten Prozessors, um
einen ersten Satz der Korrektursoftwareroutinen den ersten Prozessor
zuzuführen
und Speichern eines zweiten Satzes der Korrektursoftwareroutinen
in einem Speicher der WWAN-Kommunikationseinrichtung. Der Schritt
des Betreibens des zweiten Prozessors umfasst das Senden eines Korrektursoftware-Ende-Signals
zu dem ersten Prozessor, wobei das Korrektursoftware-Ende-Signal
den ersten Prozessor veranlasst, das Verarbeiten von dem zweiten
Prozessor bereitgestellten Korrektursoftwareroutinen zu stoppen.
Der Schritt des Betreibens des ersten Prozessors umfasst das Verarbeiten
der in dem Speicher gespeicherten Korrektursoftwareroutinen unabhängig von
dem Korrektursoftware-Ende-Signal.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Die
angefügten
Zeichnungen sind hierin mit integriert und bilden einen Teil der
Beschreibung, um die Prinzipien der Erfindung zu erläutern. Die
Zeichnungen sollen die Erfindung nicht auf die dargestellten und
beschriebenen Beispiele, wie die Erfindung praktiziert und angewendet
werden kann, einschränken.
Weitere Merkmale und Vorteile gehen aus der folgenden detaillieren
Beschreibung der Erfindung hervor, wie sie auch in den begleitenden
Zeichnungen dargestellt ist, wobei:
-
1 eine
Blockansicht ist, die Komponenten einer WWAN-Kommunikationseinrichtung
gemäß einer
Ausführungsform
zeigt;
-
2 ein
Flussdiagramm ist, das die Schritte des Initialisierungsprozesses
der WWAN-Kommunikationseinrichtung
gemäß einer
Ausführungsform zeigt;
-
3 ein
Flussdiagramm ist, das die Schritte eines Anlaufprozesses in einer
WWAN-Kommunikationseinrichtung
gemäß einer
Ausführungsform
zeigt;
-
4 ein
Flussdiagramm ist, das die AP-Systemaufgabe aus 3 detaillierter
zeigt; und
-
5a und 5b Flussdiagramme
sind, die die EP-Systemaufgabe aus 3 detaillierter zeigen.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Die
anschaulichen Ausführungsformen
der vorliegenden Erfindung werden nunmehr mit Bezug zu den Zeichnungen
beschrieben, wobei gleiche Elemente und Strukturen durch gleiche
Bezugszeichen belegt sind.
-
Es
sei nun auf die Figuren verwiesen und insbesondere auf 1,
in der eine vereinfachte Blockansicht dargestellt ist, die Komponenten
einer WWAN-Kommunikationseinrichtung gemäß einer Ausführungsform
zeigt. Gemäß der Ausführungsform enthält die WWAN-Kommunikationseinrichtung 110 einen
Anwendungsprozessor (AP) 130 und einen eingebetteten Prozessor
(EP) 120.
-
Der
Anwendungsprozessor 130 kann ein geläufiges Betriebssystem (OS),
etwa Linux oder WinCE, abarbeiten. Auf Grund der OS-Merkmale kann der
Anwendungsprozessor 130 als nicht vertrauenswürdig erachtet
werden. Angreifer bzw. Hacker können
prinzipiell das gesamte AP-System manipulieren.
-
Der
eingebettete Prozessor 120 wird im Folgenden alternativ
als der Kommunikationsprozessor bezeichnet. Gemäß der Ausführungsform ist dieser eine
geschlossene Einrichtung und erfordert das Abarbeiten einer vertrauenswürdigen Software.
Ansonsten werden Angriffe, etwa Angriffe zur Verweigerung von Dienstleistungen
in das Netzwerk, mit der die WWAN-Kommunikationseinrichtung 110 verbunden
ist (z.B. ein Mobilfunknetzwerk), möglich. Ein Virus könnte die
WWAN-Kommunikationseinrichtung 110 zerstören („verbrennen" bzw. „burn" des Funkgeräts). Sowohl
der Anwendungsprozessor 130 als auch der Kommunikationsprozessor 120 können Software
abarbeiten, die speziell für
die WWAN-Kommunikationseinrichtung 110 gestaltet
ist. Gemäß der Ausführungsform
kann die Software in dem Anwendungsprozessor 130 (der Treiber)
durch einen Hacker modifiziert werden und ist daher nicht vertrauenswürdig. Jedoch
kann die Software in dem Kommunikationsprozessor 120 (Firmware)
eine bösartige
Verwendung der WWAN-Kommunikationseinrichtung 110 verhindern.
Gemäß der Ausführungsform
kann ein Angreifer diese Funktion nicht entfernen.
-
Während der
Verfügbarkeit
auf dem Markt kann die WWAN-Kommunikationseinrichtung 110 mit Firmware-Aktualisierungen
(Korrektursoftwareroutinen) versorgt werden, die zusätzliche
Leistungsmerkmale sowie Sicherheitskorrekturen enthalten können. Die
Korrektursoftwareroutinen können selbst
verschlüsselt
und signiert sein, so dass es für einen
Angreifer unter Umständen
nicht möglich
ist, eigene Korrektursoftwareroutinen zu schaffen oder bestehende
zu ändern.
Die vorliegende Ausführungsform
verhindert, dass das Anwenden von Sicherheitskorrekturen, die in
einer Korrektursoftware enthalten sind, verhindert wird. Somit stellt
die vorliegende Ausführungsform
ein Mittel bereit, um das Einladen mindestens einer korrekten Korrektursoftwareroutine
zu ermöglichen.
Ansonsten stellt die WWAN-Kommunikationseinrichtung 110 den
Betrieb ein.
-
Wie
in 1 gezeigt ist, umfasst die WWAN-Kommunikationseinrichtung 110 einen
Speicher 140, der mit dem Kommunikationsprozessor 120 verbunden
ist. Tatsächlich
kann das System zwei unterschiedliche Speicherarten enthalten: einen
nicht flüchtigen
RAM, NVRAM, der Korrektursoftwareroutinen enthalten könnte, die
unmittelbar nach dem Zurücksetzen
eingeladen werden, und einen „normalen" RAM, der einen Stapel,
einen Zeigerstapel und den Speicherbereich enthalten kann, der angewendete
Korrektursoftwareroutinen (Korrektursoftwarespeicherbereich) enthält.
-
Gemäß der vorliegenden
Ausführungsform ist
der nicht flüchtige
Speicher 140 eine NVRAM- (nicht flüchtiger Speicher mit wahlfreiem
Zugriff) Speichereinrichtung. In anderen Ausführungsformen können jedoch
andere Arten von nicht flüchtigen Speichern,
beispielsweise nicht flüchtige
Flash-Speicher verwendet werden.
-
Der
NVRAM-Speicher 140 enthält
im Wesentlichen Konfigurationsdaten, die während der Herstellung gewonnen
werden. Der Speicher kann ferner Korrektursoftwareroutinen für bekannte
Probleme und Verbesserungen enthalten. Ein Netzwerkoperator kann
die WWAN-Kommunikationseinrichtung 110 für diese
Korrektursoftwareroutinen bereitgestellt haben, oder die Korrektursoftwareroutinen können über einen
anderen Verteilungskanal bereitgestellt worden sein.
-
Zu
beachten ist, dass 1 lediglich eine vereinfachte
Ansicht ist, die einen Teil der WWAN-Kommunikationseinrichtungskomponenten zeigt.
Selbstverständlich
kann die Einrichtung 110 weitere Elemente, etwa eine CPU
(zentrale Recheneinheit), interne Peripherieeinrichtungen, etc.
aufweisen. Beim Einschalten kann die auf dem eingebetteten Prozessor 120 laufende
Firmware eine Zustandsmaschine durchlaufen, die zunächst alle
Informationen von dem nicht flüchtigen
Speicher 140 einlädt. Gemäß der vorliegenden
Ausführungsform
kann ein Angreifer dies nicht verhindern. Sodann führt der
eingebettete Prozessor 120 einen „Handschlag"-Algorithmus mit
dem Anwendungsprozessor 130 aus. Sofern der Anwendungsprozessor 130 nicht
eine signierte Aktualisierung mit der korrigierten Signatur bereitstellt,
startet die WWAN-Kommunikationseinrichtung 110 nicht. Daher
ist es nicht möglich,
das Einladen von Korrektursoftwareroutinen zu verhindern.
-
In
Bezug zu den 2 bis 5 wird
nunmehr die Initialisierung des eingebetteten Prozessors 120 gemäß der vorliegenden
Ausführungsform
detaillierter beschrieben. Insbesondere kann der EP-Initialisierungsprozess
zwei Hauptphasen beinhalten: Initialisieren und Starten bzw. Anlaufen.
Gemäß der vorliegenden
Ausführungsform
besteht die EP-Initialisierungsphase aus einer Assembler- bzw. Maschinensprachcodierung,
die auf einem Rücksetzvektor
be ruht. Diese Codierung kann die grundsätzliche Initialisierung des
CPU-Kerns, der Hardwareperipherieeinrichtungen und des Speichers
des EP's ausführen, um
eine Umgebung bereitzustellen, auf der die wesentlichen funktionellen
Telekommunikationscodierungen operieren können. Die EP-Anlaufphase kann
einen Satz an Aktionen beschreiben, die ausgeführt werden, um Korrektursoftwareroutinen
aus dem NVRAM-Speicher 140 und dem Anwendungsprozessor 130 anzuwenden,
die Sicherheit einzustellen und Telekommunikationsmodule der WWAN-Kommunikationseinrichtung 110 zu
initialisieren.
-
In 2 sind
die Schritte des EP-Initialisierungsprozesses gemäß einer
Ausführungsform
gezeigt. Der Initialisierungsprozess kann durch ein Zurücksetzen
oder einen Neustart hervorgerufen werden. Folglich kann eine Warteschleife
im Schritt 210 ausgeführt
werden, bis eine derartige Initialisierungsbedingung erfüllt ist.
Zu Hardware-Rücksetzereignissen,
die den Initialisierungsprozess in Gang setzen, können z.
B. gehören:
das Erkennen eines Rücksetzens
auf Platinenebene, Ablauf eines „Wachhund"-Zeitgebers oder Setzen einer Rücksetzleitung, die
direkt von dem Anwendungsprozessor 130 gesteuert wird.
Ferner kann eine Initialisierungsbedingung im Falle eines Softwareneustartereignisses
bestehen. Dies kann beinhalten, dass der Anwendungsprozessor 130 oder
der NVRAM-Speicher 140 einen Neustart zum Anwenden von
Korrektursoftwareroutinen erzwingt, ein „Wachhund"-Zeitgeber
einen Neustart bei einem programmierbaren Zeitüberlauf ausführt (bevor
eine Hardwarerücksetzung
angewendet wird) oder ein Neustart, der beispielsweise durch eine
Handhabungseinrichtung für
Softwarefehler EJTAG (verbesserte gemeinsame Testaktionsgruppe)
hervorgerufen wird. Der Neustartzustand kann in einer Datenstruktur
in dem Korrektursoftwarespeicherbereich aufbewahrt sein. Während der Speicherinitialisierung 240 bei
der EP-Initialisierung kann auf diesen durch einen Aufruf der Korrektursoftware-API
(Anwendungsprogrammierschnittstelle) zugegriffen werden.
-
Die
obige anschauliche Aufzählung
von Initialisierungsbedingungen soll nicht als einschränkend für die Erfindung
betrachtet werden. In einigen Ausführungsform können weitere
Ereignisse einen Beginn des Initialisierungsprozesses hervorrufen,
während
in anderen Ausführungsformen
einige der obigen Ereignisse unter Umständen keine EP-Initialisierung
hervorrufen.
-
Sobald
eine Initialisierungsbedingung erfüllt ist, beginnt der EP-Initialisierungsprozess
mit dem Konfigurieren des CPU-Kerns des Kommunikationsprozesses 120 in
den korrekten Zustand gemäß Schritt 220.
Während
der CPU-Initialisierung 220 sind Interrupts deaktiviert.
Gemäß der vorliegenden Ausführungsform
werden diese während
der RTOS- (Echtzeitbetriebssystem) Initialisierung (siehe 3) aktiviert.
Nach der Kernkonfiguration werden die internen Peripherieeinrichtungen
des eingebetteten Prozessors 120 im Schritt 230 in
einem Zustand mit geringer Leistungsaufnahme initialisiert.
-
Anschließend wird
im Schritt 240 der RAM-Speicher 140 initialisiert.
Dies kann beinhalten, dass im Schritt 250 bestimmt wird,
ob die im Schritt 210 erkannte Initialisierungsbedingung
ein Neustart war. Falls der Initialisierungsprozess durch ein Neustartereignis
hervorgerufen wurde, wird ein gewisser Bereich des RAM-Speichers 140 nicht
initialisiert. Dieser Teil des Speichers kann der Korrektursoftwarespeicherbereich
sein. Die Neustart-Zustandsinformation
sowie der Beginn und das Ende des Korrektursoftwarespeichers können von
einem AP-Aufruf in einer Korrektursoftware-API bereitgestellt werden.
Neben der Korrektursoftwarespeicherhandhabung wird keine weitere
Unterscheidung in dem Initialisierungsprozess der vorliegenden Ausführungsform
zwischen einem Rücksetzen
oder einem Neustart getroffen. In anderen Ausführungsformen kann der Speicherinitialisierungsschritt 240 einen
optionalen Speichertestlauf umfassen.
-
Im
Schritt 270 kann das initialisierte Datensegment von dem
ROM (Nur-Lesespeicher) in den geeigneten RAM-Bereich kopiert werden.
Der nicht initialisierte Datenbereich in dem RAM-Speicher 140 kann
im Schritt 280 zurückgesetzt
werden, d. h. auf Null gesetzt werden. Adressen für diese
Bereiche können
aus Konstanten entnommen werden, die während der Verbindungszeit definiert
werden. Wie zuvor erwähnt
ist, wird, wenn in den Schritten 210 und 250 ein
Neustart erkannt wird, der Bereich des RAM-Speichers 140,
der für
den Korrektursoftwaremechanismus reserviert ist, bei der Verarbeitung
in den Schritten 270 und 280 der vorliegenden
Ausführungsform
ausgeschlossen.
-
Sobald
der Initialisierungsprozess abgeschlossen ist, geht die WWAN-Kommunikationseinrichtung 110 zur
Anlaufphasenverarbeitung weiter, die nunmehr mit Bezug zu den 3 bis 5 erläutert wird.
Gemäß der vorliegenden
Ausführungsform
bezeichnet der Begriff „Anlauf" die Gesamtheit der
Softwareaktivitäten,
die notwendig sind, um eine Betriebsumgebung für die (beispielsweise EGPRS:
verbesserter allgemeiner Paketfunkservice) Telekommunikationsprotokollstapelsoftware
bereitzustellen, die die Hauptfunktion des Kommunikationsprozessors 120 repräsentiert.
-
Wie
in 3 gezeigt ist, beginnt die Anlaufphasenverarbeitung
im Schritt 310, indem eine RTOS-Kernel-Initialisierungsfunktion
aufgerufen wird. Das RTOS kann dann initialisiert werden und es werden
alle notwendigen Aufgaben gestartet.
-
Anschließend wird
eine Reihe von Prozessen 330 bis 380 parallel
ausgeführt.
Die Prozesse, die die EP-Anlaufphase gemäß der vorliegenden Ausführungsform
ausmachen, werden im Wesentlichen durch GKI- (generische Kernel-Schnittstellen) Signale
gesteuert. Diese Signale sind bewusst asynchron und besitzen keine
implizite Reihenfolge. Die Reihenfolge von Signalen, die zum Abschluss
einer erfolgreichen EP-Anlaufphase erforderlich sind, kann beispielsweise
der Verantwortung des Anwendungsprozesses 130 unterliegen,
oder kann die Reihenfolge sein, in der diese in den NVRAM-Speicher 140 eingespeist
werden.
-
Im
Schritt 330 werden EP-Systemaufgaben ausgeführt. Gemäß der vorliegenden
Ausführungsform
wird die EP-Systemaufgabe 330 implementiert, um die Anlaufphase
zu koordinieren. Die EP-Systemaufgabe 330 kann für das Verarbeiten
der Korrektursoftwaresignale, die in dem NVRAM-Speicher 140 enthalten
sind, sowie die, die von dem Anwendungsprozessor 130 empfangen
werden, zu verarbeiten. Alle notwendigen Anlaufphasen-Handschlagprozeduren
zusammen mit der benötigten
Zustandsmaschine können
mittels der EP-Systemaufgabe 330 erreicht werden.
-
Neustartanforderungen,
die sich aus den Korrektursoftware, die einen Neustart erfordern,
oder aus anderen Ereignissen, beispielsweise einer frühen Warnung
eines „Wachhund"-Zeitgebers, etc resultieren, werden
hier prozessiert. Die Neustarthandhabung kann die Handschlagroutine
mit dem Anwendungsprozessor 130 beinhalten, um die Prozesszustandsänderung
des eingebetteten Prozessors 120 anzuzeigen. Nachdem alle
erforderlichen Anlaufphasen-Einstellungs-/Handschlag-Prozeduren
erfolgreich beendet sind, kann der (EGPRS) Telekommunikationsstapel
initialisiert werden. Schließlich
zeigt die EP-Systemaufgabe 330 dem
Anwendungsprozessor 130 an, dass diese für die Kommunikation
bereit ist. Die von den AP- und EP-Systemaufgaben gemäß der vorliegenden
Ausführungsform
ausgeführten Nachrichten,
Handschlagprozeduren, etc. werden nachfolgend mit Bezug zu den 4 und 5 detaillierter beschrieben.
-
Die
Anlaufphase der Ebene 1- (L1) Module der WWAN-Kommunikationseinrichtung 110 kann mittels
einer L1-Hintergrundaufgabe erreicht werden. Um Konfigurationsdaten
von Korrektursoftwaresignalen für
die L1-Module anzuwenden, kann die L1-Hintergrundaufgabe ihre Anlaufphase
unterbrechen, bis diese ein Initialisierungssignal von der EP-Systemaufgabe 330 erhält. Dazu
kann die L1 Hintergrundaufgabe im Schritt 340 warten, bis
dieses Initialisierungssignal empfangen wird. Sobald dies der Fall
ist, wird die Anlaufphase der L1-Module im Schritt 350 fortgesetzt.
Obwohl dies In 3 nicht gezeigt ist, kann ein
Teil der Initialisierung des L1-Moduls in einigen Ausführungsformen
bereits vor dem Schritt 340 ausgeführt worden sein.
-
Um
den Austausch von Signalen zwischen dem eingebetteten Prozessor 120 und
dem Anwendungsprozessor 130 zu steuern, kann die WWAN-Kommunikationseinrichtung 110 einen IMOL-
(Intramodemverbindungs-) Treiber enthalten. Der IMOL-Treiber erfordert
unter Umständen,
dass einige der in dem NVRAM-Speicher 140 gehaltenen Werte
initialisiert werden, bevor der Treiber richtig funktionieren kann.
Die Werte in dem NVRAM-Speicher 140 können als Korrektursoftwaresignale
durch die EP-Systemaufgabe 330 wiedergewonnen werden. Um
ein Anlaufen des IMOL-Treibers ohne diese Werte zu verhindern, wird
die EP-Systemaufgabe 330 der vorliegenden Ausführungsform
so definiert, dass diese eine höhere
Priorität
als EMMI- (verbesserte Mensch-Maschine-Schnittstelle) Aufgabe besitzt,
die den IMOL-Treiber startet. Gemäß der Ausführungsform gibt die EP-Systemaufgabe 330 die Steuerung
nicht an das Betriebssystem zurück,
bis alle Signale aus den NVRAM-Speicher 140 gewonnen
sind.
-
Beim
Zurückgeben
der Ausführungsaktivität an das
Betriebssystem wartet die EP-Systemaufgabe
auf das EMMI-Bereitindikationssignal. Dies stellt eine geeignete
IMOL-Startphase
sicher, wobei möglicherweise
Korrekturdaten für
die IMOL-Startphase enthalten sind, die von einer Korrektursoftware
aus dem NVRAM zugeführt
werden. Bei Erhalt des EMMI-Fertigindikationssignals können Signale
an den AP gesendet werden.
-
Der
EMMI-Stapel kann durch zwei Aufgaben bereitgestellt werden, wovon
eine mit hoher Priorität zur
Handhabung mit Hardwareeinheiten und eine mit geringer Priorität zur Kommunikation
mit dem Rest der Software ausgestattet ist. Die EMMI-Aufgaben können von
der GKI-Signalhandhabung verwendet werden, wenn entschieden wird,
dass ein GKI-Signal aus
dem System herausgeleitet werden muss. Gemäß der Ausführungsform werden die EMMI-Aufgaben
durch eine oder mehrere serielle Einrichtungen abgearbeitet, wodurch
eine Verbindung zur Außenwelt
hergestellt wird. Diese seriellen Einrichtungen können mittels
einer Schnittstelle, die als SPAL (Abstraktionsschicht für seriellen
Anschluss) Schnittstelle bekannt ist, betrieben werden. Sowohl die
IMOL als auch die Feld/Fehlererkennungs-UART (universeller asynchroner Empfänger/Sender)
können
als SPAL-Einrchtungen eingerichtet sein. Ein Schaltmechanismus in
der WWAN-Kommunikationseinrichtung 110 kann eine Signalführung von
GKI-Nachrichten zu/von der geeigneten Schnittstelle ermöglichen.
-
Sobald
die EMMI-Aufgaben im Schritt 370 initialisiert sind, wird
der IMOL-Treiber automatisch im Schritt 380 gestartet.
Die Konfiguration der IMOL-Hardwareverbindung gemäß der Ausführungsform
hängt von
den Daten ab, die aus dem NVARM-Speicher 140 wiedergewonnen
werden müssen.
Da der Anlaufprozess im Schritt 360 wartet, bis die EP-Systemaufgabe 330 aufgerufen
kann, kann der IMOL-Treiber im Schritt 380 gestartet werden.
-
In 4 ist
die AP-Systemaufgabe der vorliegenden Ausführungsform detaillierter gezeigt.
Die AP-Systemaufgabe kann die gleichrangige Aufgabe der EP-Systemaufgabe 330 in
dem Anwendungsprozessor 130 sein.
-
Im
Schritt 410 schaltet die AP-Systemaufgabe den Kommunikationsprozessor 130 ein.
Danach fragt die AP-Systemaufgabe ab, ob der Initialisierungsprozess
abgeschlossen ist. Dies kann bewerkstelligt werden, indem eine Abfrage über die
Korrektheit des Initialisierungsprozesses an den eingebetteten Prozessor 120 im
Schritt 430 gesendet wird, um herauszufinden, ob der eingebettete
Prozessor 120 den Initialisierungsprozess abgeschlossen
hat. Folglich wartet die AP-Systemaufgabe im Schritt 440,
bis ein entsprechendes „Initialisierung
beendet"-Signal von
dem eingebetteten Prozessor 120 empfangen wird, das anzeigt,
dass der Kommunikationsprozessor 120 den Initialisierungsprozess
beendet hat. Wenn das „Initialisierung
beendet"-Signal
nicht empfangen wird, wird im Schritt 430 die Anfrage über die Korrektheit
der Initialisierung nochmals gesendet.
-
Sobald
die AP-Systemaufgabe das „Initialisierung
beendet"-Signal
von dem eingebetteten Prozessor 120 empfangen hat, wartet
sie im Schritt 450 auf ein „Korrektursoftware bereit"-Signal von dem eingebetteten Prozessor 120,
das anzeigt, dass der eingebettete Prozessor 120 die NVRAM-Verarbeitung
beendet hat und bereit ist, Korrektursoftwareroutinen von dem Anwendungsprozessor 130 zu
verarbeiten.
-
Sobald
der eingebettete Prozessor 120 mit dem „Initialisierung beendet"-Signal auf die Anfrage über die
Korrektheit des Initialisierungsprozesses geantwortet hat, das „Korrektursoftware
bereit"-Signal gesendet
hat, kann die AP-Systemaufgabe eine Korrektursoftware zu dem eingebetteten
Prozessor 120 im Schritt 460 senden. Im Schritt 470 wird
bestimmt, ob alle Korrektursoftwareroutinen zu dem eingebetteten
Prozessor 120 gesendet sind. Wenn dies nicht der Fall ist,
kehrt die AP-Systemaufgabe zum Schritt 460 zurück, um eine
weitere Korrektursoftware zu dem Kommunikationsprozessor 120 zu
senden.
-
Gemäß der vorliegenden
Ausführungsform werden
ebenso im Schritt 460 Funkkalibrationsdaten gesendet, obwohl
dies lediglich ein spezielles Korrektursoftwaresignal ist. Die AP-Systemaufgabe kann über die
korrekte Reihenfolge dieser Korrektursoftwareroutinen informiert
sein, da der eingebettete Prozessor 120 die Korrektursoftwareroutinen
in der Reihenfolge erfüllen
kann, in der sie gesendet werden. Der Anwendungsprozessor 130 kann
ausgebildet sein, den aktuellen Status der Vollständigkeit
der Korrektursoftwareverarbeitung im eingebetteten Prozessor 120 abzufragen.
Um den Status der Korrektursoftwareverarbeitung des eingebetteten
Prozessors 120 herauszufinden, kann der Anwendungsprozessor 130 eine
entsprechende Statusabfrage zu dem eingebetteten Prozessor 120 senden
(in 4 nicht gezeigt). Insbesondere unterhält das Korrektursoftwaresystem
der vorliegenden Ausführungsform eine
Liste der installierten Korrektursoftwareroutinen. Diese Liste kann
während
einer Anlaufphase beibehalten werden. Durch Senden des Anforderungssignals
für die
Identifizierung (ID) installierter Korrektursoftwareroutinen kann
der Anwendungsprozessor 130 diese Liste anfordern. Daraufhin
kann ein Statusantwortsignal von dem eingebetteten Prozessor 120 zu
dem Anwendungsprozessor 130 gesendet werden, um den Status
der Korrektursoftwareverarbeitung des eingebetteten Prozessors 120 als
Reaktion auf die Statusabfrage anzuzeigen.
-
Der
Anwendungsprozessor 130 kann ferner Information über installierte
Korrektursoftwareroutinen erhalten, indem ein Anforderungssignal
zur Erkennung installierter Korrektursoftwareroutinen (in 4 nicht
gezeigt) zu dem eingebetteten Prozessor 120 gesendet wird.
In Reaktion darauf kann der Kommunikationsprozessor 120 Information über angewendete Korrektursoftwareroutinen,
beispielsweise die entsprechenden ID, zu dem Anwendungsprozessor 130 weiterleiten.
-
Sobald
der Schritt 470 ergibt, dass alle Korrektursoftwareroutinen
gesendet sind, kann der Anwendungsprozessor 130 das Ende
der Korrekturverarbeitung anzeigen, indem ein Korrektursoftware-Ende-Signal
zu dem eingebetteten Prozessor 120 im Schritt 480 gesendet
wird.
-
Wenn
während
einer beliebigen Zeit der Verarbeitung ein Fehler erkannt wird,
kann der Anwendungsprozessor 130 der Ausführungsform
einen Neustart anfordern. Dazu kann der Anwendungsprozessor 130 den
eingebetteten Prozessor 120 zu einem Neustart zwingen,
indem ein Anforderungssignal für
eine erneute Initialisierung (in 4 nicht
gezeigt) zu dem eingebetteten Prozessor 120 gesendet wird.
Somit kann der Schritt 210 dann ergeben, dass eine Initialisierungsbedingung
erfüllt
ist. Der Ablauf kann dann zum Schritt 220 zum Initialisieren
der CPU weitergehen, wobei die weitere Abarbeitung berücksichtigt
wird, dass die Initialisierungsbedingung ein Neustart war. Wenn
die Neuinitialisierung intern in dem eingebetteten Prozessor 120 angefordert
wird, beispielsweise durch einen Warninterrupt eines „Wachhund"-Zeitgebers, kann
der eingebettete Prozessor einen bevorstehenden Neustart anzeigen,
indem dem Anwendungsprozessor 130 ein Neustartindikatorsignal
gesendet wird, auf das der Anwendungsprozessor 130 mit
einem Neustartbestätigungssignal
antworten kann (in 4 nicht gezeigt). Dadurch kann
der Anwendungsprozessor 130 dem eingebetteten Prozessor 130 anzeigen,
dass er die Neuinitialisierungsanforderung des eingebetteten Prozessors 120 akzeptiert
hat.
-
Nachdem
die Korrektursoftwareabarbeitung beendet ist, kann der Anwendungsprozessor 130 ein L1-Initialisierungsanforderungssignal
an den Prozessor 120 im Schritt 490 senden. Die
Schritte 430 bis 490 können ein Teil der EP-AP-Handschlagprozedur 420 sein.
-
In
den 5a und 5b ist
die EP-Systemaufgabe 330 in detaillierterer Weise gezeigt.
Gemäß der Ausführungsform
steuert die EP-Systemaufgabe 330 die EP-spezifische Systeminitialisierung. Dies
wird bewerkstelligt auf der Grundlage von Signalen, die für gewöhnlich von
dem Anwendungsprozessor 130 empfangen werden, wie dies
zuvor mit Bezug zu 4 erläutert ist. Beim Starten der
Aufgabe wird im Schritt 500 überprüft, ob der aktuelle Prozess
ein Neustart ist oder nicht. Wenn ein Neustart vorliegt, wird keine
NVRAM- Verarbeitung
ausgeführt und
die EP-Systemaufgabe 330 geht direkt zu den Schritten 550, 545 und 575 zur
Installierung von Korrektursoftwareroutinen von dem Anwendungsprozessor 130.
-
Ansonsten
kann die Korrektursoftware- und SPS- (sicheres Korrektursoftwaresystem)
Initialisierungsfunktion im Schritt 505 aufgerufen werden.
Danach können
Korrektursoftwareroutinen von dem NVRAM-Speicher 140 im
Schritt 510 eingeladen werden.
-
Insbesondere
kann im Schritt 515 der NVRAM-Speicher 140 inspiziert
werden. Ein Bereich des NVRAM-Speichers 140 der Ausführungsform
ist für
Korrektursoftwaresignale der EP-Systemaufgabe reserviert.
Wenn im Schritt 520 bestimmt wird, dass in diesem Bereich
Korrektursoftwaresignale gespeichert sind, die noch nicht von der
EP-Systemaufgabe 330 installiert wurden, können diese
Signale aus dem NVRAM-Speicher 140 im Schritt 525 abgerufen
werden. Gemäß der Ausführungsform
sind die Signale in dem NVRAM-Speicher 140 genau die gleichen GKI-Korrektursoftwaresignale,
wie jene, die von dem Anwendungsprozessor 130 im Schritt 460 gesendet würden. Die
Signale können
nacheinander abgerufen werden und dann im Schritt 520 von
der EP-Systemaufgabe 330 abgearbeitet werden, wie dies
der Fall wäre,
wenn diese von dem Anwendungsprozessor 130 empfangen würden. Dieser
Mechanismus ermöglicht
es dem eingebetteten Prozessor 120, eine eigene Aktualisierung
der Korrektursoftware vorzunehmen, bevor ein Eingriff von dem Anwendungsprozessor 130 stattfindet.
-
Wenn
ein Neustart erforderlich ist, um eine gewisse NVRAM-Korrektursoftware
anzuwenden, kann dies im Schritt 535 erkannt werden. Die EP-Systemaufgabe 330 kann
dann verworfen werden, und es wird ein Neustart im Schritt 540 ausgeführt. Gemäß der vorliegenden
Ausführungsform
bedeutet das Ausführen
eines Neustarts im Allgemeinen, dass im Schritt 120 eine
Initialisierungsbedingung erkannt wird, die dazu führt, dass
die CPU im Schritt 220 initialisiert wird, wie dies zuvor
mit Bezug zu 2 beschrieben ist. Wie im Zusammenhang
im Schritt 500 erläutert
ist, kann die NVRAM-Signalabrufung nach einem Neustartsignal ausgeführt werden.
Dies verhindert eine Schleife, falls ein Neustartsignal in dem NVRAM-Speicher 140 eingebettet
sein sollte.
-
Wenn
im Schritt 535 bestimmt wird, dass ein Neustart nicht erforderlich
ist, kann zum Schritt 520 zurückgekehrt werden, um zu bestimmen,
ob weiterhin ein Korrektursoftware signal in dem NVRAM-Speicher 140 noch
nicht von der EP-Systemaufgabe 330 abgearbeitet ist. Wenn
dies nicht der Fall ist, d. h. wenn der eingebettete Prozessor 120 die
NVRAM-Verarbeitung 510 abgeschlossen
hat und damit für
die Abarbeitung von Korrektursoftwareroutinen von dem Anwendungsprozessor 130 bereit
ist, kann die Anlaufphasenverarbeitung im Schritt 550 ausgesetzt
werden, bis ein Bereit-Signal von dem EMMI-Stapel empfangen wird,
das anzeigt, dass der EMMI-Stapel verfügbar ist. Von diesem Zeitpunkt
an können
GKI-Signale gemäß der Ausführungsform
für die
Kommunikation verwendet werden. Das Bereit-Signal kann von der EMMI-Aufgabe
mit geringer Priorität
empfangen und im Schritt 550 erfasst werden.
-
Sobald
der Empfang des Bereit-Signals von dem EMMI-Stapel erkannt ist,
wird bestimmt, ob dies ein Neustart ist oder nicht. Wenn dies der
Fall ist, geht der Prozess weiter zu den Schritten 545 und 575.
Wenn nicht, wird der „Wachhund"-Zeitgeber im Schritt 555 initialisiert.
In anderen Ausführungsformen
kann die EP-Systemaufgabe 330 ferner eine Handschlagprozedur
für den „Wachhund"-Zeitgeber beinhalten
(in 5 nicht vollständig gezeigt), die nach dem
Schritt 550 ausgeführt
werden kann. Dadurch kann bestimmt werden, ob der aktuelle Anlauf durch
ein Zurücksetzen
des „Wachhund"-Zeitgebers hervorgerufen
wurde. In diesem Falle kann die Zustandsmaschine des Anwendungsprozessors 130 zurückgesetzt
werden. Dazu kann der Kommunikationsprozessor 120 eine
Anforderung für
das Zurücksetzen
des „Wachhund"-Zeitgebers zu dem
Anwendungsprozessor 130 senden und diese Schleife beim Empfang
einer Bestätigung
des Zurücksetzens
des „Wachhund"-Zeitgebers beenden. Schließlich kann der „Wachhund"-Zeitgeber initialisiert
werden, wenn das Sicherheitsattribut aktiviert ist (wird über einen Anschluss „Sicherheitsattribut
deaktiviert" bestimmt), wie
dies im Schritt 555 gezeigt ist.
-
Im
Schritt 560 wird die EP-seitige EP-AP-Handschlagprozedur
ausgeführt.
Zunächst wird
im Schritt 565 bestimmt, ob eine Anfrage über die
Korrektheit der Initialisierung von dem Anwendungsprozessor 130 empfangen
wurde. Dies ist der Fall, wenn die AP-Systemaufgabe die Anfrage über die
Korrektheit über
die Initialisierung im Schritt 430 gesendet hat. Sodann
kann auf die Anfrage über
die Korrektheit der Initialisierung im Schritt 570 geantwortet
werden, indem ein „Initialisierung
beendet"-Signal
an den Anwendungsprozessor 130 gesendet wird. Dieses Signal
kann ebenso den Zustand des Sicherheitsanschlusses als Parameter
enthalten.
-
Des
Weiteren kann ein „Korrektursoftware bereit"-Signal zu dem Anwendungsprozessor 130 im Schritt 545 gesendet
werden. Dies kann die AP- und EP-Systemaufgaben synchronisieren,
da, wie zuvor mit Bezug zu 4 erläutert ist,
die AP-Systemaufgabe im Schritt 450 wartet, bis das „Korrektursoftware
bereit"-Signal des
eingebetteten Prozessors 130 empfangen wird.
-
Daraufhin
können
Korrektursoftwareroutinen von dem Anwendungsprozessor 130 im
Schritt 575 verarbeitet werden. Da die Korrektursoftwareroutinen eine
oder mehrere digitale Signaturen enthalten können, kann die Verarbeitung
einer Korrektursoftware das Verifizieren der Signaturen beinhalten,
und, wenn die Signaturen korrekt sind, das Installieren der Korrektursoftware.
Wenn eine Korrektursoftware für eine
Funktion oder Daten vorgesehen ist, die bereits verwendet sind,
beispielsweise als Teil der Systeminitialisierung oder eingerichteter
Kommunikationsprozesse, muss die Software ggf. neu gestartet werden. Die
Entscheidung, ob eine spezielle Korrektursoftware einen Neustart
erfordert oder nicht, kann getroffen werden zur Zeit der Erstellung
der Korrektursoftware. Die EP-Systemaufgabe 330 kann eine
Anzeige für das
Erfordernis eines Neustarts von der Korrektursoftware API über einen
Korrektursoftware API-Aufruf erhalten.
-
Des
weiteren erkennt der eingebettete Prozessor 120 die oben
erläuterten „Korrektursoftwarestatus"-Abfragen und die
Abfragen hinsichtlich der installierten Korrektursoftware-ID von
dem Anwendungsprozessor 130 und beantwortet diese, und/oder
er kann Fehlersignale oder Neuinitialisierungsanforderungen zu dem
Anwendungsprozessor 130 senden, wenn ein Fehler aufgetreten
ist, oder wenn eine Neuinitialisierung angefordert wird (diese Schritte
sind in 5 nicht gezeigt). Es können weitere
Signale zwischen dem EP-Prozessor 130 und dem AP-Prozessor 130 ausgetauscht
werden, die sich beispielsweise auf das Umschalten in einen Flugmodus
oder das Zurücksetzen
des „Wachhund"-Zeitgebers beziehen.
Des weiteren können der
EP-Prozessor und/oder AP-Prozessor 120, 130 mit
anderen Komponenten der WWAN-Kommunikationseinrichtung 110 kommunizieren.
-
Die
Korrektursoftwareverarbeitung kann von dem Anwendungsprozessor 130 beendet
werden, indem ein Korrektursoftware-Ende-Signal zu dem eingebetteten
Prozessor 120 im Schritt 480 gesendet wird. Sobald
das Signal erhalten wird, kann dies von dem eingebetteten Prozessor 120 im
Schritt 580 erkannt werden. Wenn das Signal nicht empfangen wird, kann
eine weitere Korrektursoftware durch den Anwendungsprozessor 130 im
Schritt 460 gesendet werden, die dann von dem EP-Prozessor 120 im Schritt 575 installiert
wird.
-
Andernfalls
kann im Schritt 585 bestimmt werden, ob der Anwendungsprozessor 130 die
Initialisierung der L1-Module initiiert hat, indem die Initialisierungsanforderung
im Schritt 490 gesendet wird. Wenn dies der Fall ist, kann
eine L1-Initialisierungsanforderungsbestätigung im
Schritt 590 an den Anwendungsprozessor 130 zurückgesendet
werden. Danach kann die EP-Systemaufgabe 330 ein Initialisierungssignal
zu der L1-Hintergrundaufgabe im Schritt 595 senden, woraufhin
der Start der L1-Module im Schritt 350 fortgesetzt werden
kann.
-
Schließlich kann
die EP-Systemaufgabe 330 zu der AP-Systemaufgabe ein Kommunikationsstapel-Bereit-Signal
senden, um anzuzeigen, dass der eingebettete Prozessor 120 alle
Anlauf- bzw. Startaktivitäten
beendet hat und nunmehr für
die EGPRS-Kommunikation (in 5 nicht
gezeigt) bereit ist. Gemäß der Ausführungsform
können
nun Kommunikationsaktivitäten
beginnen.
-
Die
EP-Systemaufgabe 330 kann ferner das Senden eines Fehlersignals
(in 5 nicht gezeigt) zu der AP-Systemaufgabe
zu jeder beliebigen Zeit umfassen, um damit anzuzeigen, dass ein
Fehler aufgetreten ist, während
ein Signal von der EP-Systemaufgabe 330 verarbeitet wurde.
Ferner kann die EP-Systemaufgabe 330 ein Testsignal (im 5 nicht gezeigt) zu de AP-Systemaufgabe 330 in
einem beliebigen EP-Zustand senden, das durch eine entsprechende
Testantwort beantwortet wird.
-
Zu
beachten ist, dass die spezielle Abfolge der in der 2 bis 5 gezeigten Schritte lediglich anschaulich
ist und nicht als Einschränkung
der Erfindung zu verstehen ist. In anderen Ausführungsformen können Schritte
in unterschiedlicher Reihenfolge ausgeführt werden. Beispielsweise
kann die AP-Systemaufgabe bestimmen, ob das „Korrektursoftware bereit"-Signal von dem eingebetteten Prozessor 120 gesendet
wurde (Schritt 450), bevor eine Abfrage über die
Korrektheit der Initialisierung an den eingebetteten Prozessor 120 im
Schritt 430 gesendet wird. Ferner kann der Schritt 545 zum
Senden des „Korrektursoftware
bereit"-Signals zu dem Anwendungsprozessor 130 bis
nach dem Schritt 555 zum Initialisieren des „Wachhund"-Zeitgebers aufgeschoben
werden, oder kann sogar nach den Schritt 570 zum Senden
des „Initialisierung
beendet"-Signal
an den Anwendungsprozessor 130 erfolgen.
-
Wie
aus der obigen Beschreibung der Ausführungsformen hervorgeht, wird
eine Technik zum sicheren Installieren von Korrektursoftwareroutinen in
einem Software aktualisierbarem System bereitgestellt. Die Anwendung
einer Korrektursoftware kann betrieben werden, um Angreifer davon
abzuhalten, das Einladen von Korrektursoftwareroutinen abzublocken.
Der Gesamtprozess kann mittels einer Initialisierungs- und Anlaufzustandsmaschine
bewerkstelligt werden. Diese Zustandsmaschine kann das Initialisieren
(Einschalten der CPU) und das Anlaufen bzw. Starten (Softwarestart
des Systems) steuern. In diese Zustandsmaschine kann ein Korrektursoftwaresystem
integriert sein, das seinen Zustand der Inititialisierungs- und
Anlaufaufgaben mitteilen kann. Obwohl die Ausführungsformen im Zusammenhang mit
einer WWAN-Kommunikationseinrichtung 110 erläutert sind,
kann die zu Grunde liegende Technik beispielsweise im Zusammenhang
mit einer beliebigen Software für
eingebettete Systeme, Kommunikationsplattformen oder Software für teilweise
vertrauenswürdige,
teilweise nicht vertrauenswürdige
Plattformen verwendet werden.
-
Zu
beachten ist, dass in einer Ausführungsform
der Begriff Neuinitialisierung sich auf einen „Kaltstart" mit vollständigen Initialisierungszyklen
beziehen kann, worin jene mit eingeschlossen sind, die sich auf
den Korrektursoftwarespeicher, den NVRAM-Prozess, die Initialisierungshandschlagprozedur,
etc. beziehen. Der Begriff Neustart kann dann einen „Warmstart" bezeichnen, um den
Neustartzustand zu bewerten, um damit die Korrektursoftwarespeicherinitialisierung,
die NVRAM-Verarbeitung, die InitialisierungsHandschlagprozedur,
etc. auszuschließen.
-
Ferner
ist zu beachten, dass in jeder der zuvor beschriebenen Ausführungsformen
Korrektursoftwareroutinen aus dem NVRAM 140 eingeladen werden
können,
bevor Korrektursoftwareroutinen aus dem Anwendungsprozessor 120 geladen
werden.
-
Obwohl
die Erfindung im Hinblick auf die physikalischen Ausführungsformen
beschrieben ist, die entsprechend aufgebaut sind, erkennt der Fachmann,
dass diverse Modifizierungen, Variationen und Verbesserungen der
vorliegenden Erfindung im Lichte der obigen Lehre innerhalb des
Bereichs der angefügten
Patentansprüche
durchgeführt
werden können,
ohne von dem Schutzbereich der Erfindung abzuweichen. Ferner sind
jene Bereiche, von denen angenommen wird, dass der Fachmann damit
vertraut ist, hierin nicht beschrieben, um nicht unnötig die
Erfindung zu verdunkeln. Selbstverständlich ist die Erfindung nicht
auf die speziellen anschaulichen Ausführungsformen einschränken, sondern
ist nur durch den Bereich der angefügten Patentansprüche definiert.
-
1
- 110
- WWAN-Kommunikationseinrichtung
- 120
- eingebetteter
Prozessor Handschlagprozedur
- 130
- Anwendungsprozessor
Korrektursoftwareroutinen
-
2
-
Initialisierung
- 210
- Initialisierungsbedingung?
- 220
- Initialisierung
der CPU
- 230
- Initialisierung
der Peripherieeinheiten
- 240
- Initialisierung
des Speichers
- 250
- Neustart
- 260
- Nichtberücksichtigen
des Korrektursoftwarespeicherbereichs bei der Initialisierung
- 270
- Festlegen
der initialisierten Daten
- 280
- Zurücksetzen
von nicht initialisierten Daten
-
3
-
Anlaufphase
- 310
- Initialisierung
des RTOS
- 330
- Ausführen der
EP-Systemaufgabe
- 340
- Initialisierung
Signal empfangen?
- 360
- Alle
Signale NVRAM abgerufen?
- 350
- Fortsetzen
der Anlaufphase der L1-Module
- 370
- Initialisierung
der EMMI-Aufgaben
- 380
- Initialisierung
des IMOL-Treibers zurück
-
4
-
AP-Systemaufgabe
- 410
- Einschalten
der EP
- 420
- EP-AP-Handschlagprozedur
- 430
- Senden
der Abfrage für
korrekte Initialisierung an den EP
- 440
- „Initialisierung
beendet"-Signal
von EP empfangen?
- 450
- „Korrektursoftware
bereit"-Signal von
EP empfangen?
- 460
- Senden
einer Korrektursoftware an EP
- 470
- Alle
Korrektursoftwareroutinen an den EP gesendet?
- 480
- Senden
des Korrektursoftware-Ende-Signals an EP
- 490
- Senden
einer L1-Initialisierungsanforderung an EP zurück
-
5a
-
EP-Systemaufgabe
- 500
- Neustart?
- 505
- Aufrufen
der Korrektursoftware- und SPS-Initialisierungsfunktion
- 510
- Korrektursoftwareeinrufung
aus NVRAM
- 515
- Inspizieren
des NVRAM
- 520
- Korrektursoftwaresignal
NVRAM?
- 525
- Abrufen
des Korrektursoftwaresignals von NVRAM
- 530
- Verarbeiten
des Korrektursoftwaresignals
- 535
- Neustart
erforderlich?
- 545
- Ausführen des
Neustarts
- 550
- „Bereit "Signal von EMMI-Stapel
empfangen? Neustartzustand
-
5b
- 555
- Initialisierung-
und Zeitgebers
- 560
- EP-AP-Handschlagprozedur
- 565
- Frage über korrekte
Initialisierung von AP empfangen?
- 570
- Senden
des „Initialisierung
beendet"-Signals zu
AP?
- 545
- Senden
des „Korrektursoftware
bereit"-Signals
an AP
- 575
- Installieren
von Korrektursoftware von AP
- 580
- Korrektursoftware-Ende-Signal
von AP empfangen?
- 585
- L1-Initialisierungsanforderung
von AP empfangen?
- 590
- Senden
einer L1-Initialisienrungsanforderungsbestätigung an AP
- 595
- Senden
eines Initialisierungssignals an L1-Hintergrundaufgabe zurück