DE4331703C2 - Elektronische Einrichtung - Google Patents

Elektronische Einrichtung

Info

Publication number
DE4331703C2
DE4331703C2 DE4331703A DE4331703A DE4331703C2 DE 4331703 C2 DE4331703 C2 DE 4331703C2 DE 4331703 A DE4331703 A DE 4331703A DE 4331703 A DE4331703 A DE 4331703A DE 4331703 C2 DE4331703 C2 DE 4331703C2
Authority
DE
Germany
Prior art keywords
correction
address
storage device
correction content
data
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
DE4331703A
Other languages
English (en)
Other versions
DE4331703A1 (de
Inventor
Tomonari Sagane
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of DE4331703A1 publication Critical patent/DE4331703A1/de
Application granted granted Critical
Publication of DE4331703C2 publication Critical patent/DE4331703C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Microcomputers (AREA)

Description

Die Erfindung betrifft eine elektronische Einrichtung nach dem Oberbegriff des Patentanspruchs 1, insbesondere eine elektronische Einrichtung, bei der auf einem Einzelchip eine zentrale Verarbeitungseinheit (CPU), ein Nurlesespeicher (ROM), in dem Programme und Daten fest gespeichert sind, und ein Speicher mit wahlfreiem Zugriff (RAM) integriert sind, beispielsweise einen kundenorientierten Mikrocontroller.
Bislang enthalten Videobandrecorder mit eingebauter Kamera (als Camcorder bekannt) und ähnliche elektronische Geräte einen Mikrocontroller zur Steuerung aller oder eines Teils ihrer Funktionen, wobei der Mikrocontroller eine kundenorientierte LST- bzw. Großintegrations-Einzelchip- Elektronikeinrichtung ist. Diese Art Mikrocontroller ist ein kundenorientierter Mikrocomputer, der allgemein aus einer CPU, Speichern, wie beispielsweise ROM und RAM, und peripheren Schaltungen mit Eingangs/-Ausgangstoren gebildet ist.
Die CPU im Mikrocomputer wirkt als Adressencontroller zur Steuerung des Zugriffs zu den Speichern oder als Prozessor zum Ausführen von Programmen. Fest in dem ROM ist die Information als Firmware gespeichert, durch welche das elektronische Gerät, das den Mikrocomputer enthält, zu steuern ist. Der RAM bietet der CPU einen Arbeitsbereich und andere Erleichterungen zur Programmausführung. Die peripheren Schaltungen sind mit der Kommunikation mit der Außenseite befaßt. Die ROMs können, wenn sie beispielsweise als Masken-ROMs ausgebildet sind, die Kosten des elektronischen Geräts, in welchem diese Speicher enthalten sind, beträchtlich reduzieren.
Über die Jahre ist in den ROMs elektronischer Einrichtungen immer mehr Firmware gespeichert worden, um ihre Leistung zu vergrößern und um sie gegenüber Mitkonkurrenten auf dem Markt funktionell unterscheidbar zu machen. Äußerste Sorgfalt wird darauf verwandt, sicherzustellen, daß verbesserte Programmstrukturen und verschiedene Check-ups bzw. Endprüfungen aus der Firmware nach deren Aufnahme in massenproduzierten Mikrocontrollern Störungen oder Fehler heraushalten. Sollte in massenproduzierten Mikrocontrollern eine Störung oder ein Fehler erkannt werden, müssen deren verschlechternden Wirkungen durch Hinzufügung einer externen Schaltung zu den bestehenden Einrichtungen oder durch vollständige Ersetzung der defekten Einrichtungen durch fehler- bzw. störungsfreie massenproduzierte Mikrocontroller korrigiert werden. Solche Korrekturen benötigen Zeit, Geld und Verfügbarkeit von Menschen. Wenn bei elektronischen Einrichtungen hoher Packungsdichte, beispielsweise Camcordern, festgestellt wird, daß sie einen Fehler bzw. eine Störung aufweisen, ist es grundsätzlich unmöglich, die Störung bzw. den Fehler durch Hinzufügung einer externen Schaltung zu korrigieren, da nur wenig Freiraum besteht.
Aus der EP 458559 A2 ist ein Mikrocontroller bekannt, der alle Merkmale des Oberbegriffs des Patentanspruchs 1 offenbart.
Aufgabe der Erfindung ist es, eine elektronische Einrichtung anzugeben, mit welcher sich in ihrem Festdatenspeicher festgestellte Fehler nachträglich mittels von außen eingebbaren Korrekturdaten beheben bzw. umgehen lassen, wobei die Fehlerbehebung verhinderbar sein soll, um eine Korrektur mit fehlerhaften Korrekturdaten unterdrücken zu können.
Diese Aufgabe wird gemäß den Merkmalen des Patentanspruchs 1 gelöst. Die Erfindung wird durch die Merkmale der abhängigen Ansprüche weitergebildet.
Wenn während der Operation bzw. des Betriebs bei der Massenproduktionsstufe eine Störung in der Festspeichereinrichtung der elektronischen Einrichtung festgestellt wird, wird diese Störung oder dieser Fehler durch die Anwendung der Erfindung einfach durch Eingabe einer Korrekturadresse und eines Korrekturinhalts des Speichers umgangen. Um die Speicherung eines irrtümlich korrigierten Inhalts in der Korrekturinhalt-Speichereinrichtung zu verhindern, der einen Programmfortlauf auslösen würde, der verhindert, daß eine Steuerung zu einem Korrekturinhalt- Erneuerungsprogramm gelangt, stellt die Kontrolleinrichtung gemäß der Erfindung den Zustand, in welchem dieses Programm abläuft bzw. abzulaufen hat, wieder her.
Die Erfindung wird anhand der nachfolgenden Beschreibung anhand der Figuren beispielhaft näher erläutert. Es zeigen:
Fig. 1 ein Blockschaltbild eines ersten bevorzugten Ausführungsbeispiels der erfindungsgemäßen elektronischen Einrichtung,
Fig. 2 ein Flußdiagramm der Schritte, mit welchen das erste Aus­ führungsbeispiel arbeitet,
Fig. 3 ein Blockschaltbild eines zweiten bevorzugten Ausfüh­ rungsbeispiels der erfindungsgemäßen elektronischen Ein­ richtung, und
Fig. 4 ein Flugdiagramm der Schritte, mit welchen das zweite Ausführungsbeispiel arbeitet.
Erstes Ausführungsbeispiel
Nach Fig. 1 umfaßt die elektronische Einrichtung 1 eine CPU 2, einen ROM 3, einen RAM 4, einen Datenbus 5, einen Adressenbus 6, eine Zugriff-Schalteinrichtung 7, einen Komparator 8, ein eine Unterbrechung erzeugendes Adressenregister 9 und Kommunikations­ schaltungen 10 und 11. Die Kommunikationsschaltung 10 ist über eine Kommunikationsleitung 12 mit einem externen EPROM bzw. EEPROM 13 verbunden. Die Kommunikationsschaltung 11 ist über eine Kommu­ nikationsleitung 14 mit einem Befehlsgeber 15 verbunden.
Der EEPROM 13 (EPROM steht für lösch- und programmierbarer Fest­ wertspeicher) ist ein Externspeicher, der eine Korrekturadresse speichert, beispielsweise die Adresse oder Startadresse des zu korrigierenden Datenbereichs und eines Korrekturinhalts, bei­ spielsweise des auf einem gewünschten Datenbereich zu korrigieren­ den Inhalts, und die Adresse einer Stelle im ROM 3, zu der die Steuerung nach dem Absetzen zurückkehrt. Die Korrekturadresse und der Korrekturinhalt werden im folgenden gemeinsam als Korrekturda­ ten bezeichnet.
Die in dem EEPROM 13 gehaltene Korrekturadresse wird über die Kom­ munikationsleitung 12 und die Kommunikationsschaltung 10 sowie über den 8-Bit-Datenbus 5 in das eine Unterbrechung erzeugende Adressenregister 9 eingeschrieben. Auf ähnliche Weise wird der in dem EEPROM 13 gespeicherte Korrekturinhalt in den RAM 4 geschrieben. Die Schreiboperationen werden von einem Initialisierungs- bzw. Einleitungsprogrammlader (IPL) ausgeführt, der sich im ROM 3 befindet.
Der 16-Bit-Komparator 8 überwacht die Ausführungsadresse auf dem Adressenbus 6, und wenn die Ausführungsadresse mit der Korrekturadresse koinzidiert, gibt er ein Koinzidenzsignal E aus. Der Komparator 8 kann entweder durch Hardware oder durch Software implementiert sein.
Die einen Teil der Zugriff-Schalteinrichtung 7 bildende Steuersignal-Halteschaltung 7a ist eine Halteschaltung, die das Vorhandensein oder Fehlen eines in dem ROM 3 zu korrigierenden Datenbereichs anzeigt. Die Steuersignal- Halteschaltung 7a wird bei der Eingabe von Korrekturdaten auf "1" gesetzt, und auf "0" wenn keine solche Eingabe gemacht wird. Ein Schalter 7c wird geöffnet, wenn die Steuersignal- Halteschaltung 7a auf "0" gesetzt ist, und geschlossen, wenn die Halteschaltung 7a auf "1" gesetzt ist. Dies bewirkt, daß das Koinzidenzsignal E als ein Unterbrechungsanforde­ rungssignal in eine Unterbrechungssteuerschaltung 7d eintritt. Die durch die Unterbrechungssteuerschaltung 7d bewirkte Unterbrechungsausführung überträgt die Steuerung auf die durch ein Unterbrechungsvektorregister 7b gegebene Adresse. Die im RAM 4 gespeicherte Startadresse des Korrekturinhalts wird zum Zeitpunkt des Korrekturdatenschreibens im Unterbrechungsvektorregister 7b gehalten.
Der Korrekturinhalt im RAM 4 wird beispielsweise mit einem Sprungbefehl für einen Sprung zu einer den zu korrigierenden Datenbereich im ROM 3 überspringenden Adresse versehen. Der Befehl bringt die Steuerung vom RAM 4 zum ROM 3 zurück. Es sei darauf hingewiesen, daß die Rückkehr der Steuerung von der Unterbrechungsausführung nicht durch einen Rückkehrbefehl sondern durch den Sprungbefehl bewirkt wird, um den zu korrigierenden Datenbereich im RAM 4 zu überspringen. Das Springen bzw. Überspringen involviert beispielsweise ein Löschen von in Stapeln gesicherten Daten.
Der Befehlsgeber 15 ist eine Betätigungseinrichtung, durch welche Korrekturdaten zu schreiben oder erneuern sind. Der Befehlsgeber 15 umfaßt verschiedene Betätigungstasten und eine Anzeigeeinheit. Wenn durch den Befehlsgeber 15 ein Schreib- oder Erneuerungsbefehl eingegeben wird, wird dieser Befehl in die CPU 2 über die Kommunikationsleitung 14 und die Kommunikationsschaltung 11 sowie über den 8-Bit-Datenbus 5 eingegeben.
Beim Empfang des Befehls aus dem Befehlsgeber 15 sperrt die CPU 2 zwei Arten von Schreiboperationen: das Schreiben der Korrekturadresse aus dem EEPROM 13 in das Adressenregister 9 zur Erzeugung einer Unterbrechung und das Schreiben der Startadresse des Korrekturinhaltes im RAM 4 in das Unterbrechungsvektorregister 7b. Die CPU 2 setzt dann die Steuersignal-Halteschaltung 7a auf "0". Diese Operationen werden aus folgenden Gründen ausgeführt:
Wenn die in dem EEPROM 13 gespeicherten Korrekturdaten eine Störung oder einen Fehler enthalten, kann auf das Starten der Korrektur bzw. des Ausbesserns ein Programmfortlauf folgen, der es unmöglich macht, die Adressensteuerung zum ROM 3 zurückzubringen. In einem solchen Fall wird vorgeschlagen, daß eine korrekte Verarbeitung durch Erneuerung der Korrekturdaten in dem EEPROM 13 ausgeführt wird. Wo das Schreiben oder Erneuern der Korrekturdaten durch die Verwendung des Einleitungsprogrammladers im ROM 3 der elektronischen Einrichtung 1 zu bewirken ist, hält der obige Programmfortlauf die Steuerung davon ab, auf den Einleitungsprogrammlader überzugehen. Dies macht es unmöglich, die Korrekturdaten zu erneuern. Im Gegensatz dazu überspringen die obigen Operationen den Korrektur- bzw. Ausbesserungsprozeß, wobei der Einleitungsprogrammlader seine Steuerungsaufgabe ausführen kann.
Fig. 2 ist ein Flußdiagramm der Schritte, mit denen das erste Ausführungsbeispiel arbeitet. Wie das erste Ausführungsbeispiel arbeitet, wird nun unter Bezugnahme auf die Fig. 1 und 2 beschrieben. Bei der auf das Einschalten zur Energiezufuhr folgenden Initialisierung wartet der Einleitungsprogrammlader im ROM 3 auf einen Betriebszustand, bei dem zwischen dem Befehlsgeber 15 auf der einen Seite und der Kommunikationsleitung 14 und der Kommunikationsschaltung 11 auf der anderen Seite stabilisiert wird (Schritt S1 nach Fig. 2). Ob der Zustand stabil ist oder nicht, wird entweder durch eine Zählzeit auf einem Zeitgeber oder vom Signalaustausch zwischen dem Befehlsgeber 15 und der Kommunikationsschaltung 11 detektiert.
Dann wird geprüft, ob die Kommunikationsleitung 14 in einem sachgemäßen bzw. passenden Zustand ist (Schritt S2). Daß die Kommunikationsleitung 14 in dem sachgemäßen Zustand ist, bedeutet beispielsweise das Fehlen eines vom Befehlsgeber 15 zum Schreiben oder Erneuern der Korrekturdaten eingegebenen Schreib- oder Erneuerungsbefehls oder die Trennung des Befehlsgebers 15 von der elektronischen Einrichtung 1.
Wenn die Kommunikationsleitung 14 nicht in einem sachgemäßen Zustand ist, kommt die Verarbeitung durch den Einleitungsprogrammlader bzw. IPL zu einem Ende (Schritt S6). Obgleich in der Figur nicht gezeigt, wird die Steuerung auf ein Ausbesserungsdaten-Korrekturprogramm im ROM 3 übertragen, wenn bei diesem Schritt S2 festgestellt wird, daß ein Schreib- oder Erneuerungsbefehl vom Befehlsgeber 15 eingegeben wird. Wenn beim Schritt S2 festgestellt wird, daß der Befehlsgeber 15 von der elektronischen Einrichtung 1 getrennt ist, wird die Steuerung beispielsweise zu einem Programm zur Steuerung der Objektsteuerung (beispielsweise ein Servosystem des Camcorders) in dem in der elektronischen Einrichtung 1 enthalten elektronischen Equipment weitergegeben.
Wenn beim Schritt S2 festgestellt wird, daß die Kommunikationsleitung 14 in einem sachgemäßen Zustand ist, gibt der Einleitungsprogrammlader die Korrekturadresse aus den in dem EEPROM 13 gespeicherten Korrekturdaten in das Adressenregister 9 zur Unterbrechungserzeugung (Schritt S3). Der Einleitungsprogrammlader gibt dann die Startadresse des Korrekturinhalts in das Unterbrechungsvektorregister 7b (S4). Der Einleitungsprogrammlader schreibt ferner den Korrekturinhalt bei einer passenden Adresse in den RAM 4 und setzt die Steuerungssignal-Halteeinrichtung 7a auf "1" (Schritt S5). Dies vervollständigt die Verarbeitung durch den Einleitungsprogrammlader.
Der 16-Bit-Komparator 8 vergleicht die auf den Adressenbus 6 gegebene Ausführungsadresse mit der im Adressenregister 9 zur Unterbrechungserzeugung gehaltenen Korrekturadresse (Schritt S7). Wenn die beiden Adressen nicht koinzidieren, wird keine Unterbrechung erzeugt und es findet ein Zugriff auf den ROM 3 statt (Schritt S13). Wenn die beiden Adressen koinzidieren, führt der Komparator 8 der Unterbrechungssteuerschaltung 7d über den Schalter 7c ein Koinzidenzsignal E zu, wodurch eine Unterbrechung erzeugt wird (Schritt S8). Mit der erzeugten Unterbrechung wird die Steuerung an die in dem Unterbrechungsvektorregister 7b gehaltene Adresse weitergegeben, beispielsweise die Startadresse des Korrekturinhalts im RAM 4 (Schritt S9). Dies bewirkt, daß der in RAM 4 gespeicherte Inhalt (Programm) ausgeführt wird (Schritt S10).
Da eine Rückkehr der Steuerung von der Unterbrechung durch einen Sprungbefehl bewirkt wird, wird der Korrekturinhalt mit einem Befehl beendet, der (beim Schritt S11) zum Löschen der Rückkehradresse und anderer in den Stapeln sichergestellter Daten ausgeführt wird. Zuletzt wird der Sprungbefehl am Ende des Korrekturprogramms ausgeführt. Dieser bewirkt, daß die Steuerung an eine Adresse zurückgegeben wird, welche den zu korrigierenden Datenbereich im ROM 3 überspringt (Schritt S12). Der Komparator 8 fährt fort, die Adressen bei der Vorbereitung auf einen anderen Zugriff auf den zu korrigierenden Datenbereich zu vergleichen (Schritt S7).
Als Modifikation des ersten Ausführungsbeispiels können externe Schalter zum Rücksetzen der Steuersignal- Halteeinrichtung 7a und zum Eingeben einer Leeradresse in das Adressenregister 9 zur Unterbrechungserzeugung betätigt werden. Eine andere Modifikation liegt darin, daß eine Torschaltung oder ein Schalteranordnung vorgesehen ist, die die Ausgänge der Steuerungssignal-Halteeinrichtung 7a, des Komparators 8 und der Unterbrechungssteuerschaltung 7d extern ein- und ausgeschaltet werden können. Dieser Aufbau, wenn vorgesehen, eliminiert die Schritte 1, 2 und 6 in Fig. 2.
Eine weitere Modifikation liegt im Einschreiben der im EEPROM 13 gespeicherten Korrekturdaten in den RAM 4 vor dem Schritt S1 nach Fig. 2. Bei diesem Aufbau werden, wenn beim Schritt S2 festgestellt wird, daß die Kommunikationsleitung 14 in dem passenden Zustand ist, die in den RAM 4 geschriebene Korrekturadresse in das Adressenregister 9 zur Unterbrechungserzeugung gegeben und die Startadresse des zu korrigierenden Datenbereichs in das Unterbrechungsvektor- Register 7b gegeben.
Weitere Modifikationen sind möglich. Wenn der ROM 3 mehrere zu korrigierende Störungen oder Fehler enthält, kann auf den Schritt S10 nach Fig. 2 für jeden Fehler ein Schritt zum Erneuern des Adressenregisters 9 zur Unterbrechungserzeugung und des Unterbrechungsvektorregisters 7b folgen, um auf die nächste Korrekturadresse bzw. die Startadresse des nächsten Korrekturinhalts zu reflektieren.
Der Schalter 7c in Fig. 1 kann entfernt sein und anstelle dessen kann die Steuerungssignal-Halteschaltung 7a zum Ein- und Ausschalten des Komparators 8 benutzt werden. Darüber hinaus können die Steuerungssignal-Halteeinrichtung 7a und der Schalter 7c entfernt sein, und wenn der ROM 3 keinen zu korrigierenden Datenbereich enthält, kann eine Leeradresse in das Adressenregister 9 zur Unterbrechungserzeugung gegeben sein. In der Fig. 1 kann der EEPROM 13 innerhalb der elektronischen Einrichtung 1 vorgesehen und ein EEPROM- Schreiber kann mit der Kommunikationsleitung 12 verbunden sein. Mit dem in dem EEPROM 13 gespeicherten Korrekturdaten können Daten in einer veränderbaren Weise innerhalb der elektronischen Einrichtung 1 vorhanden sein.
Zweites Ausführungsbeispiel
Fig. 3 ist ein Blockschaltbild des zweiten Ausführungsbeispiels der Erfindung. In den Fig. 3 und 1 bezeichnen gleiche Bezugszeichen gleiche oder korrespondierende Teile und eine wiederho­ lende Beschreibung dieser Teile in Fig. 3 wird nicht gegeben.
Ein Korrekturadressenregister 21 nimmt zeitweilig eine Korrektu­ radresse, beispielsweise eine zu korrigierende Einwort-Adresse im ROM 3 auf. Ein Korrekturdatenregister 22 speichert zeitweilig Ein­ wort-Daten, die zu korrigieren sind. Ein Schalter 23 wird dazu be­ nutzt, entweder die Ausgabe von Daten aus dem ROM 3 auf den Daten­ bus 5 oder die Ausgabe von Korrekturdaten aus dem Korrektur­ datenregister 22 auszuwählen.
Fig. 4 ist ein Flußdiagramm, das zeigt, wie das zweite Ausfüh­ rungsbeispiel der Erfindung arbeitet. Wie das zweite Ausführungs­ beispiel arbeitet, wird nun unter Bezugnahme auf die Fig. 3 und 4 beschrieben. Bei der auf das Einschalten zur Energiezufuhr fol­ genden Initialisierung wartet der Einleitungsprogrammlader im ROM 3 auf den Betriebszustand zum Stabilisieren zwischen dem Befehls­ geber 15 einerseits und der Kommunikationsleitung 14 und Kommuni­ kationsschaltung 11 andererseits (Schritt S21) nach Fig. 4. Dann wird eine Prüfung durchgeführt, um zu sehen, ob die Kommunikati­ onsleitung 14 in einem sachgemäßen Zustand ist (Schritt S22). Wenn sich die Kommunikationsleitung 14 nicht in dem sachgemäßen Zustand befindet, kommt die Verarbeitung durch den Einleitungsprogrammla­ der zu einem Ende (Schritt S26). Die folgenden Schritte sind die gleichen wie jene des ersten Ausführungsbeispiels in Fig. 2.
Wenn festgestellt wird, daß die Kommunikationsleitung 14 in dem sachgemäßen Zustand ist, gibt der Einleitungsprogrammlader die Korrekturadresse aus den in dem EEPROM 13 gespeicherten Korrekturdaten in das Korrekturadressenregister 21 (Schritt S23). Der Einleitungsprogrammlader gibt dann die Korrekturdaten in das Korrekturdatenregister 22 (Schritt S24). Der Einleitungsprogramm­ lader schreibt ferner den Korrekturinhalt in den RAM 4 (Schritt S25). Dies vollendet die Verarbeitung durch den Einleitungsprogrammlader. Als nächstes vergleicht der Komparator 8 die auf dem Adressenbus 6 befindliche Ausführungsadresse mit der in dem Korrekturadressenregister 21 befindlichen Korrekturadresse (Schritt S27). Wenn die zwei Adressen nicht koinzidieren, wird der Schalter 23 auf die Position des ROM 3 eingestellt (Schritt S34). Als Ergebnis des Zugriffs zum ROM 3 durch die CPU 2 werden die in dem ROM 3 gehaltenen Daten auf den Datenbus 5 ausgegeben (Schritt S35).
Wenn die Ausführungsadresse und die Korrekturadresse koinzidieren, wird der Schalter 23 auf die Position des Korrekturdatenregisters 22 eingestellt (Schritt S28). Dadurch können die in dem Korrekturdatenregister 22 gehaltenen Korrekturdaten auf den Datenbus 5 ausgegeben werden (Schritt S29). Hier bilden die Korrekturdaten einen Einbytetabellenrufbefehl zur Bezugnahme auf eine Tabelle im ROM 3. Mit der Tabelle im ROM 3, auf die bezug genommen ist, wird ein bei einer vorbestimmten Adresse im ROM 3 gehaltenes Korrekturprogramm/Startprogramm ausgeführt, um die Adresse des Korrekturprogramms im RAM 4 zu berechnen und eine andere in Relation stehende Verarbeitung auszuführen (Schritt S30). Dann wird das Korrekturprogramm im RAM 4 ausgeführt (Schritt S31). Da die Rückkehr der Steuerung von dem Tabellenruf durch einen Sprungbefehl bewirkt wird, wird der Korrekturinhalt mit einem Befehl zum Löschen der Rückkehradresse und anderer in den Stapeln sichergestellten Daten beendet. Der Löschbefehl wird nun ausgeführt (Schritt S32). Zuletzt wird der in das Korrekturprogramm geschriebene Sprungbefehl ausgeführt, um die Steuerung zu der Adresse zurückzubringen, die den zu korrigierenden Datenbereich im ROM 3 überspringt (Schritt S33). Der Komparator 8 fährt fort, die Adressen bei der Vorbereitung für einen anderen Zugriff auf den zu korrigierenden Datenbereich zu vergleichen (Schritt S27).
Wenn der ROM 3 mehrere zu korrigierende Störungen oder Fehler enthält, kann auf den Schritt S31 in Fig. 4 für jede Störung bzw. jeden Fehler ein Schritt zum Erneuern des Korrekturadressenregisters 21 und Korrekturdatenregisters 22 folgen, um auf die nächste Korrekturadresse bzw. die nächsten Korrekturdaten zu reflektieren. Alternativ dazu können mehrere Komparatoren, Korrekturadressenregister 21 und Korrekturdatenregister 22 zum Adressieren der mehreren Störungen oder Fehler vorgesehen sein. Eine andere Modifikationen des zweite Ausführungsbeispiels liegt darin, den Steuerungssignal-Schalter 7a und den Schalter 7c nach Fig. 1 zwischen dem Komparator 8 und dem Schalter 23 in Fig. 3 anzuordnen.
Wie oben beschrieben umgeht die erfindungsgemäße elektronische Einrichtung detektierte Störungen und Fehler, wenn ihr von außen Korrekturdaten zugeführt werden. Wenn die Korrekturdaten eine Störung oder einen Fehler enthalten, können die Daten ebenfalls korrigiert werden.

Claims (11)

1. Elektronische Einrichtung (1), bei der auf einem Einzelchip eine Festspeichereinrichtung (3) zum Speichern von Nurlesedaten, eine Verarbeitungseinrichtung (2) zur Ausführung einer Verarbeitung auf der Basis der in der Festspeichereinrichtung (3) gespeicherten Daten und eine Eingabe-/Ausgabeeinrichtung (10, 12, 11, 14) zur Ausgabe und Eingabe von Daten aus einer bzw. in eine externe Quelle (13, 15) integriert sind, mit
einer Korrekturadressen-Speichereinrichtung (9; 21) zum Speichern einer Korrekturadresse der in der Festspeichereinrichtung (3) gespeicherten Daten,
einer Korrekturinhalt-Speichereinrichtung (4) zum Speichern eines Korrekturinhalts der in der Festspeichereinrichtung (3) gespeicherten Daten,
einer Vergleichseinrichtung (8) zum Vergleich einer Ausführungsadresse der Verarbeitungseinrichtung (2) mit der Korrekturadresse und zum Ausgeben eines Koinzidenzsignals (E), wenn festgestellt wird, daß die beiden Adressen koinzidieren,
einer Zugriff-Schalteinrichtung (7; 23) zum Schalten eines Zugriffs der Verarbeitungseinrichtung (2) von der Festspeichereinrichtung (3) zur Korrekturinhalt- Speichereinrichtung (4), wenn die Vergleichseinrichtung (8) das Koinzidenzsignal (E) ausgibt, und
einer Steuereinrichtung (2, 7d) zum Steuern des Spei­ cherns von Daten in die Korrekturadressen-Speichereinrichtung (9) und die Korrekturinhalt-Speichereinrichtung (4), der Freigabe des Schaltzugriffs durch die Zugriff- Schalteinrichtung (7) und des Abrufens der Korrekturadresse und des Korrekturinhalts aus einer externen Speichereinrichtung (13) und Eingebens dieser in die Korrekturadressen- Speichereinrichtung (9) bzw. Korrekturinhalt- Speichereinrichtung (4),
dadurch gekennzeichnet, daß
die Steuereinrichtung (2, 7d) verhindert, daß die Korrekturadresse und der Korrekturinhalt aus der externen Speichereinrichtung (13) abgerufen und in die Korrekturadressen-Speichereinrichtung (9) und Korrekturinhalt- Speichereinrichtung (4) eingeschrieben werden, wenn die Steuereinrichtung (2, 7d) ein Befehlssignal aus einer externen Eingabeeinrichtung (15) empfängt.
2. Elektronische Einrichtung nach Anspruch 1, gekennzeichnet durch
eine Kommunikationseinrichtung (11, 14), die mit der externen Eingabeeinrichtung (15) kommuniziert, um zu ermöglichen, daß Befehle aus der externen Eingabeeinrichtung (15) in die elektronische Einrichtung zum Schreiben und Erneuern der Korrektur-Adresse und des Korrekturinhalts in die externe Speichereinrichtung (13) eingebbar sind,
wobei die Steuereinrichtung (2, 7d) den Status der Kommunikationseinrichtung (11) überwacht und entsprechend dem Status die Speicherung von Daten in die Korrekturadressen- Speichereinrichtung (9) und die Korrekturinhalt- Speichereinrichtung (4) sowie das Schalten des Zugriffs durch die Zugriff-Schalteinrichtung (7) unwirksam macht.
3. Elektronische Einrichtung nach Anspruch 1 oder 2, gekennzeichnet durch eine im Innern der Zugriff- Schalteinrichtung (7; 23) befindliche und auf einen Befehl aus der externen Eingabeeinrichtung (15) ansprechende Sperreinrichtung (7d) zum Sperren des Schaltens des Zugriffs der Verarbeitungseinrichtung (2).
4. Elektronische Einrichtung nach Anspruch 3, dadurch gekennzeichnet, daß die Sperreinrichtung (7d) das Eingeben des Koinzidenzsignal (E) aus der Vergleichseinrichtung (8) in die Zugriff-Schalteinrichtung (7) verhindert.
5. Elektronische Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Zugriff- Schalteinrichtung (7; 23) eine Steuerungssignal- Halteeinrichtung (7a), die in Abhängigkeit davon, ob eine Korrekturadresse in der Korrekturadressen-Speichereinrichtung (9; 21) gespeichert ist, gesetzt wird, aufweist.
6. Elektronische Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Zugriff- Schalteinrichtung (7; 23) eine Steuerungssignal- Halteeinrichtung (7a), die in Abhängigkeit davon, ob ein Korrekturinhalt in der Korrekturinhalt-Speichereinrichtung (4) gespeichert ist, gesetzt wird, aufweist.
7. Elektronische Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß, wenn die Festspeichereinrichtung (3) mehrere zu korrigierende Datenwörter enthält, die Verarbeitungseinrichtung (2) eine Verarbeitung der Adressen in der Korrekturadressen- Speichereinrichtung (9; 21) auf der Basis der in der Korrekturinhalt-Speichereinrichtung (4) gespeicherten Daten ausführt und danach den Inhalt in der Korrekturinhalt- Speichereinrichtung (9; 21) mit einer neu zu korrigierenden Adresse und einem neu zu korrigierenden Inhalt erneuert.
8. Elektronische Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß dem Korrekturinhalt ein Sprungbefehl zum Springen zu einer Adresse angefügt ist, die einen zu korrigierenden Datenbereich in der Festspeichereinrichtung (3) überspringt.
9. Elektronische Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Festspeichereinrichtung (3) Steuerdaten zum Abrufen und Einschreiben der Korrekturadresse und des Korrekturinhalts aus der externen Speichereinrichtung (13) in die Korrekturadressen-Speichereinrichtung (9) und die Korrekturinhalt-Speichereinrichtung (4) enthält.
10. Elektronische Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß das Befehlssignal aus der externen Eingabeeinrichtung (15) ein Erneuerungsbefehl zum Erneuern von Korrekturadressen und/oder Korrekturinhalten in der externen Speichereinrichtung (13) ist.
11. Elektronische Einrichtung nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Korrekturadressen- Speichereinrichtung (9; 21) ein Register und die Korrekturinhalt-Speichereinrichtung (4) ein Speicher mit wahlfreiem Zugriff ist.
DE4331703A 1992-09-18 1993-09-17 Elektronische Einrichtung Expired - Fee Related DE4331703C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4275197A JPH06318261A (ja) 1992-09-18 1992-09-18 電子装置

Publications (2)

Publication Number Publication Date
DE4331703A1 DE4331703A1 (de) 1994-04-21
DE4331703C2 true DE4331703C2 (de) 2003-02-06

Family

ID=17552039

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4331703A Expired - Fee Related DE4331703C2 (de) 1992-09-18 1993-09-17 Elektronische Einrichtung

Country Status (4)

Country Link
US (1) US5454100A (de)
JP (1) JPH06318261A (de)
KR (1) KR100324834B1 (de)
DE (1) DE4331703C2 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04346127A (ja) * 1991-05-23 1992-12-02 Sony Corp 電子装置
US5623665A (en) * 1992-01-13 1997-04-22 Sony Corporation Electronic apparatus for patching a read-only memory
JP3230262B2 (ja) * 1992-01-24 2001-11-19 ソニー株式会社 電子装置及びその固定情報修正方法
JP3810805B2 (ja) * 1992-09-19 2006-08-16 ソニー株式会社 情報修正システム
JP3563768B2 (ja) * 1994-05-31 2004-09-08 株式会社ルネサステクノロジ Romプログラム変更装置
JPH08166877A (ja) * 1994-12-13 1996-06-25 Olympus Optical Co Ltd 修正プログラムの実行可能なワンチップマイクロコンピュータ及びrom修正可能なマイクロコンピュータ
US5832263A (en) * 1996-03-15 1998-11-03 Digidox, Inc. System and method for in-place modification of information recorded in read-only storage using modifiable non-volatile storage associated with an agent
JPH09319569A (ja) * 1996-05-31 1997-12-12 Mitsubishi Electric Corp マイクロコンピュータ
JP2867965B2 (ja) * 1996-06-28 1999-03-10 日本電気株式会社 データ処理装置及びデータ処理方法
US5901225A (en) * 1996-12-05 1999-05-04 Advanced Micro Devices, Inc. System and method for performing software patches in embedded systems
US5796972A (en) * 1997-01-14 1998-08-18 Unisys Corporation Method and apparatus for performing microcode paging during instruction execution in an instruction processor
US6141740A (en) * 1997-03-03 2000-10-31 Advanced Micro Devices, Inc. Apparatus and method for microcode patching for generating a next address
US5983337A (en) * 1997-06-12 1999-11-09 Advanced Micro Devices, Inc. Apparatus and method for patching an instruction by providing a substitute instruction or instructions from an external memory responsive to detecting an opcode of the instruction
US6476779B1 (en) * 1998-03-31 2002-11-05 Sony Corporation Video display device
JP3948692B2 (ja) * 1999-03-26 2007-07-25 シャープ株式会社 半導体記憶装置
US6438664B1 (en) 1999-10-27 2002-08-20 Advanced Micro Devices, Inc. Microcode patch device and method for patching microcode using match registers and patch routines
JP2001256044A (ja) * 2000-03-14 2001-09-21 Sony Corp データ処理装置
DE10017934A1 (de) * 2000-04-11 2001-08-09 Fujitsu Siemens Computers Gmbh Schaltungsanordnung mit einem Prozessor und einem System-Bus-Interface
US7539828B2 (en) * 2000-08-08 2009-05-26 Faronics Corporation Method and system for automatically preserving persistent storage
DE10133994A1 (de) * 2001-07-12 2003-01-30 Conti Temic Microelectronic Verfahren zum Betrieb eines von einem Prozessor gesteuerten Systems
DE10152458A1 (de) * 2001-10-24 2003-05-22 Giesecke & Devrient Gmbh Programmausführung bei einer Chipkarte
US7895224B2 (en) * 2002-12-10 2011-02-22 Caringo, Inc. Navigation of the content space of a document set
US7263521B2 (en) * 2002-12-10 2007-08-28 Caringo, Inc. Navigation of the content space of a document set
CN100524153C (zh) * 2003-02-21 2009-08-05 卡林戈公司 在数据库中添加、检索计算机文件的方法
US7596721B1 (en) * 2004-01-09 2009-09-29 Maxtor Corporation Methods and structure for patching embedded firmware
US7464248B2 (en) 2005-04-25 2008-12-09 Mediatek Incorporation Microprocessor systems and bus address translation methods
JP2008198060A (ja) * 2007-02-15 2008-08-28 Seiko Epson Corp 情報処理装置、パッチコード実装システム、電子機器及びパッチコードの実装方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0458559A2 (de) * 1990-05-24 1991-11-27 Schlumberger Industries Limited Maskenprogrammierbare Mikroprozessoren

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4150428A (en) * 1974-11-18 1979-04-17 Northern Electric Company Limited Method for providing a substitute memory in a data processing system
JPS5721799B2 (de) * 1975-02-01 1982-05-10
JPS5245232A (en) * 1975-10-08 1977-04-09 Hitachi Ltd Micro program modification circuit
US4028678A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit
US4028684A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with repatching capability
US4028683A (en) * 1975-10-16 1977-06-07 Bell Telephone Laboratories, Incorporated Memory patching circuit with counter
US4218757A (en) * 1978-06-29 1980-08-19 Burroughs Corporation Device for automatic modification of ROM contents by a system selected variable
US4291375A (en) * 1979-03-30 1981-09-22 Westinghouse Electric Corp. Portable programmer-reader unit for programmable time registering electric energy meters
JPS56136054A (en) * 1980-03-26 1981-10-23 Hitachi Ltd Function assigning circuit
US4319343A (en) * 1980-07-16 1982-03-09 Honeywell Inc. Programmable digital memory circuit
US4456966A (en) * 1981-02-26 1984-06-26 International Business Machines Corporation Memory system with flexible replacement units
JPS57150019A (en) * 1981-03-13 1982-09-16 Hitachi Ltd Control system of terminal device
JPS57211651A (en) * 1981-06-23 1982-12-25 Toshiba Corp Patch system
US4490783A (en) * 1981-07-02 1984-12-25 Texas Instruments Incorporated Microcomputer with self-test of microcode
JPS5816350A (ja) * 1981-07-22 1983-01-31 Toshiba Corp メモリ拡張代替方式
JPS5886648A (ja) * 1981-11-18 1983-05-24 Mitsubishi Electric Corp トレ−ス装置
US4542453A (en) * 1982-02-19 1985-09-17 Texas Instruments Incorporated Program patching in microcomputer
US4490812A (en) * 1982-09-30 1984-12-25 Mostek Corporation User reprogrammable programmed logic array
US4819154A (en) * 1982-12-09 1989-04-04 Sequoia Systems, Inc. Memory back up system with one cache memory and two physically separated main memories
JPS6182201A (ja) * 1984-09-29 1986-04-25 Nec Home Electronics Ltd フエイルセ−フ制御回路
US4610000A (en) * 1984-10-23 1986-09-02 Thomson Components-Mostek Corporation ROM/RAM/ROM patch memory circuit
FR2573227B1 (fr) * 1984-11-09 1987-01-30 Palais Decouverte Dispositif de simulation et de securite pour clavier de saisie de donnees
JPS62249231A (ja) * 1986-04-23 1987-10-30 Pfu Ltd マイクロプログラム制御処理方式
US4751703A (en) * 1986-09-16 1988-06-14 International Business Machines Corp. Method for storing the control code of a processor allowing effective code modification and addressing circuit therefor
US4831517A (en) * 1986-10-10 1989-05-16 International Business Machines Corporation Branch and return on address instruction and methods and apparatus for implementing same in a digital data processing system
US4802119A (en) * 1987-03-17 1989-01-31 Motorola, Inc. Single chip microcomputer with patching and configuration controlled by on-board non-volatile memory
JPS6465633A (en) * 1987-09-07 1989-03-10 Hitachi Ltd Microprogram controller
JP3023425B2 (ja) * 1987-10-09 2000-03-21 株式会社日立製作所 データ処理装置
JPH0199129A (ja) * 1987-10-12 1989-04-18 Fujitsu Ltd マイクロプログラム修正方式
JPH01114941A (ja) * 1987-10-28 1989-05-08 Fujitsu Ltd プログラム修正方式
JPH01232447A (ja) * 1988-03-11 1989-09-18 Mitsubishi Electric Corp シングル・チップ・マイクロコンピュータ
JPH01286029A (ja) * 1988-05-13 1989-11-17 Nec Corp マイクロプログラムのパッチ方式
US4905200A (en) * 1988-08-29 1990-02-27 Ford Motor Company Apparatus and method for correcting microcomputer software errors
US5063499A (en) * 1989-01-09 1991-11-05 Connectix, Inc. Method for a correlating virtual memory systems by redirecting access for used stock instead of supervisor stock during normal supervisor mode processing
DE68923864T2 (de) * 1989-04-19 1996-05-02 Ibm Anordnung zur Speicher- und Peripherie-Bausteinauswahl.
JPH03142629A (ja) * 1989-10-30 1991-06-18 Toshiba Corp マイクロコントローラ
US5199032A (en) * 1990-09-04 1993-03-30 Motorola, Inc. Microcontroller having an EPROM with a low voltage program inhibit circuit
JPH04255031A (ja) * 1991-02-06 1992-09-10 Nec Corp マイクロコンピュータ

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0458559A2 (de) * 1990-05-24 1991-11-27 Schlumberger Industries Limited Maskenprogrammierbare Mikroprozessoren

Also Published As

Publication number Publication date
DE4331703A1 (de) 1994-04-21
KR940008509A (ko) 1994-04-29
US5454100A (en) 1995-09-26
KR100324834B1 (ko) 2002-06-20
JPH06318261A (ja) 1994-11-15

Similar Documents

Publication Publication Date Title
DE4331703C2 (de) Elektronische Einrichtung
EP0011685B1 (de) Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung
DE69031528T2 (de) Speicherpatrone
EP0951673B1 (de) Verfahren zur überwachung der vorgeschriebenen ausführung von softwareprogrammen
DE3732808A1 (de) Verfahren und vorrichtung zum erzeugen und bearbeiten von unterbrechungspunkten in einem monitorprogramm
DE69331292T2 (de) Elektronisches Gerät und Verfahren zur festen Informationsmodifikation
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE2758152A1 (de) Speicherschutzanordnung
CH654943A5 (de) Pruefeinrichtung fuer mikroprogramme.
DE69228272T2 (de) Mikrokontroller mit Korrektur von fehlerhafter Information
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE3314976C2 (de)
EP1262856B1 (de) Programmgesteuerte Einheit
DE19955776C1 (de) Multitasking-Prozessorsystem
WO2007025816A2 (de) Speicheranordnung und betriebsverfahren dafür
DE3811658C2 (de)
DE2725077A1 (de) Ueberwachungssystem fuer eine datenverarbeitungsanlage
DE3210616A1 (de) Rechner
DE19709975C2 (de) Mikrocomputer
EP0035772B1 (de) Mikroprogramm-Steuereinrichtung
DE2954533C2 (de)
DE19520771A1 (de) Schnittstelleneinrichtung
DE69517630T2 (de) Anordnung zur Optimierung der Leistung eines Prozessors
DE19701323C2 (de) Verfahren und Vorrichtung zur Aktualisierung der Betriebssoftware
DE10057782C1 (de) Verfahren und Vorrichtung zum Überführen einer Prozesssteuerung von einem Solobetrieb in einen redundanten Steuerungsbetrieb

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8304 Grant after examination procedure
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee