DE10159901B4 - Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher - Google Patents

Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher Download PDF

Info

Publication number
DE10159901B4
DE10159901B4 DE10159901A DE10159901A DE10159901B4 DE 10159901 B4 DE10159901 B4 DE 10159901B4 DE 10159901 A DE10159901 A DE 10159901A DE 10159901 A DE10159901 A DE 10159901A DE 10159901 B4 DE10159901 B4 DE 10159901B4
Authority
DE
Germany
Prior art keywords
register
control
rewrite
microcomputer
memory
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
DE10159901A
Other languages
English (en)
Other versions
DE10159901A1 (de
Inventor
Katsunobu Chiyoda Hongo
Tsutomu Chiyoda Tanaka
Toshihiro Chiyoda Sezaki
Hiroyuki Chiyoda Kimura
Mikio Shinagawa Kamiya
Yasuhiro Shinagawa Ami
Kunio Chiyoda Tani
Tomohisa Chiyoda Iba
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.)
Mitsubishi Electric Engineering Co Ltd
Mitsubishi Electric Corp
Renesas Solutions Corp
Original Assignee
Mitsubishi Electric Engineering Co Ltd
Mitsubishi Electric Corp
Renesas Solutions 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 Mitsubishi Electric Engineering Co Ltd, Mitsubishi Electric Corp, Renesas Solutions Corp filed Critical Mitsubishi Electric Engineering Co Ltd
Publication of DE10159901A1 publication Critical patent/DE10159901A1/de
Application granted granted Critical
Publication of DE10159901B4 publication Critical patent/DE10159901B4/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
    • 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
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7814Specially adapted for real time processing, e.g. comprising hardware timers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Software Systems (AREA)
  • Microcomputers (AREA)
  • Read Only Memory (AREA)
  • Stored Programmes (AREA)

Abstract

Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher, mit:
einem nichtflüchtigen Speicher (2) zur Speicherung von Wiederbeschreibsteuerfirmware (103) und Benutzersoftware (102) in jeweils getrennten Einheitsblöcken;
zumindest vier Registern, die durch eine CPU (3) des Mikrocomputers geschrieben oder gelesen werden können:
einem Befehlsregister (31) zur Bestimmung von Inhalt der Wiederbeschreibsteuerung;
einem Adreßregister (28) zur Bestimmung einer der Wiederbeschreibsteuerung zu unterziehenden Adresse;
einem Datenregister (29) zur Bestimmung von zu schreibenden Daten; und
einem Steuersignalregister (26) zur Bestimmung eines Steuersignals für eine Energieversorgungspumpenschaltung (24) in dem nichtflüchtigem Speicher (2) und eine Speicherdecodierungseinrichtung (23),
wobei die Energieversorgungspumpenschaltung (24) und die Speicherdecodierungseinrichtung (23) durch eine Verknüpfung gegebener Bits des Steuersignalregisters mit Steuersignalen, die mit der Energieversorgungspumpenschaltung (24) und der Speicherdecodierungseinrichtung (23) verbunden sind, gesteuert werden, und
die Wiederbeschreibsteuerfirmware (103) einen Wert liest, der in dem Befehlsregister (31), dem Adreßregister (28) oder dem Datenregister (29) eingestellt ist, und einen eingestellten...

Description

  • Die vorliegende Erfindung bezieht sich auf einen Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher wie beispielsweise einem Flash-Speicher, und genauer auf eine Funktion des erneuten Schreibens bzw. Wiederbeschreibens des nichtflüchtigen Speichers.
  • Aus der US 6,181,598 B1 ist eine als Mikrocomputerchip funktionierende Halbleitervorrichtung mit einem elektrisch löschbaren und programmierbarem, nichtflüchtigem Speicher bekannt. Dieser Speicher ist beispielsweise ein wiederbeschreibbarer nichtflüchtiger Speicher mit Speicherzellen, die in Reihen und Spalten angeordnet sind, und die dazu eingerichtet sind, dass sowohl eine Flash-Löschung sowie eine selektive Löschung von individuellen Einheiten mehrerer Speicherzellen vereinfacht wird. Die Halbleitervorrichtung weist auch eine Verarbeitungseinheit auf und umfasst ein Eingabeendgerät zum Empfangen eines Betriebsartsignals zum Schalten des Mikrocomputers zwischen einer ersten Betriebsart, bei welcher der Flash-Speicher unter Steuerung einer Verarbeitungseinheit wiederbeschrieben wird, und einer zweiten Operationsbetriebsart, bei welcher der Flash-Speicher unter Steuerung einer separaten Schreibeinheit, die extern mit dem Mikrocomputer verbunden werden kann, wiederbeschrieben wird.
  • In der US 5,444,664 ist ein an einem einzelnen Halbleiterchip montierter Mikrocomputer offenbart, der eine zentrale Verarbeitungseinheit und einen nichtflüchtigen Flash-Speicher umfasst, welcher ermöglicht, dass die von der zentralen Verarbeitungseinheit zu verarbeitenden Informationen wieder- bzw. neuprogrammiert werden, indem Operationen elektrisch gelöscht und programmiert werden. Der Mikrocomputer ist mit einem normalen Energieversorgungsspannungsanschluß und einem programmierenden Energieversorgungsspannungsanschluß ausgestattet und er weist auch eine Energieversorgungsspannungspegel-Erfassungsvorrichtung und eine interne Spannungshochsetzschaltung auf, um die Neuprogrammierbetriebsart für den Flash-Speicher gemäß dem Pegel der zugeführten Spannung festzulegen, und um zwischen der Hochsetzspannung und der externen Hochspannung beim Durchführen des Löschens und Programmierens von Daten auszuwählen.
  • Bis zu dieser Zeit war üblicherweise ein durch das Nachstehende gekennzeichneter Mikrocomputer bekannt: er weist ausschließlich zugeordnete Hardware (H/W) auf, d.h. eine automatische Ablaufschaltung, die ein erneutes Schreiben von Inhalt eines Flash-Speichers steuert, der in den Mikrocomputer eingebaut ist; und eine CPU (Zentraleinheit) des Mikrocomputers schreibt einen Steuerbefehl in die Hardware oder stellt diesen bei der Hardware ein und läßt dadurch einen Hardwarebetrieb zum erneuten Schreiben anlaufen. In diesem Fall war es für einen Benutzer notwendig, ein Wiederbeschreibsteuerprogramm mit einer Funktion zum Erteilen eines Befehls und dergleichen zu einem eingebauten RAM unter der Steuerung des Benutzers zu übertragen. Darüber hinaus war es ebenfalls notwendig, eine Unterbrechung auf der Benutzerseite zu sperren (Beispiel: M37902FGCHP, hergestellt von Mitsubishi Electric Corporation).
  • Da diese Wiederbeschreibverarbeitung durch die Hardware automatisch ausgeführt wurde, konnte das Wiederbeschreibsteuerprogramm, das auf der Benutzerseite vorbereitet werden sollte, in einem gewissen Grade vereinfacht werden. Demgegenüber war jedoch ein Layoutbereich einer automatischen Ablaufschaltung groß, was zu hohen Kosten führte. Ferner war eine Ausbesserung der Hardware erforderlich, um eine Fehlerbeseitigung bei einem Wiederbeschreibablauf auszuführen und den Wiederbeschreibablauf am geeignetsten an einen Wafer-Prozeß anzupassen. Die Ausbesserung konnte jedoch nicht leicht ausgeführt werden.
  • Demgegenüber ist auch ein Fall vorhanden, in dem lediglich ein erforderliches Minimum an automatischen Ablaufschaltungen zur Wiederbeschreibsteuerung bereitgestellt wird. In diesem Fall werden selbst eine Zeitverwaltung und ein Vergleich / eine Beurteilung eines Ergebnisses, die zur Wiederbeschreibverarbeitung erforderlich sind, durch Software (S/W) auf der Benutzerseite ausgeführt (Beispiele: M37754FFCHP, hergestellt von Mitsubishi Electric Corporation, H8/3062FZTAT, hergestellt von Hitachi, Ltd.).
  • Da die Menge der Hardware gering ist, können kostengünstige Chips hergestellt werden. Demgegenüber tritt das nachstehende Problem auf: die Wiederbeschreibsteuersoftware, die auf der Benutzerseite ausgebildet werden sollte, wird stark belastet, was zu einer langen Softwareentwicklungszeit führt.
  • Darüber hinaus sind eine programmierbare, nichtflüchtige Speichervorrichtung und ein selbige verwendender Mikrocomputer in der internationalen Anmeldung WO99/01824 beschrieben. Der Mikrocomputer umfaßt ein Steuerregister zur Ausgabe eines Signals, das Schaltungen (einen Leseverstärker und eine Hochsetzschaltung) steuert, die mit einem Wiederbeschreiben eines EEPROM (eines nichtflüchtigen Speichers) in dem Mikrocomputer zusammenhängen. In der internationalen Anmeldung ist eine Einrichtung zum Wiederbeschreiben des EEPROM durch ein aufeinanderfolgendes Schreiben von Daten direkt von außerhalb des Mikrocomputers in dieses Steuerregister offenbart. Ihre Aufgabe besteht in einer Verringerung von Kosten durch eine Entfernung einer Wiederbeschreibsteuerschaltung.
  • Diese Referenz beschreibt eine Steuertechnologie zum Schreiben von erforderlichen Daten von einer Schreibeinrichtung, die sich außerhalb des Mikrocomputers befindet, in dieses Steuerregister. Ein Wiederbeschreiben des nichtflüchtigen Speichers, während eine Benutzersoftware betrieben wird, ist jedoch in dieser Referenz nicht beschrieben.
  • Obwohl es die Referenz darlegt, daß eine CPU des Mikrocomputers zum Schreiben von Daten in dieses Steuerregister in einer "seriellen Ein-Ausgabe-Betriebsart", in der eine serielle Schreibeinrichtung verwendet wird, in der Lage ist, ist keine andere Beschreibung als diese vorhanden. Es ist keine Beschreibung davon vorhanden, wo sich die Steuersoftware zur Zeit des Schreibens im einzelnen befindet und wie sie arbeitet.
  • Bei dem EEPROM ist ein Lesen auf ein Speicherbit als ein wiederzubeschreibendes Ziel beschränkt. Folglich ist es vergleichsweise leicht, die Steuersoftware zu verwalten. In der Praxis kann jedoch in dem Fall des Mikrocomputers mit eingebautem Flash-Speicher das Lesen nicht ausgeführt werden, wenn der das Steuerprogramm speichernde Flash-Speicher wiederbeschrieben wird. Daher werden die nachstehenden Beschränkungen unerläßliche Bedingungen: Ausführung durch das Steuerprogramm in dem eingebauten RAM; Sperrung einer Unterbrechung; und dergleichen. Die Verwaltung dieser Steuersoftware ist für den Mikrocomputer mit eingebautem Flash-Speicher sehr wichtig. Mit anderen Worten kann bei dieser Wiederbeschreibtechnologie des Mikrocomputers mit eingebautem EEPROM, die die Schreibeinrichtung verwendet, das Wiederbeschreiben des Flash-Speichers während des Betriebs einer Benutzersoftware möglicherweise nicht realisiert werden.
  • Die bekannten Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher sind wie vorstehend beschrieben konfiguriert. Folglich bestehen den Mikrocomputer mit einer automatischen Ablaufschaltung betreffend Probleme dahingehend, daß ein Layoutbereich groß ist, was zu hohen Kosten führt; und eine Änderung des Ablaufs nicht leicht ist. Demgegenüber bestehen den Mikrocomputer ohne die automatische Ablaufschaltung betreffend Probleme dahingehend, daß eine Belastung der Wiederbeschreibsteuersoftware auf der Benutzerseite stark ist, was zu einer langen Softwareentwicklungszeit führt.
  • Die vorliegende Erfindung wurde zur Lösung der vorstehend beschriebenen Probleme ausgebildet. Die Aufgabe der vorliegenden Erfindung besteht darin, einen Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher zu erhalten, der zu dem Nachstehenden in der Lage ist: Verringern eines Layoutbereichs durch eine Entfernung einer automatischen Ablaufschaltung und dadurch auf niedrige Kosten abzielen; Erleichtern einer Änderung eines Wiederbeschreibablaufs zur Fehlerbeseitigung und zur geeignetsten Anpassung des Wiederbeschreibablaufs an einen Wafer-Prozeß; und Verringern einer Belastung von benutzerseitiger Software und auch Verkürzen einer Softwareentwicklungszeit durch ein Laden von Wiederbeschreibsteuerfirmware (F/W).
  • Gemäß einer Ausgestaltung der vorliegenden Erfindung wird ein Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher bereitgestellt, mit: einem nichtflüchtigen Speicher zur Speicherung von Wiederbeschreibsteuerfirmware und Benutzersoftware in jeweils getrennten Einheitsblöcken; zumindest vier Registern, die durch eine CPU des Mikrocomputers geschrieben oder gelesen werden können: einem Befehlsregister zur Bestimmung von Inhalt der Wiederbeschreibsteuerung; einem Adreßregister zur Bestimmung einer der Wiederbeschreibsteuerung zu unterziehenden Adresse; einem Datenregister zur Bestimmung von zu schreibenden Daten; und einem Steuersignalregister zur Bestimmung eines Steuersignals für eine Energieversorgungspumpenschaltung in dem nichtflüchtigen Speicher und eine Speicherdecodierungseinrichtung; wobei: die Energieversorgungspumpenschaltung und die Speicherdecodierungseinrichtung durch eine Verknüpfung gegebener Bits des Steuersignalregisters mit Steuersignalen, die mit der Energieversorgungspumpenschaltung und der Speicherdecodierungseinrichtung verbunden sind, gesteuert werden; und die Wiederbeschreibsteuerfirmware einen Wert liest, der in dem Befehlsregister, dem Adreßregister oder dem Datenregister eingestellt ist, und einen eingestellten Wert in dem Steuersignalregister gemäß einem für jeden dem gelesenen Wert, der in dem Befehlsregister, dem Adreßregister oder dem Datenregister eingestellt ist, entsprechenden Befehl bestimmten Ablauf erneut schreibt, um die Energieversorgungspumpenschaltung und die Speicherdecodierungseinrichtung zu betreiben, wodurch eine Wiederbeschreibverarbeitung einschließlich eines "Löschens" und "Programmierens" des nichtflüchtigen Speichers ausgeführt wird.
  • In diesem Fall können ein Einheitsblock zur Speicherung der Wiederbeschreibsteuerfirmware und ein Einheitsblock zur Speicherung der Benutzersoftware derart konfiguriert sein, daß Adressen beider Blöcke nicht aufeinanderfolgend sind.
  • Darüber hinaus kann der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher ein Statusregister umfassen, das durch die CPU des Mikrocomputers beschrieben oder gelesen werden kann, wobei die Wiederbeschreibsteuerfirmware nach dem Abschluß der ein "Löschen" und "Programmieren" umfassenden Wiederbeschreibverarbeitung ein Ergebnis der Ausführung in das Statusregister schreibt.
  • Ferner umfaßt die Wiederbeschreibsteuerfirmware eine Benutzerschnittstellensteuereinheit zur Decodierung zumindest eines Befehls, der in dem Befehlsregister eingestellt ist, und eine Befehlsausführungssteuereinheit zur Steuerung der Energieversorgungspumpenschaltung und der Speicherdecodierungseinrichtung für jeden bestimmten Befehl; und Firmware dieser Befehlsausführungssteuereinheit wird zu einem eingebauten RAM übertragen und wird in diesem RAM ausgeführt.
  • Die Wiederbeschreibsteuerfirmware ist derart konfiguriert, daß sie infolge eines Sprungs von der Benutzersoftware zu einer höchsten Adresse der Wiederbeschreibsteuerfirmware anläuft und zu einer nächsten Anweisung der Sprunganweisung in der Benutzersoftware zurückkehrt, nachdem die Befehlsausführung abgeschlossen ist.
  • In dem Fall eines Befehls "Löschen" führt die Wiederbeschreibsteuerfirmware das "Löschen" und eine Verifikation nach dem "Löschen" nacheinander aus; in dem Fall eines Befehls "Programmieren" führt die Wiederbeschreibsteuerfirmware das "Programmieren" und eine Verifikation nach dem "Programmieren" nacheinander aus; und falls ein Ergebnis der Verifikation anormal ist, wird es jeweils beurteilt, daß es sich um einen Löschfehler oder einen Programmierfehler handelt.
  • Die Wiederbeschreibsteuerfirmware stellt ein Ergebnis der Befehlsausführung einschließlich "Löschen" und "Programmieren" in dem Statusregister ein; und falls ein Befehl, bei dem es sich nicht um einen legalen Befehlscode handelt, oder eine Adresse, deren Bestimmung nicht zulässig ist, in dem Befehlsregister oder in dem Adreßregister bestimmt wird, wird ein einen illegalen Befehl angebender Fehlercode in dem Statusregister eingestellt, und in diesem Fall kann hiernach keine Verarbeitung ausgeführt werden.
  • Die Wiederbeschreibsteuerfirmware setzt das Statusregister nicht zurück und liest das Statusregister vor der Ausführung eines Befehls, der in dem Befehlsregister eingestellt ist; und falls ein Ergebnis des Statuslesens ein von einer normalen Beendung verschiedener Fehlercode ist, kann die Wiederbeschreibsteuerfirmware hiernach keine Verarbeitung ausführen.
  • Darüber hinaus reicht eine Anzahl von Bits eines Befehlscodes, der in das Befehlsregister geschrieben werden soll, von 12 bis 16. Ferner kann die Wiederbeschreibsteuerfirmware alle Bits dieses Befehlscodes decodieren.
  • Eine Anzahl von Bits einer Adresse, die in das Adreßregister geschrieben werden soll, kann größer sein als eine Anzahl von Bits einer Adresse, die einen nichtflüchtigen Speicherplatz bestimmen kann. Ferner kann die Wiederbeschreibsteuerfirmware alle Bit dieser Adresse decodieren.
  • Ferner kann der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher ein Wiederbeschreibbetriebsartauswahlbit des nichtflüchtigen Speichers umfassen, das durch die CPU eingestellt werden kann, wobei das Steuersignalregister wiederbeschrieben werden kann, wenn ein spezifischer Wert in dieses Firmwarewiederbeschreibbetriebsartauswahlbit geschrieben wird.
  • Das Steuersignalregister kann ein Register sein, das durch die CPU eingestellt werden kann; und ein Steuersignal, das von dem Steuersignalregister ausgegeben wird, kann die Energieversorgungspumpenschaltung und die Speicherdecodierungseinrichtung durch ein Rücksetzsignal in einen Zustand rücksetzen, in dem ein Wiederbeschreiben verboten ist.
  • Das Steuersignalregister kann ein Register sein, das durch die CPU eingestellt wird; und ein Steuersignal, das von dem Steuersignalregister ausgegeben wird, kann die Energieversorgungspumpenschaltung und die Speicherdecodierungseinrichtung durch ein Überwachungszeitgeberunterbrechungssignal in einen Zustand rücksetzen, in dem ein Wiederbeschreiben verboten ist.
  • Das Firmwarewiederbeschreibbetriebsartauswahlbit kann derart konfiguriert sein, daß es nicht nur durch ein Rücksetzsignal des Mikrocomputers, sondern auch durch das Überwachungszeitgeberunterbrechungssignal in einen Zustand rückgesetzt wird, in dem eine Nicht-Wiederbeschreibbetriebsart bestimmt wird.
  • Ein Akkumulator in der CPU kann als Befehlsregister fungieren.
  • Beide oder eines des Befehlsregisters und des Statusregisters kann nicht Registern, sondern spezifischen Adressen in dem eingebauten RAM zugeordnet werden.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann eine ausschließlich zugeordnete Zeitgeberschaltung umfassen, die verwendet wird, wenn der nichtflüchtige Speicher wiederbeschrieben wird.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann eine Taktumschaltschaltung zur Umschaltung einer Betriebstaktquelle für die CPU und die Peripherievorrichtung auf einen von einem Taktanschluß eingegebenen Takt oder auf einen durch einen eingebauten selbsterregten Oszillator erzeugten Takt umfassen, wobei: diese Takte gemäß einem Zustand eines Taktquellenauswahlbits umgeschaltet werden, der durch die CPU eingestellt werden kann; und zu der Zeit des Wiederbeschreibens des nichtflüchtigen Speichers ein Takt auf der Seite des selbsterregten Oszillators ausgewählt wird.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann eine Taktumschaltschaltung zur Umschaltung einer Betriebstaktquelle für die CPU auf einen von einem Taktanschluß eingegebenen Takt oder auf einen durch einen eingebauten selbsterregten Oszillator erzeugten Takt umfassen, wobei: diese Takte gemäß einem Zustand eines Taktquellenauswahlbit umgeschaltet werden, der durch die CPU eingestellt werden kann; und zu der Zeit des Wiederbeschreibens des nichtflüchtigen Speichers ein Takt auf der Seite des selbsterregten Oszillators als eine Betriebstaktquelle für die CPU ausgewählt wird, während eine Taktquelle für Peripherievorrichtungen wie beispielsweise einen Zeitgeber und eine nachstehend als serielle I/O bezeichnete serielle Ein-Ausgabe nicht von dem von dem Taktanschluß eingegebenen Takt umgeschaltet wird.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann eine Taktumschaltschaltung zur Umschaltung einer Betriebstaktquelle für die CPU und einen Überwachungszeitgeber auf einen von einem Taktanschluß eingegebenen Takt oder auf einen durch einen eingebauten selbsterregten Oszillator erzeugten Takt umfassen, wobei: diese Takte gemäß einem Zustand eines Taktquellenauswahlbit umgeschaltet werden, der durch die CPU eingestellt werden kann; und zu der Zeit des Wiederbeschreibens des nichtflüchtigen Speichers ein Takt auf der Seite des selbsterregten Oszillators als eine Betriebstaktquelle für die CPU und den Überwachungszeitgeber ausgewählt wird, während eine Taktquelle für Peripherievorrichtungen wie beispielsweise einen Zeitgeber und eine serielle I/O nicht von dem von dem Taktanschluß eingegeben Takt umgeschaltet wird.
  • Der selbsterregte Oszillator für die Spannungsladungspumpe in dem nichtflüchtigen Speicher kann auch für den eingebauten selbsterregten Oszillator verwendet werden.
  • Der selbsterregte Oszillator für die Spannungsladungspumpe in dem nichtflüchtigen Speicher kann auch für eine Taktquelle einer Zeitgeberschaltung verwendet werden.
  • Der selbsterregte Oszillator kann nicht kontinuierlich betrieben werden; ein Oszillationserlaubnisbit, das durch die CPU eingestellt werden kann, wird bereitgestellt; und falls dieses Bit sich in einem spezifischen Zustand befindet, wird der selbsterregte Oszillator betrieben.
  • Zur Umschaltung einer Betriebstaktquelle kann es der Betriebstaktquelle gestattet werden, auf einen durch den selbsterregten Oszillator erzeugten Takt umgeschaltet zu werden, falls ein durch den selbsterregten Oszillator erzeugter Takt durch das Taktquellenauswahlbit ausgewählt wird und falls eine Betriebserlaubnis des selbsterregten Oszillators durch das Oszillationserlaubnisbit ausgewählt wird.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann eine Vielzahl von Betriebsarten umfassen, die durch einen an einen Betriebsartauswahleingabeanschluß angelegten Spannungspegel bestimmt werden, wobei zumindest eine Betriebsart derart konfiguriert ist, daß sie ein Wiederbeschreiben eines Wiederbeschreibsteuerfirmware speichernden Bereichs des nichtflüchtigen Speichers verbietet.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann eine Vielzahl von Betriebsarten umfassen, die durch einen an einen Betriebsartauswahleingabeanschluß angelegten Spannungspegel bestimmt werden, wobei: eine zweite Betriebsart als eine Betriebsart konfiguriert ist, in der sich eine Rücksetzvektoradresse in einem externen Bereich befindet, auf die zugegriffen wird, nachdem ein Rücksetzen zurückgesetzt ist; und in dieser zweiten Betriebsart zumindest ein Bereich zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher nicht von der CPU gelesen werden kann, während ein Wiederbeschreiben des Bereichs zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher und eines Bereichs zur Speicherung von Wiederbeschreibsteuerfirmware erlaubt ist.
  • In der zweiten Betriebsart kann der Bereich zur Speicherung von Wiederbeschreibsteuerfirmware in dem nichtflüchtigen Speicher durch die CPU gelesen werden.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann eine Vielzahl von Betriebsarten umfassen, die durch einen an einen Betriebsartauswahleingabeanschluß angelegten Spannungspegel bestimmt werden, wobei: eine dritte Betriebsart als eine Betriebsart konfiguriert ist, in der sich ein Rücksetzvektor in einem externen Bereich befindet, auf den zugegriffen wird, nachdem ein Rücksetzen zurückgesetzt ist; und in dieser dritten Betriebsart der nichtflüchtige Speicherbereich von der CPU gelesen werden kann, während ein Wiederbeschreiben des Bereichs zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher und des Bereichs zur Speicherung von Wiederbeschreibsteuerfirmware erlaubt ist.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann eine Vielzahl von Betriebsarten umfassen, die durch einen an einen Betriebsartauswahleingabeanschluß angelegten Spannungspegel bestimmt werden, wobei: eine vierte Betriebsart als eine Betriebsart konfiguriert ist, in der ein direktes Schreiben in ein eingebautes RAM von außerhalb während eines Rücksetzens erlaubt ist, und in der eine Rücksetzvektoradresse nach einem Zurücksetzen des Rücksetzens in dem RAM eingestellt wird; und in dieser vierten Betriebsart der nichtflüchtige Speicherbereich von der CPU gelesen werden kann, während ein Wiederbeschreiben des Bereichs zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher und des Bereichs zur Speicherung von Wiederbeschreibsteuerfirmware erlaubt ist.
  • Ein Zustand des Betriebsartauswahleingabeanschlusses kann durch die CPU gelesen werden.
  • Die Wiederbeschreibsteuerfirmware kann einen Zustand des Betriebsartauswahleingabeanschlusses lesen; und in der Betriebsart, in der ein Wiederbeschreiben des Firmwarebereichs des nichtflüchtigen Speichers verboten ist, kann der Wiederbeschreibsteuerfirmware speichernde Bereich des nichtflüchtigen Speichers nicht wiederbeschrieben werden, und es kann beurteilt werden, daß es sich um einen illegalen Befehl handelt.
  • Der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher kann einen Wiederbeschreibbefehl für einen Firmware speichernden Bereich umfassen, der in einer Betriebsart freigegeben ist, in der ein Wiederbeschreiben des Wiederbeschreibsteuerfirmware speichernden Bereichs des nichtflüchtigen Speichers erlaubt ist.
  • Es zeigen:
  • 1 ein Blockschaltbild, das eine Konfiguration eines Mikrocomputers mit eingebautem Flash-Speicher gemäß einem ersten Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht;
  • 2 eine Speicherbelegung einer Flash-Speicher-Steuerregistergruppe;
  • 3 ein Blockschaltbild, das eine Konfiguration eines Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung und seiner zugehörigen Schaltungen veranschaulicht;
  • 4 ein Blockschaltbild, das eine Konfiguration eines Ablaufsteuerregisters und seiner zugehörigen Schaltungen veranschaulicht;
  • 5 ein Blockschaltbild, das eine Konfiguration eines Bit eines Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung veranschaulicht;
  • 6 ein Blockschaltbild, das eine Konfiguration eines Adreßregisters und seiner zugehörigen Schaltungen veranschaulicht;
  • 7 ein Blockschaltbild, das eine Konfiguration eines Zeitgeberregisters für die Pumpe und seiner zugehörigen Schaltungen veranschaulicht;
  • 8 ein Blockschaltbild, das eine Konfiguration von mit der Taktsteuerung zusammenhängenden Schaltungen veranschaulicht;
  • 9 ein Blockschaltbild, das eine Konfiguration von mit der Taktsteuerung zusammenhängenden Schaltungen veranschaulicht;
  • 10 eine Softwarebefehlstabelle;
  • 11 eine Fehlerstatustabelle;
  • 12 eine grafische Darstellung, die eine Speicherbelegung und Betriebsreihenfolge von Wiederbeschreibsteuer-F/W veranschaulicht;
  • 13 eine grafische Darstellung, die eine Konfiguration von Wiederbeschreibsteuer-F/W und eine Reihenfolge der Ausführung veranschaulicht;
  • 14 ein Betriebsflußdiagramm von Wiederbeschreibsteuer-F/W, die durch eine Benutzer-I/O-Steuereinheit gesteuert wird;
  • 15A und 15B Betriebsflußdiagramme von Wiederbeschreibsteuer-F/W, die durch eine Befehlsausführungssteuereinheit gesteuert wird;
  • 16 eine Speicherbelegung in einer Betriebsart, in der ein externer Speicher zum Betrieb verwendet wird; und
  • 17 eine Tabelle von Betriebsarten des Mikrocomputers.
  • Nachstehend sind Ausführungsbeispiele der vorliegenden Erfindung beschrieben.
  • Erstes Ausführungsbeispiel
  • (Hardwarekonfiguration)
  • Zuerst wird eine Hardwarekonfiguration eines Mikrocomputers mit eingebautem programmierbarem, nichtflüchtigem Speicher gemäß dem ersten Ausführungsbeispiel der Erfindung als ein Mikrocomputer mit eingebautem Flash-Speicher wie nachstehend beschrieben, wobei ein Fall als ein Beispiel genommen wird, in dem ein nichtflüchtiger Speicher ein Flash-Speicher ist.
  • 1 zeigt ein Blockschaltbild, das eine Konfiguration des Mikrocomputers mit eingebautem Flash-Speicher gemäß dem ersten Ausführungsbeispiel veranschaulicht. In 1 bezeichnet ein Bezugszeichen 1 einen Mikrocomputer als einen Hauptaufbau. Ein Bezugszeichen 2 bezeichnet einen Flash-Speicher-Block (einen nichtflüchtigen Speicher). Ein Bezugszeichen 3 bezeichnet eine Zentraleinheit und eine Busschnittstelleneinheit (auf die nachstehend der Kürze halber als CPU/BIU Bezug genommen wird). Ein Bezugszeichen 4 bezeichnet ein RAM. Bezugszeichen 5, 6 und 7 bezeichnen einen (internen) Datenbus zur Übertragung von Daten, eine (interne) Adreßleitung zur Übertragung einer Adresse von der CPU/BIU 3 und eine (interne) R/W-Steuerleitung zur Übertragung von Lese-/Schreibsteuerinformationen (R/W-Steuerinformationen) jeweils von der CPU/BIU 3. Ein Bezugszeichen 11 bezeichnet einen Anschlußsteuerblock zur Steuerung einer Dateneingabe von und einer Datenausgabe zu den Nachstehenden: Anschlüsse 75, 76 und 77 und Betriebsartauswahleingabeanschlüsse 88 und 89. Ein Bezugszeichen 12 bezeichnet eine serielle I/O. Bezugszeichen 72, 73 und 74 bezeichnen einen Dateneingabeanschluß (Din-Anschluß), einen Datenausgabeanschluß (Dout-Anschluß) und einen Datenausgabebeschränkungseingabeanschluß (OUTcont-Anschluß), die mit der seriellen I/O 12 verbunden sind. Ein Bezugszeichen 13 bezeichnet einen Zeitgeber.
  • Darüber hinaus bezeichnet ein Bezugszeichen 15 einen Block einer Steuerung eines externen Busses zur Steuerung einer Eingabe/Ausgabe eines Signals zwischen dem Datenbus 5 und einem Anschluß eines externen Datenbusses 85, zwischen der Adreßleitung 6 und einem Anschluß einer externen Adreßleitung 86 und zwischen der R/W-Steuerleitung 7 und einem Anschluß einer externen R/W-Steuerleitung 87. Ein Bezugszeichen 16 bezeichnet eine Taktsteuerschaltung zur Erzeugung eines internen Takts, der jedem Block in dem Mikrocomputer 1 zugeführt wird, aus einem von einem Takteingabeanschluß XIN 78 eingegebenen Takt. Ein Bezugszeichen 17 bezeichnet eine Rücksetzsteuerschaltung zur Erzeugung eines Rücksetzsignal 109 für jeden Block in dem Mikrocomputer 1 aus einer von einem Eingabeanschluß/RÜCKSETZEN 79 eingegebenen Rücksetzeingabe.
  • Es ist zu beachten, daß ein nachstehend angeführtes Befehlsregister z.B. in einem Register wie beispielsweise einem Akkumulator in der CPU/BIU 3 eingestellt sein kann.
  • Ferner sind Speicher und eine Peripherieausstattungsgruppe in dem Mikrocomputer 1 einschließlich des Flash-Speicher-Blocks 2, des RAM 4, des Anschlußsteuerblocks 11 und der seriellen I/O 12, des Zeitgebers 13 und des Blocks einer Steuerung eines externen Busses 15 zum Lesen/Schreiben von Daten von/zu der CPU/BIU 3 über den Datenbus 5, die Adreßleitung 6 und die R/W-Steuerleitung 7 konfiguriert.
  • Als nächstes ist eine Konfiguration innerhalb des in 1 gezeigten Flash-Speicher-Blocks 2 beschrieben.
  • In 1 bezeichnet ein Bezugszeichen 20 einen Speicherblock mit einer regelmäßigen Anordnung von Speicherzellen einschließlich eines tatsächlichen Speicherelements, einer Adreßdecodierungseinrichtung und dergleichen. Ein Bezugszeichen 23 bezeichnet eine Speicherdecodierungseinrichtung mit einer Adreßzwischenspeicherschaltung und einer Adreßvordecodierungseinrichtung. Ein Bezugszeichen 24 bezeichnet eine Spannungsladungspumpenschaltung (eine Energieversorgungspumpenschaltung) zur passenden Erzeugung einer internen Spannung, die zum Löschen, Schreiben, Lesen und dergleichen eines Flash-Speichers erforderlich ist. Ein Bezugszeichen 25 bezeichnet eine Flash-Speicher-Steuerregistergruppe, die bei einem Wiederbeschreiben eines Flash-Speichers (Löschen und Schreiben) verwendet wird. Ein Bezugszeichen 35 bezeichnet eine Vergleichsschaltung für einen Vergleich nach einer Löschung (Lesen, um es zu überprüfen, ob die Löschung abgeschlossen ist oder nicht). Ein Bezugszeichen 36 bezeichnet einen Taktoszillator für die Pumpe mit einem selbsterregten Oszillator wie beispielsweise einem Ringoszillator, der einen Takt erzeugt, der zu der Spannungsladungspumpenschaltung 24 zugeführt werden soll.
  • Der Speicherblock 20 ist in einen Benutzerbereich 21 für einen Benutzer und einem F/W-Bereich 22 zur Speicherung von Wiederbeschreibfirmware (F/W) geteilt. Außerdem ist der Benutzerbereich 21 in unabhängige Blöcke [Block (0)] 210 bis [Block (4)] 214 weiter geteilt, die jeweils getrennt gelöscht werden. In diesem Zusammenhang ist der F/W-Bereich 22 ein weiterer Löschblock [Block (5)], der nicht in dem Blöcken 210 bis 214 enthalten ist.
  • Ferner umfaßt die Flash-Speicher-Steuerregistergruppe 25: ein Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 zur Ausgabe von Steuersignalen 41, 40 zu der Spannungsladungspumpenschaltung 24 bzw. der Speicherdecodierungseinrichtung 23; ein Signalausgabesteuerregister 27 zur Steuerung des Ausgabezeitverlaufs der Steuersignale 40, 41 von dem Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26; ein Adreßregister 28 zur Einstellung einer Adresse eines Flash-Speicher-Blocks, der zu löschen ist, einer Adresse eines Flash-Speichers, der zu beschreiben ist, und dergleichen; ein Datenregister 29 zur Einstellung von zu schreibenden Daten und dergleichen; ein Statusregister 30 zur Einstellung eines Status, der Ausführungsergebnisse des Löschens und Schreibens zeigt; ein Befehlsregister 31 zur Einstellung von Softwarebefehlen einschließlich eines Löschbefehls (auf den nachstehend als Befehl "Löschen" Bezug genommen wird) und eines Schreibbefehls (auf den nachstehend als Befehl "Programmieren" Bezug genommen wird); ein Ablaufsteuerregister 32 zur Steuerung eines Betriebs zugehöriger Schaltungen bei einem Wiederbeschreiben eines Flash-Speichers; und ein Zeitgeberregister für die Pumpe 33 mit einer Zeitgeberschaltung zur Messung der Zeit, zu der ein Steuersignal 40 für die Spannungsladungspumpenschaltung 24 ausgegeben werden soll, und dergleichen. Alle sind zum Lesen von Daten von oder zum Schreiben von Daten in die CPU/BIU 3 über den Datenbus 5, die Adreßleitung 6 und die R/W-Steuerleitung 7 konfiguriert.
  • Es ist zu beachten, daß dann, wenn z.B. ein Register wie beispielsweise ein Akkumulator in der CPU/BIU 3 als das Befehlsregister 31 verwendet wird, die Flash-Speicher-Steuerregistergruppe 25 das Befehlsregister 31 nicht umfaßt.
  • Das Adreßregister 28 ist über die Adreßleitung 42 in dem Flash-Speicher mit der Speicherdecodierungseinrichtung 23 verbunden. Das Datenregister 29 ist über den Datenbus 43 in dem Flash-Speicher mit der Speicherdecodierungseinrichtung 23 und der Vergleichsschaltung 35 verbunden.
  • Darüber hinaus ist eine externe Schaltung / ein externes Element des in 1 gezeigten Mikrocomputers 1 beschrieben.
  • In 1 bezeichnet ein Bezugszeichen 90 einen externen Speicher wie beispielsweise einen Flash-Speicher und z.B. ein EPROM, der durch einen externen Datenbus 95, eine externe Adreßleitung 96 und eine externe R/W-Steuerleitung 97 angeschlossen ist, die mit einem Anschluß eines externen Datenbusses 85, einem Anschluß einer externen Adreßleitung 86 bzw. einem Anschluß einer externen R/W-Steuerleitung 87 verbunden sind. Ein Bezugszeichen 91 bezeichnet einen Personal Computer (nachstehend wird er einfach als "Personal Computer" abgekürzt), der durch z.B. eine serielle Verbindungseinrichtung wie beispielsweise eine RS-232C mit dem Dateneingabeanschluß (Din) 72, dem Datenausgabeanschluß (Dout) 73 und den Datenausgabesteuereingabeanschlüssen (OUTcont) 74 der seriellen I/O 12 verbunden ist.
  • Die CPU/BIU 3 des Mikrocomputers 1 ist dazu in der Lage, den externen Speicher 90 durch den Block einer Steuerung eines externen Busses 15 in einer Betriebsart zu lesen, die auf einen externen Bereich zugreifen kann (für einige Arten der externen Speicher ist ein Schreiben möglich). Darüber hinaus ist die CPU/BIU 3 zur Eingabe von Daten von und zur Ausgabe von Daten zu den Personal Computern 91 durch die serielle I/O 12 in der Lage.
  • 2 zeigt eine Speicherbelegung der Flash-Speicher-Steuerregistergruppe 25. Ein Zugriff auf eine in 2 gezeigte Adresse erlaubt es, ein der Adresse entsprechendes Register zu beschreiben und zu lesen.
  • 3 zeigt ein Blockschaltbild, das eine Konfiguration des Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung 26 und seiner zugehörigen Schaltungen veranschaulicht. In 3 bezeichnet ein Bezugszeichen 126 eine R/W-Steuerschaltung für Adressen E7h und E8h zur Decodierung einer Adresse auf der Adreßleitung 6 und von Lese-/Schreibsteuerinformationen (R/W-Steuerinformationen) von der CPU/BIU 3 auf der R/W-Steuerleitung 7 und zur Ausgabe eines Lesesignals und eines Schreibsignals zu dem Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 zu der Zeit des Zugriffs auf E7h und E8h (Adressen eines Pumpe/Speicher-Steuersignalregisters). Ein Bezugszeichen 127 bezeichnet eine R/W-Steuerschaltung für eine Adresse EEh zur Decodierung einer Adresse auf der Adreßleitung 6 und von Lese-/Schreibsteuerinformationen (R/W-Steuerinformationen) von der CPU/BIU 3 auf der R/W-Steuerleitung 7 und zur Ausgabe eines Signalausgabesignals zu dem Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 zu der Zeit des Zugriffs auf eine Adresse EEh (eine Adresse des Signalausgabesteuerregisters).
  • Darüber hinaus bezeichnet ein Bezugszeichen 111 ein ODER-Gatter zur Ausführung einer ODER-Operation eines Mikrocomputerrücksetzsignals 109 mit einem nachstehend beschriebenen Überwachungszeitgeberunterbrechungsanforderungssignal 104 und zur Ausgabe des mit ODER verknüpften Signals zu einem Rücksetzsignaleingabeende des Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung 26. Ein Bezugszeichen 112 bezeichnet ein UND-Gatter zur Ausführung einer UND-Operation eines Schreibsignals von der R/W-Steuerschaltung für Adressen E7h und E8h 126 mit einer Ausgabe 114 eines FM-Wiederbeschreibbetriebsartbit des nachstehend beschriebenen Ablaufsteuerregisters 32 und zur Ausgabe des mit UND verknüpften Signals zu einem Schreibsignaleingabeende des Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung 26.
  • Dieses Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 ist mit dem Datenbus 5 verbunden und kann von der CPU/BIU 3 geschrieben oder gelesen werden. Außerdem werden Steuersignale 40 und 41 zu der Spannungsladungspumpenschaltung 24 und der Speicherdecodierungseinrichtung 23 ausgegeben. In diesem Fall entspricht jedes der Steuersignale jedem Bit des Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung 26.
  • 5 zeigt ein Blockschaltbild, das eine 1-Bit-Konfiguration des Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung 26 veranschaulicht. In 5 bezeichnen Bezugszeichen 140 und 141 eine Slave-Flipflop-Schaltung (nachstehend als F/F abgekürzt) bzw. eine Master-Flipflop-Schaltung. Dieses Slave-F/F 140 speichert einen Zustand eines entsprechenden Bit des Datenbus 5 zwischen, wenn ein Schreibsignal aktiv wird, und setzt seinen Inhalt zurück, wenn ein Rücksetzeingabesignal aktiv wird. Demgegenüber speichert das Master-F/F 141 einen Zustand des Slave-F/F 140 zwischen, wenn ein Signalausgabesignal aktiv wird, und setzt seinen Inhalt zurück, wenn ein Rücksetzeingabesignal aktiv wird. Eine Ausgabe des Master-F/F 141 wird eines der Signale, die den der Spannungsladungspumpenschaltung 24 und der Speicherdecodierungseinrichtung 23 zugeführten Steuersignalen 40 und 41 entsprechen.
  • 4 zeigt ein Blockschaltbild, das Konfigurationen des Ablaufsteuerregisters 32 und seiner zugehörigen Schaltungen veranschaulicht. In 4 bezeichnet ein Bezugszeichen 132 eine R/W-Steuerschaltung für eine Adresse F0h zur Decodierung einer Adresse auf der Adreßleitung 6 und von Lese-/Schreibsteuerinformationen (R/W-Steuerinformationen) von der CPU/BIU 3 auf der R/W-Steuerleitung 7 und zur Ausgabe eines Lesesignals und eines Schreibsignals zu dem Ablaufsteuerregister 32 zu der Zeit des Zugriffs auf eine Adresse F0h (eine Adresse des Ablaufsteuerregisters). Ein Bezugszeichen 113 bezeichnet ein UND-Gatter zur Ausführung einer UND-Operation einer Bit-6-Ausgabe des Ablaufsteuerregisters 32 mit einer Bit-5-Ausgabe. Darüber hinaus bezeichnet ein Bezugszeichen 117 ein ODER-Gatter zur Ausführung einer ODER-Operation eines Mikrocomputerrücksetzsignals 109 mit einem nachstehend beschriebenen Überwachungszeitgeberunterbrechungsanforderungssignal 104 und zur Ausgabe des mit ODER verknüpften Signals zu einem Rücksetzsignaleingabeende des Ablaufsteuerregisters 32. Außerdem sind Bit 0, 1, 4, 5 und 6 des Ablaufsteuerregisters 32 jeweils einem Verifikationsanfangsbit, einem Verifikationsstatus, einem FM-Wiederbeschreibbetriebsartbit, einem Taktquellenauswahlbit und einem Oszillationserlaubnisbit für den Takt für die Pumpe zugeordnet. Dieses Ablaufsteuerregister 32 ist mit den Datenbus 5 verbunden und kann von der CPU/BIU 3 geschrieben oder gelesen werden.
  • 6 zeigt ein Blockschaltbild, das Konfigurationen des Adreßregisters 28 und seiner zugehörigen Schaltungen veranschaulicht. In 6 bezeichnet ein Bezugszeichen 128 eine R/W-Steuerschaltung für Adressen E0h bis E2h zur Decodierung einer Adresse auf der Adreßleitung 6 und von Lese-/Schreibsteuerinformationen (R/W-Steuerinformationen) von der CPU/BIU 3 auf der R/W-Steuerleitung 7 und zur Ausgabe eines Lesesignals und eines Schreibsignals zu dem Adreßregister 28 zu der Zeit des Zugriffs auf Adressen E0h bis E2h (Adressen des Statusregisters). Ein Bezugszeichen 228 bezeichnet eine Adreßerhöhungseinrichtung, die dem Adreßregister 28 beigefügt ist.
  • Dieses Adreßregister 28 ist mit dem Datenbus 5 verbunden und ist zum Lesen oder Schreiben von der CPU/BIU 3 in der Lage. Darüber hinaus ist eine Adreßleitung 42 in dem Flash-Speicher mit dem Adreßregister 28 verbunden. Durch das Bit 0 (Verifikationsanfangsbit) des Ablaufsteuerregisters 32 erhöht die Adreßerhöhungseinrichtung 228 einen Adreßwert zu der Zeit einer nachstehend beschriebenen Verifikation nach einer Löschung.
  • 7 zeigt ein Blockschaltbild, das Konfigurationen des Zeitgeberregisters für die Pumpe 33 und seiner zugehörigen Schaltungen veranschaulicht. In 7 bezeichnet ein Bezugszeichen 133 eine R/W-Steuerschaltung für Adressen F2h und F3h zur Decodierung einer Adresse auf der Adreßleitung 6 und von Lese-/Schreibsteuerinformationen (R/W-Steuerinformationen) von der CPU/BIU auf der R/W-Steuerleitung 7 und zur Ausgabe eines Lesesignals und eines Schreibsignals zu dem Zeitgeberregister für die Pumpe 33 zu der Zeit des Zugriffs auf Adressen F2h und F3h (Adressen des Zeitgeberregisters für die Pumpe). Ein Bezugszeichen 134 bezeichnet eine Erniedrigungseinrichtung zur Erniedrigung von Werten des Zählerregisters, d.h. Bit 0 bis 14 des Zeitgeberregisters für die Pumpe 33, während einer Synchronisation mit einem Takt eines Takts für die Pumpe 106. Diese Erniedrigungseinrichtung 134 und das Zeitgeberregister für die Pumpe 33 bilden einen 15-Bit-Zähler.
  • Das Bit 15 des Zeitgeberregisters für die Pumpe 33 ist einem Zählungsanfangsbit zugeordnet. Wenn "1" in diesen Zählungsanfangszustandsmerker geschrieben wird, beginnt die Erniedrigungseinrichtung 134 die Erniedrigung. Wenn ein Wert des Zeitgeberregisters für die Pumpe 33 "0" wird, wird das Zählungsanfangsbit automatisch "0". Dieses Zeitgeberregister für die Pumpe 33 ist mit dem Datenbus 5 verbunden und kann von der CPU/BIU 3 beschrieben oder gelesen werden.
  • Beide 8 und 9 zeigen Blockschaltbilder, die Konfigurationen von zu der Taktsteuerung des Mikrocomputers 1 gehörenden Schaltungen veranschaulichen. In 8 und 9 bezeichnet ein Bezugszeichen 24 eine Spannungsladungspumpenschaltung. Ein Bezugszeichen 36 bezeichnet einen Taktoszillator für die Pumpe. Ein Bezugszeichen 118 bezeichnet ein ODER-Gatter, das eine ODER-Operation eines Oszillationsanforderungssignals 108 von der Spannungsladungspumpenschaltung 24 mit einer Ausgabe 116 von Bit 6 (Oszillationserlaubnisbit für den Takt für die Pumpe) des Ablaufsteuerregister 32 ausführt und das mit ODER verknüpfte Signal in den Taktoszillator für die Pumpe 36 eingibt. Ein Bezugszeichen 153 bezeichnet einen Überwachungszeitgeber. Ein Bezugszeichen 104 bezeichnet ein Überwachungszeitgeberunterbrechungsanforderungssignal, das von diesem Überwachungszeitgeber 153 ausgegeben wird. Ein Bezugszeichen 16 bezeichnet eine Taktsteuerschaltung. Ein Bezugszeichen 151 bezeichnet eine Takterzeugungsschaltung zur Erzeugung von Takten 154 bis 156 für die CPU/BIU 3, für die Peripherieausstattung und für den Überwachungszeitgeber aus einer eingegebenen Taktquelle. Ein Bezugszeichen 152 bezeichnet eine Taktauswahleinrichtung, die einen von zwei Eingabeenden eingegebenen Takt in einem Zustand einer Ausgabe (Taktquellenauswahlsignal) 115 eines UND-Gatters 113 zur Eingabe einer Ausgabe von Bit 5 (Taktauswahlbit) des Ablaufsteuerregisters 32 und einer Ausgabe 116 von Bit 6 (Oszillationserlaubnisbit für den Takt für die Pumpe) auswählt und die den ausgewählten Takt ausgibt.
  • Wenn ein Schreiben von der CPU/BIU 3 in den Überwachungszeitgeber 153 ausgeführt wird (sein Schreibbus ist in der Figur nicht gezeigt), wird sein Zählwert als ein Maximalwert eingestellt und durch einen Takt für den Überwachungszeitgeber eines nach dem anderen erniedrigt. Wenn der Zählwert "0" wird, wird das Überwachungszeitgeberunterbrechungsanforderungssignal 104 "H" (aktiv). Auf diese Art und Weise stellt 8 ein Beispiel für eine Konfiguration dar, bei der eine Taktquelle einer Takterzeugungsschaltung 151 durch die Taktauswahleinrichtung 152 ausgewählt wird. Demgegenüber stellt 9 ein Beispiel für eine Konfiguration dar, bei der ein Takt für die CPU/BIU und ein Takt für den Überwachungszeitgeber durch die Taktauswahleinrichtung 152 ausgewählt werden.
  • (Firmwarekonfiguration und Betriebsart)
  • Als nächstes sind eine Firmwarekonfiguration und Betriebsarten gemäß dem ersten Ausführungsbeispiel der Erfindung unter Bezugnahme auf die Zeichnung beschrieben.
  • Bei einer in 10 gezeigten Tabelle 1 handelt es sich um eine Tabelle von Softwarebefehlen, die den Betrieb eines Flash-Speichers bestimmen. Diese Tabelle 1 zeigt einen Befehl "Blocklöschen" zum Löschen von Inhalt des Flash-Speichers für jeden spezifischen Block (Block (0) 210 bis Block (4) 214 in 1) und einen Befehl "(Wort) Programmieren" zum Schreiben in eine spezifische Adresse auf einer Grundlage eines Worts (= 2 Byte = 16 Bit). Selbstverständlich können andere Befehle als die vorstehend angeführten Befehle (z.B. ein auf eine Bitsperroperation bezogener Befehl und ein Befehl zum Testen) hinzugefügt werden. In dem Fall des Befehls "Blocklöschen" (nachstehend ist er als Befehl "Löschen" abgekürzt) werden eine höchste Adresse eines Blocks (24 Bit) und ein Befehlscode (16 Bit) bestimmt. In dem Fall des Befehls "(Wort) Programmieren" (nachstehend ist er als Befehl "Programmieren" abgekürzt) werden eine beschriebene Adresse (24 Bit), geschriebene Daten (16 Bit) und Befehlsbit (16 Bit) bestimmt.
  • Eine Tabelle 2 in 11 zeigt eine Fehlerstatustabelle, die Ergebnisse einer Befehlsausführung oder einer illegalen Befehlseingabe angibt. Ein Fehlerstatuscode wird üblicherweise durch Wiederbeschreibsteuer-F/W in das Statusregister 30 geschrieben. Software auf der Benutzerseite liest Inhalt des Statusregisters 30 und setzt ihn zurück. In diesem Zusammenhang ist der Fehlerstatuscode zu Bit 5 und Bit 4 des Statusregisters 30 zugeordnet.
  • 12 zeigt eine grafische Darstellung, die eine Speicherbelegung des Mikrocomputers 1 und eine Betriebsreihenfolge der Wiederbeschreibsteuer-F/W veranschaulicht. 12 zeigt die Anordnung des Nachstehenden: einer Peripherieausstattungssteuerregistergruppe 14 einschließlich der Flash-Speicher-Steuerregistergruppe 25; des RAM 4; des Flash-Speicher-Benutzerbereichs 21; und des Flash-Speicher-F/W-Bereichs 22. Zusätzlich dazu zeigt 12 auch das Nachstehende: die Wiederbeschreibsteuer-F/W 103 ist in dem Flash-Speicher-F/W-Bereich 22 gespeichert; ein E/W-Programm (Löschen/Schreiben-Programm) des Benutzers 102 ist in dem Flash-Speicher-Benutzerbereich 21 gespeichert; und eine Befehlsausführungssteuereinheit 101, bei der es sich um eine Komponente der Wiederbeschreibsteuer-F/W 103 handelt, wird zu dem RAM 4 übertragen.
  • Es ist zu beachten, daß bei dem Blockschaltbild des Mikrocomputers 1 in 1 eine Adresse der Peripherieausstattungsteuerregistergruppe 14 eine Adresse zeigt, die einem Steuerregister in Peripherieausstattung einschließlich des Anschlußsteuerblocks 11, der seriellen I/O 12 und des Zeitgebers 13 zugeordnet ist und die dem Flash-Speicher-Steuerregister 25 zugeordnet ist. Darüber hinaus zeigen Kreisnummern 1 bis 11 die Betriebsreihenfolge (d.h. den Ablauf) der Wiederbeschreibsteuer-F/W.
  • 13 zeigt eine grafische Darstellung, die eine Konfiguration und eine Ausführungsprozedur der Wiederbeschreibsteuer-F/W veranschaulicht. In 13 zeigen die Kreisnummern 1 bis 11 die Betriebsreihenfolge der Wiederbeschreibsteuer-F/W, die gleich wie bei 9 ist. Darüber hinaus ist es in 13 gezeigt, daß die Wiederbeschreibsteuer-F/W 103 eine Benutzer-I/F-Steuereinheit 100 und die Befehlsausführungssteuereinheit 101 umfaßt.
  • 14 zeigt ein Betriebsflußdiagramm der Wiederbeschreibsteuer-F/W, die durch die Benutzer-I/F-Steuereinheit gesteuert wird. 15A und 15B zeigen jeweils ein Betriebsflußdiagramm der Wiederbeschreibsteuer-F/W, die durch die Befehlsausführungssteuereinheit 101 gesteuert wird. 15A und 15B entsprechen jeweils einem Teil der Befehlsausführung in 14. Zusätzlich zeigen Kreisnummern 1 bis 11 in 15A und 15B die Betriebsreihenfolge der Wiederbeschreibsteuer-F/W, die gleich wie bei 9 und 10 ist.
  • 16 zeigt eine Speicherbelegung in einer Betriebsart unter Verwendung eines externen Speichers des Mikrocomputers 1. Die Speicherbelegung gemäß 16 unterscheidet sich von einer Speicherbelegung gemäß 12 in einem Punkt, daß der Flash-Speicher-Benutzerbereich 21 ein externer Speicherbereich ist. Es ist zu beachten, daß ein Benutzer-E/W-Steuerprogramm 102 in einem externen Speicher wie beispielsweise einem externen ROM gespeichert ist.
  • Bei einer in 17 gezeigten Tabelle 3 handelt es sich um eine Tabelle von Betriebsarten des Mikrocomputers 1. Neben Betriebsarten für normale Benutzer sind Testbetriebsarten zum Test und zur Chipbewertung vorhanden. In diesen Testbetriebsarten wird hauptsächlich ein F/W-Bereich eines Flash-Speichers wiederbeschrieben.
  • (Beschreibung des Benutzerbereichswiederbeschreibbetriebs)
  • Als nächstes ist den Betrieb eine Mikrocomputers mit eingebautem Flash-Speicher gemäß dem ersten Ausführungsbeispiel der Erfindung betreffend eine Wiederbeschreibsteuerprozedur mittels einer Wiederbeschreibsteuer-F/W unter Bezugnahme auf hauptsächlich 12 bis 15A,B beschrieben.
  • Zuerst ist einen Mikrocomputer, bei dem die Wiederbeschreibsteuer-F/W 103 mittels eines nachstehend beschriebenen Verfahrens in den Flash-Speicher-F/W-Bereich 22 geschrieben wird, betreffend eine Prozedur beschrieben, durch die ein Benutzer den Flash-Speicher-Benutzerbereich 21 unter Verwendung dieses Mikrocomputers wiederbeschreibt.
  • Das Benutzer-E/W-Steuerprogramm 102 weist die Wiederbeschreibsteuer-F/W 103 zum Wiederbeschreiben des Flash-Speichers unter Verwendung eines Programms, das auf der Benutzerseite vorbereitet werden sollte, an und bewertet daraufhin ein Ergebnis des Wiederbeschreibens. Genauer wird, wie 13 gezeigt, gemäß Tabelle 1, bei der es sich um eine Softwarebefehlstabelle handelt, zur Bestimmung von erneut zu schreibendem Inhalt und einer Adresse / eines Blocks das Nachstehende ausgeführt: in einem Ablauf ➀ eine Adreßeinstellung in dem Adreßregister 28, eine Einstellung von geschriebenen Daten in einem Datenregister (lediglich zu der Zeit des Programmierens) und eine Softwarebefehlseinstellung in dem Befehlsregister 31; als nächstes in einem Ablauf ➁ ein Springen zu einer höchsten Adresse der Wiederbeschreibsteuer-F/W 103, die in dem Flash-Speicher-F/W-Bereich 22 gespeichert ist.
  • Ein Hardwarebetrieb jeder Befehlseinstellung ist unter Bezugnahme auf 1 beschrieben. Die Adreßeinstellung (Schreiben) in dem Adreßregister 28 betreffend werden die nachstehenden Informationen (ein Schreibsignal) zu der R/W-Steuerleitung 7 ausgegeben: die CPU/BIU 3 schreibt eine dem Adreßregister 28 entsprechende Adresse (0000E0h/E1h) in die Adreßleitung 6 und schreibt eine zu schreibende Adresse in den Datenbus 5.
  • Als nächstes wird ein Schreiben in das Adreßregister 28 ausgeführt. 6 zeigt eine grafische Darstellung, die das Adreßregister 28 und seine zugehörigen Schaltungen veranschaulicht. Eine Steuerschaltung für Adressen E0h/E1h 128 findet es unter Beurteilung aus einer Adresse (0000E0h/E1h) auf der Adreßleitung 6 und eines Schreibsignals auf der R/W-Steuerleitung 7 heraus, daß ein durch die Steuerschaltung für Adressen E0h/E1h 128 selbst gesteuertes Register beschrieben wird. Daraufhin gibt die Steuerschaltung für Adressen E0h/E1h 128 das Schreibsignal zu dem Adreßregister 28 aus. Wenn dieses Schreibsignal aktiv wird, werden Daten (zu schreibende Adresse) auf dem Datenbus 5 in dem Adreßregister 28 erfaßt.
  • Durch die vorstehend angeführte Operation wird die Adreßeinstellung (Schreiben) in dem Adreßregister 28 abgeschlossen. Auf diese Art und Weise kann eine Einstellung in dem Datenregistern 21 und dem Befehlsregister 31 ebenfalls unter Verwendung einer ähnlichen Prozedur ausgeführt werden. Nebenbei kann ein Lesen jedes Registers beschrieben werden, falls die vorstehend angeführte Operation gelesen wird wie folgt: das vorstehend angeführte Schreibsignal wird zu einem Lesesignal geändert; und Daten werden nicht durch die CPU/BIU 3 ausgegeben, sondern durch jedes Register.
  • Die Wiederbeschreibsteuer-F/W 103 läuft durch einen Sprung (einen Ablauf ➁) aus dem Benutzer-E/W-Steuerprogramm 102 an und arbeitet gemäß einem in 14 gezeigten Fluß des Wiederbeschreibsteuer-F/W-Betriebs.
  • Zu Beginn wird in einem Schritt ST<1> Inhalt eines CPU-Registers gesichert (äquivalent zu einer Datenübertragung zu einem spezifischen Bereich des RAM 4), damit ein Überschreiben der Betriebsumgebung des Benutzer-E/W-Steuerprogramms 102 verhindert wird (danach werden in einem Schritt ST<12> die Register in der CPU in ihren ursprünglichen Zustand zurückversetzt); und zusätzlich dazu werden maskierbare Unterbrechungen gesperrt. Aus Gründen der Schaltungen kann der Flash-Speicher zu der Zeit des Wiederbeschreibens nicht gelesen werden. Daher kann ein Unterbrechungsvektor, der in dem Flash-Speicher-Benutzerbereich vorhanden ist, nicht gelesen werden, wenn eine Unterbrechung auftritt. Dies erfordert die Unterbrechungssperrung.
  • Als nächstes wird in einem Ablauf ➂ als Operation der Flash-Speicher-Steuerregistergruppe eine Oszillation für den Takt für die Pumpe in einem Schritt ST<2> erlaubt. Mit anderen Worten wird "1" in ein Bit 6 (Oszillationserlaubnisbit für den Takt für die Pumpe) des Ablaufsteuerregisters 32 geschrieben. Folglich wird ein in 4 und 8 gezeigtes Oszillationserlaubnissignal 116 für den Takt für die Pumpe "H", und das ODER-Gatter 118 wird ebenfalls "H", wodurch der Taktoszillator für die Pumpe 36 die Oszillation beginnt. Es ist zu beachten, daß nach dem Beginn der Oszillation eine bestimmte Zeitdauer zur stabilen Oszillation erforderlich ist, da es sich bei dem Taktoszillator für die Pumpe 36 um einen selbsterregten Oszillator einschließlich eines Ringoszillators wie vorstehend beschrieben handelt. Nach einem Verstreichen der bestimmten Zeitdauer kann der Takt für die Pumpe 106 verwendet werden.
  • Als nächstes wird in einem Schritt ST<3> eine FM-Wiederbeschreibbetriebsart eingestellt. Genauer wird "1" in ein Bit 4 (ein FM-Wiederbeschreibbetriebsartbit) des Ablaufsteuerregisters 32 geschrieben. Folglich wird ein in 4 und 3 gezeigtes FM-Wiederbeschreibbetriebsartsignal 114 "H", und eine der Bedingungen für das Öffnen eines UND-Gatters 112 ist erfüllt. Mit anderen Worten veranlaßt bei der Verarbeitung von Abläufen ➅ und ➆ ein Schreiben in das Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26, daß ein Schreibsignal für dieses Register übertragen wird, und gibt das Schreiben frei. Obwohl es nicht in der Figur gezeigt ist, ist es darüber hinaus ebenfalls möglich, das Betriebsverbot von Hardwareschaltungen zur Wiederbeschreibsteuerung durch das FM-Wiederbeschreibbetriebsartsignal 114 abzubrechen.
  • Als nächstes wird in einem Schritt ST<4> das Statusregister 30 gelesen, und es wird überprüft, ob Bit 5 und 4 dieses Registers auf "00" zurückgesetzt sind oder nicht. Wenn ein gelesener Wert "00" ist (ein Zustand nach einem Rücksetzen oder ein Zustand zu der Zeit der normalen Beendung eines Befehls: vergleiche Tabelle 2), dann geht der Prozeß zur Verarbeitung über, d.h. zu einem Schritt ST<5>. Falls es sich demgegenüber bei dem gelesenen Wert um einen anderen Wert als "00" handelt, wird es herausgefunden, daß die vorhergehende Verarbeitung einen Fehler verursacht hat und daß der Benutzer sich nicht mit diesem Fehler befaßt hat. Daher geht der Prozeß ohne eine Ausführung von etwas zu einem Schritt ST<10> über, in dem die FM-Wiederbeschreibbetriebsart zurückgesetzt wird.
  • Während der FM-Wiederbeschreibbetriebsarteinstellung des Schritts ST<3> und der Statusregisterüberprüfung des Schritts ST<4> wird die Oszillation des vorstehend angeführten Taktoszillators für die Pumpe 36 stabilisiert.
  • Als nächstes wird in einem Schritt ST<5> der Takt für die Pumpe umgeschaltet. Genauer wird "1" in ein Bit 5 (ein Taktquellenauswahlbit) des Ablaufsteuerregisters 32 geschrieben. Folglich wird ein in 4, 8 und 9 gezeigtes UND-Gatter-Ausgabesignal 115 (gleich einem Taktquellenauswahlsignal) "H". Die Taktauswahleinrichtung 152 wird auf den vorstehend angeführten Takt für die Pumpe 106 umgeschaltet. Das Taktquellenauswahlsignal 115 wird nur dann "H" (der Takt für die Pumpe 106 wird umgeschaltet), wenn sowohl das Oszillationserlaubnisbit für den Takt für die Pumpe als auch das Taktquellenauswahlbit "1" ist. Der Takt für die Pumpe kann nicht nur durch das Taktquellenauswahlbit umgeschaltet werden.
  • In dem Fall der in 8 gezeigten, die Taktauswahleinrichtung 152 betreffenden Schaltungen ändert eine Umschaltung einer Taktquelle sowohl einen Takt für CPU/BIU und Peripherievorrichtung 154, der durch die Takterzeugungsschaltung 151 erzeugt wird, als auch einen Takt für den Überwachungszeitgeber auf einen aus dem vorstehend angeführten Takt für die Pumpe 106 abgeleiteten Takt. Mit anderen Worten hängt eine Bewegung des Mikrocomputers 1 zu der Zeit des Wiederbeschreibens nicht von einer Taktfrequenz ab, die durch den Benutzer verwendet wird.
  • Darüber hinaus ändert in dem Fall der in 9 gezeigten, die Taktauswahleinrichtung 152 betreffenden Schaltungen eine Umschaltung einer Taktquelle sowohl einen Takt für die CPU/BIU 155 als auch einen Takt für den Überwachungszeitgeber auf einen aus dem vorstehend angeführten Takt für die Pumpe 106 abgeleiteten Takt. Ein Takt für die Peripherieausstattung 156 ändert sich nicht. Genauer hängt zu der Zeit des Wiederbeschreibens der Betrieb der CPU/BIU 3 und des Überwachungszeitgebers 153 nicht von einer Taktfrequenz ab, die durch den Benutzer verwendet wird, während die Peripherievorrichtung ihren Betrieb unter Verwendungsbedingungen des Benutzers fortsetzt.
  • Als nächstes wird eine Befehlsdecodierung einschließlich einer Mikrocomputerbetriebsartüberprüfung und Adreßdecodierung in einem Schritt ST<6> ausgeführt. Dies ist äquivalent zu einem Ablauf ➃ gemäß 13. Die Mikrocomputerbetriebsart wird auf die nachstehende Art und Weise überprüft: die CPU/BIU 3 liest Zustände von in 1 gezeigten Betriebartauswahlanschlüssen MD (0) 88 und MD (1) 89 durch den Anschlußsteuerblock 11. In diesem Fall wird eine in Tabelle 3 gezeigte Benutzerbetriebsart angenommen. Falls ein Befehl wie beispielsweise der Befehl "Löschen" und der Befehl "Programmieren" in einer Betriebsart eingestellt ist, in der ein Wiederbeschreiben des Flash-Speichers verboten ist, wird es beurteilt, daß der Befehl ein illegaler Befehl ist.
  • Die Befehlsdecodierung (einschließlich Adreßdecodierung) wird auf die nachstehende Art und Weise ausgeführt: die CPU/BIU 3 liest das Befehlsregister 31, das Adreßregister 28 und das Datenregister 29 der Reihe nach und urteilt gemäß Tabelle 1 in 10. Zu Beginn werden alle 16 Bit überprüft, um es zu beurteilen, ob es sich bei dem Inhalt des Befehlsregisters 31 um einen bestimmten Befehl handelt oder nicht. Falls es sich bei dem Inhalt um einen Code handelt, der nicht bestimmt ist, wird es beurteilt, daß der Befehl ein illegaler Befehl ist. In dem Fall des Befehls "Blocklöschen" werden alle 24 Bit überprüft, um es zu beurteilen, ob es sich bei dem Inhalt des Adreßregisters 28 um eine der höchsten Adressen der Blöcke 210 bis 214 handelt oder nicht. Falls es sich bei dem Inhalt um eine andere Adresse als diese Adressen handelt, wird es beurteilt, daß der Befehl ein illegaler Befehl ist. In dem Fall des Befehls "Programmieren" werden alle 24 Bit überprüft, um es zu beurteilen, ob es sich bei dem Inhalt des Adreßregisters 28 um eine Adresse des Benutzerbereichs 21 handelt oder nicht. Falls es sich bei dem Inhalt nicht um die Adresse des Benutzerbereichs 21 handelt, wird es beurteilt, daß der Befehl ein illegaler Befehl ist.
  • Wenn es beurteilt wird, daß der Befehl ein legaler Befehl ist, geht der Prozeß zu dem nächsten Schritt ST<7> über, d.h. zu der Befehlsausführung. Wenn es beurteilt wird, daß der Befehl ein illegaler Befehl ist, wird in einem Schritt ST<8> ein Code "11" als ein illegaler Befehl in dem Statusregister 30 eingestellt, und daraufhin geht der Prozeß zu einem Schritt ST<10> über, d.h. zu dem Zurücksetzen der FM-Wiederbeschreibbetriebsart.
  • Die Verarbeitung der vorstehend beschriebenen Schritte ST<1> bis <6> und <8> gehört zu der Benutzer-I/F-Steuereinheit 100 in der Wiederbeschreibsteuer-F/W 103. Die Befehlsausführung des nächsten Schritts ST<7> gehört zu der Befehlsausführungssteuereinheit 101. Diese Befehlsausführungssteuereinheit 101 umfaßt eine F/W-Gruppe für jeden Softwarebefehl.
  • Unter Bezugnahme auf einen in 15A,B gezeigten Fluß des Wiederbeschreibsteuer-F/W-Betriebs sind Flüsse der Ausführung des Befehls "Blocklöschen" in 15A und der Ausführung des Befehls "Programmieren" in 15B beschrieben. Da jeder Befehl den Flash-Speicher wiederbeschreibt, kann ein F/W-Lesen aus dem Flash-Speicher nicht ausgeführt werden. Daher ist es erforderlich, die tatsächliche Befehlsausführungs-F/W zu dem RAM 4 zu übertragen, um sie in dem RAM 4 auszuführen.
  • In dem Fall der Ausführung des Befehls "Blocklöschen" in 15A wird zu Beginn in einem Schritt ST<IR1> eine Löschbefehlsausführungseinheit-F/W der Befehlsausführungssteuereinheit 101 zu einer gegebenen Adresse des RAM 4 übertragen, und es wird ein Sprung zu ihrer höchsten Adresse ausgeführt. Entsprechend wird danach der Befehl "Löschen" unter Verwendung der F/W in dem RAM 4 ausgeführt. Folglich wird der Flash-Speicher (sein F/W-Bereich) nicht gelesen.
  • Als nächstes wird ein Löschablauf eines Schritts ST<IR2> ausgeführt. Dabei handelt es sich um eine Verarbeitung, die den in 13 gezeigten Abläufen ➅ und ➆ entspricht. Genauer erlaubt es ein aufeinanderfolgendes erneutes Schreiben von Einstellwerten des Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung 26 und des Signalausgabesteuerregisters 27 gemäß einem gegebenen Löschablauf, daß Steuersignale 40 und 41, die der Spannungsleitungspumpenschaltung 24 und der Speicherdecodierungseinrichtung 23 zugeführt werden, zum Zwecke der Ausführung einer Löschoperation geändert werden. Zur Änderung der Steuersignale 40 und 41 werden zuerst als nächstes auszugebende Daten in das Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 geschrieben. Als nächstes wird ein Scheinschreiben in das Signalausgabesteuerregister 27 mit einem gegebenen Änderungszeitverlauf ausgeführt. Es ist zu beachten, daß es erforderlich ist, vor dem Schreiben in das Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 "1" in ein Bit 4 (FM-Wiederbeschreibbetriebsartbit) des Ablaufsteuerregisters 32 zu schreiben, da ein Schreibsignal für das Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 von dem UND-Gatter 112 ausgegeben wird, wie es in 3 gezeigt ist.
  • Zur Ausführung des Scheinschreibens in das Signalausgabesteuerregister 27 im Ansprechen auf den durch den vorstehend angeführten Löschablauf gegebenen Änderungszeitverlauf ist eine Zeitmessung erforderlich. Das Zeitgeberregister für die Pumpe 33 wird für die Zeitmessung verwendet. Zu Beginn wird ein Zählwert in Bit 0 bis 14 des Zeitgeberregisters für die Pumpe 33 geschrieben, und "1" wird in ein Bit 15 als ein Zählungsanfangsbit geschrieben. Folglich beginnt eine Zählung (Erniedrigung), während mit dem Zeitgebertakt für die Pumpe 106 synchronisiert wird. Wenn der Zählerwert "0" wird, wird das Zählungsanfangsbit automatisch "0". Falls dieses Bit durch die Wiederbeschreibsteuer-F/W wiederholt überprüft wird (zyklisches Abfragen), kann daher die Beendung der Zählung erkannt werden.
  • In 3 wird ein Schreiben in das Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 auf eine ähnliche Art und Weise wie bei dem Schreiben in das vorstehend angeführte Adreßregister 28 ausgeführt. Das Scheinschreiben in das nächste Signalausgabesteuerregister 27 veranlaßt es, daß ein Signalausgabesignal von einer R/W-Steuerschaltung für eine Adresse EEh 127 ausgegeben wird. Da das Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 auf eine derartige Art und Weise konfiguriert ist, wie es in 5 gezeigt ist, wird ein Zustand des Datenbusses 5 durch ein Schreibsignal gelesen. Daraufhin wird der Zustand von dem Register als Steuersignale 40 und 41 zu der Zeit der nächsten Signalausgabe ausgegeben. Es ist zu beachten, daß ein Anfangswert nach einem Rücksetzen des Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung 26 auf einen Zustand eingestellt wird, in dem die Spannungsladungspumpenschaltung 24 und die Speicherdecodierungseinrichtung 23 kein Wiederbeschreiben wie beispielsweise ein "Löschen" und "Programmieren" ausführen.
  • Ferner wird die Bestimmung eines zu löschenden Blocks durch die Adreßleitung 42 in dem Flash-Speicher in 1 von dem Adreßregister 28 zu der Speicherdecodierungseinrichtung 23 übertragen.
  • Nach dem Abschluß des "Löschens" wird in einem Schritt ST<IR3> eine Verifikation nach dem "Löschen" ausgeführt, um es zu überprüfen, ob das "Löschen" erfolgreich abgeschlossen ist oder nicht. Die Verifikation nach dem "Löschen" wird begonnen, indem "1" in ein Bit 0 (Verifikationsanfangsbit) des Ablaufsteuerregister 32 geschrieben wird. Zu der Zeit der Verifikation nach dem "Löschen" werden unter Verwendung der mit dem in 6 gezeigten Adreßregister 28 verbundenen Adreßerhöhungseinrichtung 228 beginnend bei der ersten Adresse des gelöschten Blocks aufeinanderfolgend Adressen erzeugt und daraufhin zu der Speicherdecodierungseinrichtung 23 übertragen. Die Vergleichsschaltung 35 liest jede Adresse des Flash-Speichers aus und liest ihr Ergebnis durch den Datenbus 43 in dem Flash-Speicher und vergleicht daraufhin das Ergebnis mit einem Löschungserwartungswert ("1"). Falls das Ergebnis nicht gleich dem Löschungserwartungswert ist, wird "1" in einem Bit 1 (Verifikationsstatus) des Ablaufsteuerregisters 32 eingestellt.
  • Dieser Verifikationsstatus wird durch eine Löschbefehlsausführungseinheit-F/W gelesen, um ein Verifikationsergebnis zu überprüfen. Falls das Ergebnis OK ist, geht der Prozeß zu einem Schritt ST<IR6> über, d.h. zu einem Zurückkehren aus dem RAM 4. Falls das Ergebnis NG ist, wird es in einem Schritt ST<IR4> überprüft, ob das "Löschen" eine gegebene Anzahl von Malen ausgeführt worden ist oder nicht. Falls die Ausführung des "Löschens" die gegebene Anzahl von Malen nicht erreicht, kehrt der Prozeß zu dem Schritt ST<IR2> zurück, d.h. zu dem Ausführen eines Löschablaufs. Falls die Ausführung des "Löschens" die gegebene Anzahl von Malen erreicht, wird es beurteilt, daß es sich um einen Löschfehler handelt. Im Ansprechen auf die Beurteilung wird in einem Schritt ST<IR5> (einem Ablauf ➈') ein Löschfehlercode "10" in Bit 5 und 4 des Statusregisters 30 eingestellt. Danach geht der Prozeß zu dem Schritt ST<IR6> über, d.h. zu dem Zurückkehren aus dem RAM 4.
  • (b) Wie der Programmierbefehl ausgeführt wird, ist in dem Fall der Ausführung des Programmierbefehls grundsätzlich ähnlich zu dem vorstehend angeführten Fall, in dem das Blocklöschen ausgeführt wird, mit Ausnahme der nachstehenden Unterschiede: eine spezifische Prozedur zur Ausführung eines Programmablaufs des Schritts ST<PR2>; eine spezifische Prozedur zur Verifikation nach dem Programmieren des Schritts ST<PR3>; und ein Fehlercode, der in dem Schritt ST<PR5> in dem Statusregister 30 eingestellt wird.
  • Die Ausführung des Programmierablaufs des Schritts ST<PR2> betreffend erlaubt es darüber hinaus ein aufeinanderfolgendes erneutes Schreiben von Einstellwerten des Steuersignalregisters für die Pumpe/Speicherdecodierungseinrichtung 26 und des Signalausgabesteuerregisters 27 gemäß einem gegebenen Programmierablauf, daß Steuersignale 40 und 41, die der Spannungsladungspumpenschaltung 24 und der Speicherdecodierungseinrichtung 23 zugeführt werden, zum Zwecke der Ausführung der Programmieroperation geändert werden. Die Prozedur zur Änderung der Steuersignale 40 und 41 ist die gleiche Prozedur wie in dem Fall des Blocklöschens.
  • Ferner werden zu programmierende Daten über den Datenbus 43 in dem in 1 gezeigten Flash-Speicher von dem Datenregister 29 zu der Speicherdecodierungseinrichtung 23 übertragen.
  • Die Verifikation nach dem Programmieren des Schritts ST<PR3> betreffend werden keine ausschließlich zugeordneten Schaltungen verwendet. Die Verifikation nach dem "Programmieren" wird auf die nachstehende Art und Weise ausgeführt: die CPU/BIU 3 liest eine passende Adresse des Flash-Speichers und vergleicht sie mit dem geschriebenen Wert. Falls das Ergebnis OK ist, geht der Prozeß zu einem Schritt ST<PR6> über, d.h. zu einem Zurückkehren aus dem RAM 4. Falls das Ergebnis NG ist, wird es in einem Schritt ST<PR4> überprüft, ob das "Programmieren" eine gegebene Anzahl von Malen ausgeführt worden ist oder nicht. Falls die Ausführung des "Programmierens" die gegebene Anzahl von Malen nicht erreicht, kehrt der Prozeß zu dem Schritt ST<PR2> zurück, d.h. zu dem Ausführen eines Programmablaufs. Falls die Ausführung des "Programmierens" die gegebene Anzahl von Malen erreicht, wird es beurteilt, daß es sich um einen Programmierfehler handelt. Im Ansprechen auf die Beurteilung wird in einem Schritt ST<PR5> ein Programmierfehlercode "01" in Bit 5 und 4 des Statusregisters 30 eingestellt. Danach geht der Prozeß zu dem Schritt ST<PR6> über, d.h. zu dem Zurückkehren aus dem RAM 4.
  • Infolge des Zurückkehrens aus dem RAM 4 des Schritt ST<IR6> oder des Zurückkehrens aus dem RAM 4 des Schritts ST<PR6> bewegt sich der Prozeß zu der (in dem F/W-Bereich 22 des Flash-Speichers gespeicherten) ursprünglichen Benutzer-I/F-Steuereinheit 100, um das Nachstehende der Reihe nach auszuführen: Umschalten auf Takt XIN zur Bewegung eines Schritts ST<9>; Zurücksetzen der FM-Wiederbeschreibbetriebsart des Schritts ST<10>; und Anhalten der Oszillation für den Takt für die Pumpe eines Schritts ST<11>. Genauer wird "0" jeweils in Bit 5, 4 und 6 des Ablaufsteuerregisters 32 geschrieben. (Da jede Operation das Gegenteil des vorstehend beschriebenen Schritts ST<2>, ST<3> oder ST<5> darstellt, ist eine Beschreibung weggelassen.)
  • Schließlich wird in dem Schritt ST<12> des Register in der CPU in seinen ursprünglichen Zustand zurückversetzt. Genauer wird in dem Schritt ST<1> Inhalt des Registers in der CPU in einem spezifischen Bereich des RAM 4 gesichert (d.h. Inhalt des Registers in der CPU gesichert), bevor Daten zu dem ursprünglichen Register in der CPU zurückgesendet (übertragen) werden. Danach kehrt der Prozeß zu einer Anweisung unmittelbar nach der Sprunganweisung, die den Sprung des Benutzer-E/W-Steuerprogramms (Ablauf ➁) ausgeführt hat, zurück. Bis zu diesem Punkt endet die Verarbeitung der Wiederbeschreibsteuer-F/W.
  • Nach dem Zurückkehren wird in dem Benutzer-E/W-Steuerprogramm 102 das Statusregister 30 in einem Ablauf mit der Kreisnummer 11 gelesen, um ein Ergebnis einer ausgeführten Einheit des Befehls zu überprüfen.
  • Unter Verwendung der vorstehend beschriebenen Prozedur wird ein Wiederbeschreiben eines Benutzerbereichs des Flash-Speichers ausgeführt. In diesem Zusammenhang werden zu programmierende Daten z.B. über die serielle I/O 12 von dem in 1 gezeigten Personal Computer 91 eingegeben.
  • Falls die CPU 3 des Mikrocomputers 1 während der Ausführung der Wiederbeschreibsteuer-F/W wegläuft, was eine Ausgabe einer Überwachungszeitgeberunterbrechungsanforderung 104 veranlaßt (da ein periodisches Schreiben (Einstellen eines Zählwerts) in den Überwachungszeitgeber nicht ausgeführt wird), führt als nächstes eine nicht in der Figur gezeigte Unterbrechungssteuerschaltung eine gegebene Unterbrechungsverarbeitung aus (Sichern von Inhalt des Registers in der CPU, Springen zu einer Unterbrechungsvektoradresse zur Überwachungszeitgeberunterbrechung (in dem Benutzerbereich des Flash-Speichers) und dergleichen). Ferner werden durch die in 3 und 4 gezeigten ODER-Gatter 111 und 117 ausgegebene Rücksetzsignale "1". Die Rücksetzsignale setzen das Steuersignalregister für die Pumpe/Speicherdecodierungseinrichtung 26 bzw. das Ablaufsteuerregister 32 zurück. Infolgedessen unterbrechen die Spannungsladungspumpenschaltung 24 und die Speicherdecodierungseinrichtung 23 den Wiederbeschreibbetrieb. Zusätzlich dazu wird die FM-Wiederbeschreibbetriebsart zurückgesetzt; der Takt wird auf die Eingabeseite XIN umgeschaltet; und der Flash-Speicher kehrt zu einem Zustand zurück, in dem der Flash-Speicher von der CPU/BIU 3 gelesen werden kann.
  • Obwohl das vorstehend beschriebene erste Ausführungsbeispiel eine normale Registerstruktur aufweist, bei der eine Adresse dem Befehlsregister 31 zugeordnet ist, kann die Adresse auch dem Akkumulator in der CPU 3 zugeordnet sein. In diesem Fall stellt der Benutzer einen Befehl in dem Akkumulator ein.
  • Obwohl das vorstehend beschriebene erste Ausführungsbeispiel eine normale Registerstruktur aufweist, bei der Adressen dem Befehlsregister 31 und dem Statusregister 39 zugeordnet sind, können entweder eine oder beide der Adressen auch einer spezifischer Adresse in dem RAM 4 zugeordnet sein.
  • (Beschreibung von Mikrocomputerbetriebsarten und eines Verfahrens zum Wiederbeschreiben eines F/W-Bereichs)
  • Bei der vorstehend angeführten Beschreibung ist das Verfahren zum Wiederbeschreiben des Benutzerbereichs unter Verwendung der in dem F/W-Bereich 22 des Flash-Speichers gespeicherten Wiederbeschreibsteuer-F/W beschrieben. Nachstehend sind ein Verfahren zum Wiederbeschreiben des F/W-Bereichs selbst und Betriebsarten des Mikrocomputers in Bezug auf das Verfahren beschrieben.
  • Eine Tabelle 3 in 17 zeigt eine Liste von Betriebsarten des Mikrocomputers 1. Was diese Tabelle betrifft, so wird jede Betriebsart durch einen Spannungspegel ausgewählt, der von außerhalb an Betriebsartauswahlanschlüssen MD (1), MD (0) angelegt wird. Jede Betriebsart unterscheidet sich von jeder anderen Betriebsart in den nachstehenden Bedingungen: ob der Flash-Speicher von der CPU gelesen werden kann oder nicht; ob der Flash-Speicher wiederbeschrieben werden kann oder nicht; und wo eine Rücksetzvektoradresse zugeordnet ist. Es ist zu beachten, daß es in Tabelle 3 Symbole "O" und "X" angeben, daß ein Lesen oder Wiederbeschreiben erlaubt ist bzw. das Lesen oder Wiederbeschreiben verboten ist. Die Steuerung des Freigebens/Sperrens des Lesen von einer CPU und die Steuerung der Zuordnung der Rücksetzvektoradresse werden in der Hardwaresteuerschaltung in der CPU/BIU 3 ausgeführt. Demgegenüber wird die Wiederbeschreibsteuerung des Flash-Speichers in Wiederbeschreibsteuer-F/W ausgeführt. Infolgedessen liest die Wiederbeschreibsteuer-F/W die Betriebsartauswahlanschlüsse MD(1) und MD(0) (durch den Anschlußsteuerblock 11), um die Betriebsart zu bestimmen.
  • Als nächstes ist jeder Betrieb beschrieben. In der Benutzerbetriebsart kann der F/W-Bereich 22 gelesen werden (d.h. ein Wiederbeschreiben durch die Wiederbeschreibsteuer-F/W ist erlaubt). Der F/W-Bereich selbst kann jedoch nicht wiederbeschrieben werden (d.h. der F/W-Bereich ist geschützt). Der Rücksetzvektor ist in dem Benutzerbereich 21 vorhanden. Dies ist eine Betriebsart, die üblicherweise durch den Benutzer verwendet wird.
  • Eine Speicherbelegung in dieser Benutzerbetriebsart ist in 12 gezeigt. Es ist zu beachten, daß in 12 auch ein externer Speicherbereich der Peripherievorrichtungsregistergruppe 14, dem RAM 4, dem Benutzerbereich 21 und dem F/W-Bereich 22 zugeordnet sein kann. In diesem Fall kann der externe Speicher 90 von dem Anschluß eines externen Datenbusses 85, dem Anschluß einer Adreßleitung 86 und dem Anschluß einer R/W-Steuerleitung 87 aus über die externe Datenbusleitung 95, die Adreßleitung 96 und R/W-Steuerleitung 97 angeschlossen sein, wie es in 1 gezeigt ist.
  • Eine Testbetriebsart 1 ist mit Ausnahme davon, daß der F/W-Bereich 22 selbst wiederbeschrieben werden kann, gleich der vorstehend angeführten Benutzerbetriebsart. Da sich der Rücksetzvektor in dem Benutzerbereich befindet, wird ein Anlaufen nach einem Rücksetzen durch Software in dem Benutzerbereich 21 ausgeführt. Nachdem die Wiederbeschreibsteuer-F/W in dem F/W-Bereich 22 zu dem RAM 4 übertragen ist, wird der F/W-Bereich unter Verwendung dieser F/W wiederbeschrieben. Dies ist eine auf der Annahme, daß die F/W in der Mitte des Stroms geändert wird, basierende Betriebsart.
  • Eine Testbetriebsart 2 ist eine auf der Annahme, daß der externe Speicher 90 angeschlossen ist, basierende Betriebsart. In dieser Betriebsart kann der Benutzerbereich 21 nicht gelesen werden. Statt dessen kann unter Verwendung der gleichen Adresse wie der Adresse des Benutzerbereichs 21 auf den externen Speicherbereich zugegriffen werden. Der Rücksetzvektor ist diesem externen Speicherbereich zugeordnet, was noch wichtiger ist. Eine Speicherbelegung in dieser Testbetriebsart 2 ist in 16 gezeigt. In dieser Betriebsart sind nicht nur der Rücksetzvektor und das Benutzersteuerprogramm (oder das zu ihm äquivalente E/W-Steuerprogramm), sondern auch die Wiederbeschreibsteuer-F/W in dem externen Speicher 90 gespeichert.
  • Nach dem Rücksetzen führt das E/W-Steuerprogramm ein Wiederbeschreiben aus. In diesem Fall wird die Wiederbeschreibsteuer-F/W in dem externen Speicher 90 in Gang gesetzt. In dieser Betriebsart ist ein Wiederbeschreiben des F/W-Bereichs 22 erlaubt. Daher kann der F/W-Bereich 22 für ein erstes F/W-Schreiben in den F/W-Bereich des Flash-Speichers verwendet werden. Falls statt dem externen Speicher 90 eine Testeinrichtung zum Betreiben des Mikrocomputers unter Verwendung dieser Testeinrichtung angeschlossen ist, kann zu der Zeit des Versands des Mikrocomputers die Wiederbeschreibsteuer-F/W unter Verwendung der Testeinrichtung in den F/W-Bereich 22 geschrieben werden.
  • Darüber hinaus ist es in dieser Testbetriebsart 2 möglich, den Rücksetzvektor und das Benutzer-E/W-Steuerprogramm (oder das zu ihm äquivalente E/W-Steuerprogramm) in dem externen Speicher 90 zu speichern und den Benutzerbereich unter Verwendung der in dem F/W-Bereich 22 gespeicherten Wiederbeschreibsteuer-F/W wiederzubeschreiben.
  • In der vorstehend beschriebenen Testbetriebsart 2 kann der Benutzerbereich 21 nicht gelesen werden. Statt dessen kann unter Verwendung der gleichen Adresse wie der Adresse des Benutzerbereichs 21 auf den externen Bereich zugegriffen werden. Der Rücksetzvektor ist diesem externen Bereich zugeordnet, was noch wichtiger ist. Dies zeigt, daß ein Lesen des Benutzerbereichs 21 erlaubt ist. Es kann jedoch die nachstehende Betriebsart erzeugt werden: der Rücksetzvektor wird durch eine Bewegung des Rücksetzvektors zu z.B. einer spezifischen Adresse des externen Speicherbereichs zwischen dem Benutzerbereich 21 und dem F/W-Bereich 22 (zwischen Adressen 800000h und FFDFFFh) eingestellt. In diesem Fall wird dem externen Speicher 90 einer Adresse gegeben, die den vorstehend angeführten Rücksetzvektor umfaßt. Nicht nur der Rücksetzvektor und das Benutzer-E/W-Steuerprogramm (oder das zu ihm äquivalente E/W-Steuerprogramm), sondern auch die Wiederbeschreib-F/W wird in dem externen Speicher 90 gespeichert.
  • Eine Testbetriebsart 3 ist eine Betriebsart zum Schreiben der Wiederbeschreibsteuer-F/W in den F/W-Bereich 22 unter Verwendung eines Tests zu der Zeit des Versands des Mikrocomputers. In einem Rücksetzzustand, in dem in dieser Betriebsart "L" an den Anschluß/RÜCKSETZEN 79 angelegt wird, sind ein direktes Schreiben und Lesen bei dem RAM 4 von dem Anschluß eines externen Datenbusses 85, dem Anschluß einer Adreßleitung 86 und dem Anschluß einer R/W-Steuerleitung 87 möglich. In diesem Zustand werden der Rücksetzvektor und das Benutzer-E/W-Steuerprogramm (oder das zu ihm äquivalente E/W-Steuerprogramm) und die Wiederbeschreibsteuer-F/W von der Testeinrichtung (die statt des externen Speichers 90 gemäß 1 angeschlossen ist) in das RAM 4 geschrieben.
  • Als nächstes beginnt bei einer Einstellung eines Pegels des Anschlusses/RÜCKSETZEN 79 auf "H" zur Zurücksetzung des Rücksetzens die CPU/BIU 3 des Mikrocomputers 1 den Betrieb und arbeitet daraufhin unter Verwendung des Rücksetzvektors in dem RAM 4 und des E/W-Steuerprogramms. Das Wiederbeschreiben des Flash-Speichers wird unter Verwendung der Wiederbeschreibsteuer-F/W in dem RAM 4 ähnlich ausgeführt. In dieser Betriebsart ist ein Wiederbeschreiben des F/W-Bereichs 22 erlaubt. Daher kann der F/W-Bereich 22 für ein erstes F/W-Schreiben in den F/W-Bereich des Flash-Speichers verwendet werden.
  • Was die Befehle zum Wiederbeschreiben des F/W-Bereichs 22 in den Testbetriebsarten 1 bis 3 betrifft, in denen der vorstehend angeführte F/W-Bereich 22 wiederbeschrieben werden kann, so können speziell für F/W entworfene Befehle "Blocklöschen" und "Programmieren" verwendet werden, bei denen es sich nicht um die Befehle "Blocklöschen" und "Programmieren" für die übliche Verwendung handelt. Darüber hinaus kann auch die nachstehende Konfiguration möglich sein: es wird z.B. ein Schutzabbruchbefehl definiert; und lediglich nach der Ausführung dieses Befehls werden der Befehl "Blocklöschen" und der Befehl "Programmieren" (für übliche Verwendung) freigegeben (eine derartige Funktion ist für die Wiederbeschreibsteuer-F/W bereitgestellt).
  • Es ist zu beachten, daß bei dem vorstehend beschriebenen ersten Ausführungsbeispiel ein Fall beschrieben ist, in dem der Flash-Speicher als ein nichtflüchtiger Speicher verwendet wird. Selbst wenn ein EEPROM oder ein Hochfeldspeicher verwendet werden, können jedoch ähnliche Wirkungen erwartet werden.
  • Wie es vorstehend beschrieben ist, umfaßt der Mikrocomputer gemäß diesem ersten Ausführungsbeispiel: einen Flash-Speicher zur Speicherung von Wiederbeschreibsteuerfirmware (Ablauf-F/W) und Benutzersoftware; eine Befehlsbestimmungseinrichtung (ein Befehlsregister) zur Bestimmung von Inhalt der Wiederbeschreibsteuerung; einer Einrichtung zur Bestimmung einer der Wiederbeschreibsteuerung zu unterziehenden Adresse (ein Adreßregister); ein Datenbestimmungseinrichtung (ein Datenregister) zur Bestimmung von zu schreibenden Daten; eine Energieversorgungspumpenschaltung in dem Flash-Speicher; und eine Steuersignaleinstelleinrichtung (ein Steuersignalregister) zur Bestimmung/Ausgabe eines Steuersignals für eine Speicherdecodierungseinrichtung. Die CPU des Mikrocomputers ist zum Zugriff auf diese 4 Einstelleinrichtungen (Register) zur Ausführung eines Schreibens oder Lesens in der Lage. Jedes Bit des Steuersignalregisters entspricht jeden Steuersignal. Ein in dieses geschriebener Wert wird ein Steuersignal, das zu ihrer Steuerung sowohl einer Energieversorgungsschaltung in dem Flash-Speicher als auch der Speicherdecodierungseinrichtung direkt zugeführt wird.
  • Durch ein erneutes Schreiben eines eingestellten Werts dieses Steuersignalregisters unter Verwendung der Wiederbeschreibsteuer-F/W gemäß einem bestimmten Ablauf wird eine Verarbeitung wie beispielsweise ein "Löschen" und "Programmieren" (Schreiben) des Flash-Speichers ausgeführt.
  • Darüber hinaus stellt bei einem Wiederbeschreiben des Flash-Speichers Benutzersoftware (S/W) erforderliche Informationen in einem Befehlsregister und in dem Adreßregister und dem Datenregister ein, wie es notwendig ist, bevor die F/W aufgerufen wird (zu einer gespeicherten Adresse der F/W gesprungen wird).
  • Darüber hinaus liest die Wiederbeschreibsteuer-F/W Informationen, die in diesen Registern eingestellt worden sind. Als nächstes schreibt die Wiederbeschreibsteuer-F/W gemäß einem für jeden Befehl bestimmten Ablauf (einer Reihenfolge und Zeit) einen erforderlichen eingestellten Wert basierend auf dem Steuersignalregister.
  • Wenn die Befehlsausführung abgeschlossen ist, kehrt die F/W zu der Benutzer-S/W zurück, die die F/W aufgerufen hat. Es ist zu beachten, daß der Flash-Speicher eine Vielzahl von Blöcken als Löscheinheiten aufweist. Die Wiederbeschreibsteuer-F/W ist in einem anderen Block gespeichert als Blöcke für die Benutzersoftware.
  • Wie es vorstehend beschrieben ist, ist der Mikrocomputer mit eingebautem Flash-Speicher auf die nachstehende Art und Weise konfiguriert: die bekannte automatische Ablaufschaltung (A) ist zu dem Steuersignalregister (B) geändert; und ihr Ablaufbetrieb wird durch F/W in dem Flash-Speicher (C) ausgeführt. In diesem Fall wird ein Layoutbereich S ausgedrückt wie folgt: S(A) > (S(B) + S(C)). Dies bedeutet, daß der Layoutbereich S verringert werden kann. Daher erzeugt die Entfernung der automatischen Ablaufschaltung eine Wirkung des Erreichens von Verringerungen eines Layoutbereichs und von Kosten.
  • Darüber hinaus ist die Wiederbeschreibsteuer-F/W vorgesehen. Die Wiederbeschreibsteuer-F/W führt eine Verarbeitung wie beispielsweise eine Übertragung des Wiederbeschreibprogramms in das RAM aus, die üblicherweise und teilweise unter Verwendung von auf der Verkäuferseite bereitgestellter F/W durch den Benutzer ausgeführt wurde. Dies erzeugt eine Wirkung der Vereinfachung von S/W auf der Benutzerseite.
  • Ferner wird die Ablaufsteuerung nicht durch H/W ausgeführt, sondern durch F/W, die leicht erneut geschrieben werden kann. Daher wird eine Änderung eines Ablaufs (einer Reihenfolge und Zeit) erleichtert, was eine Wirkung dahingehend erzeugt, daß es erlaubt wird, einen am besten geeigneten Ablauf zur Vollendung eines Flash-Speichers bereitzustellen.
  • Wie es vorstehend beschrieben ist, wird erfindungsgemäß ein Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher bereitgestellt. Der Mikrocomputer umfaßt:
    einen nichtflüchtigen Speicher zur Speicherung von Wiederbeschreibsteuerfirmware und Benutzersoftware in jeweils getrennten Einheitsblöcken;
    zumindest die nachstehenden vier Register, die durch eine CPU des Mikrocomputers geschrieben oder gelesen werden können:
    ein Befehlsregister zur Bestimmung von Inhalt der Wiederbeschreibsteuerung;
    ein Adreßregister zur Bestimmung einer der Wiederbeschreibsteuerung zu unterziehenden Adresse;
    ein Datenregister zur Bestimmung von zu schreibenden Daten; und
    ein Steuersignalregister zur Bestimmung einer Energieversorgungspumpenschaltung in einem nichtflüchtigen Speicher und eines Steuersignals für eine Speicherdecodierungseinrichtung.
  • Folglich steuert ein gegebenes Bit des Steuersignalregisters die Energieversorgungspumpenschaltung und die Speicherdecodierungsschaltung entsprechend einem der Energieversorgungspumpenschaltung und der Speicherdecodierungseinrichtung zugeführten Steuersignal; die Wiederbeschreibsteuerfirmware betreibt die Energieversorgungspumpenschaltung und die Speicherdecodierungsschaltung durch ein Lesen von Werten, die in dem Befehlsregister, dem Adreßregister oder dem Datenregister eingestellt worden sind, und ein erneutes Schreiben eines eingestellten Werts des Steuersignalregisters gemäß einem für jeden dem eingestellten Wert entsprechenden Befehl bestimmten Ablauf. Dies erlaubt es, eine Wiederbeschreibverarbeitung einschließlich eines "Löschens" und "Programmieren" eines nichtflüchtigen Speichers auszuführen.
  • Daher zeigen sich die nachstehenden Wirkungen:
    • (1) Die Entfernung einer automatischen Ablaufschaltung, die üblicherweise erforderlich war, verringert einen Layoutbereich, was zu niedrigen Kosten führt.
    • (2) Ein Wiederbeschreibablauf kann zur Fehlerbeseitigung und zur am besten geeigneten Anpassung des Wiederbeschreibablaufs an einen Wafer-Prozeß leicht geändert werden.
    • (3) Die Ausstattung mit der Wiederbeschreibsteuerfirmware verringert eine Belastung von Benutzersoftware und verkürzt auch eine Softwareentwicklungszeit.
  • Erfindungsgemäß sind ein Einheitsblock zur Speicherung der Wiederbeschreibsteuerfirmware und ein Einheitsblock zur Speicherung der Benutzersoftware derart konfiguriert, daß Adressen beider Blöcke nicht aufeinanderfolgend sind. Dies verhindert es, daß die Wiederbeschreibsteuerfirmware irrtümlich gelöscht wird. Ein derartiger Irrtum wird durch einen Adressierungsirrtum usw. des Befehls "Löschen" und des Befehls "Programmieren" verursacht. Oder ein Geschlossenhalten eines für einen Firmwarebereich verwendeten Blocks erzeugt eine Wirkung der Verbergung der Wiederbeschreibsteuerfirmware.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher ein Statusregister, das durch eine CPU geschrieben oder gelesen werden kann, wobei die Wiederbeschreibsteuerfirmware nach dem Abschluß der Wiederbeschreibverarbeitung, die ein "Löschen" und "Programmieren" umfaßt, ein Ergebnis der Ausführung in das Statusregister schreibt. Daher wird die nachstehende Wirkung erzeugt: nach dem Zurückkehren zu dem Benutzer-E/W-Steuerprogramm (Löschen-/Schreiben-Steuerprogramm) kann es das Benutzer-E/W-Steuerprogramm überprüfen, ob ein bestimmter Befehl erfolgreich abgeschlossen worden ist oder ob er anormal geendet hat.
  • Erfindungsgemäß umfaßt die Wiederbeschreibsteuerfirmware eine Benutzerschnittstellensteuereinheit zur Decodierung zumindest eines Befehls, der in dem Befehlsregister eingestellt ist, und eine Befehlsausführungssteuereinheit zur Steuerung der Energieversorgungspumpenschaltung und der Speicherdecodierungseinrichtung für jeden bestimmten Befehl; und Firmware dieser Befehlsausführungssteuereinheit wird zu einem eingebauten RAM übertragen und wird in diesem RAM ausgeführt. Folglich ist es nicht erforderlich, daß das Benutzer-E/W-Steuerprogramm abgesehen von einer Statusüberprüfung eine Befehlsbestimmung und -verarbeitung nach der Befehlsausführung unterstützt. Dies beseitigt den Bedarf an einer Übertragung der Wiederbeschreibsteuerfoftware zu dem RAM, die üblicherweise erforderlich war, den Bedarf an einer Einstellung der Wiederbeschreibbetriebsart und dergleichen. Folglich wird eine Wirkung der Minimierung einer Belastung auf der Benutzerseite erzeugt.
  • Ferner erzeugt eine Trennung in zwei Teile, d.h. in die vorstehend beschriebene Benutzersteuereinheit und die Befehlsausführungseinheit, eine Wirkung der Erleichterung einer Wartung der Wiederbeschreibsteuerfirmware für eine Hinzufügung eines Befehls und für eine Änderung eines Befehls.
  • Erfindungsgemäß ist die Wiederbeschreibsteuerfirmware derart konfiguriert, daß sie infolge eines Sprungs aus der Benutzersoftware zu einer höchsten Adresse der Wiederbeschreibsteuerfirmware anläuft und zu einer nächsten Anweisung der Sprunganweisung in der Benutzersoftware zurückkehrt, nachdem die Befehlsausführung abgeschlossen ist. Folglich ist es nicht erforderlich, daß das Benutzer-E/W-Steuerprogramm abgesehen von eine Statusüberprüfung eine Befehlsbestimmung und -verarbeitung nach der Befehlsausführung unterstützt. Dies beseitigt den Bedarf an einer Beendungsüberprüfung der Befehlsausführung, die üblicherweise durch ein zyklisches Abfragen eines einen Zustand der Befehlsausführung angebenden Statusbit ausgeführt wurde. Folglich wird eine Wirkung der Minimierung einer Belastung bei dem Benutzer erzeugt.
  • Erfindungsgemäß führt die Wiederbeschreibsteuerfirmware in dem Fall eines Befehls "Löschen" das "Löschen" und die Verifikation nach dem "Löschen" aufeinanderfolgend aus; in dem Fall eines Befehls "Programmieren" führt die Wiederbeschreibsteuerfirmware das "Programmieren" und die Verifikation nach dem "Programmieren" aufeinanderfolgend aus; und falls ein Ergebnis der Verifikation anormal ist, wird es beurteilt, daß es sich um einen Löschfehler bzw. einen Programmierfehler handelt. Daher wird eine Folge der Operation "Löschen" oder der Operation "Programmieren" automatisch ausgeführt, falls die Operation von der Benutzerseite betrachtet wird. Folglich ist es nicht erforderlich, daß das Benutzer-E/W-Steuerprogramm eine Verifikation ausführt, was eine Wirkung der Erleichterung einer Softwareentwicklung erzeugt.
  • Erfindungsgemäß stellt die Wiederbeschreibsteuerfirmware ein Ergebnis der Befehlsausführung einschließlich "Löschen" und "Programmieren" in dem Statusregister ein; und falls ein Befehl, bei dem es sich nicht um einen legalen Befehlscode handelt, oder einer Adresse, deren Bestimmung nicht gestattet ist, in dem Befehlsregister oder in dem Adreßregister bestimmt wird, wird ein einen illegalen Befehl angebender Fehlercode in dem Statusregister eingestellt, und in diesem Fall wird danach keine Verarbeitung ausgeführt. Dies erzeugt eine Wirkung der Verhinderung einer durch einen Irrtum bei der Bestimmung eines Befehls oder einer Adresse in dem Benutzer-E/W-Steuerprogramm verursachten Funktionsstörung. Darüber hinaus erzeugt ein Hinweisen des Benutzer-E/W-Steuerprogramms auf den Fehlercode eine weitere Wirkung der Erleichterung eines Austestens auf der Benutzerseite.
  • Erfindungsgemäß setzt die Wiederbeschreibsteuerfirmware das Statusregister nicht zurück und liest das Statusregister vor der Ausführung eines Befehls, der in dem Befehlsregister eingestellt ist; und falls es sich bei einem Ergebnis des Statuslesens um einen sich von der normalen Beendung unterscheidenden Fehlercode handelt, führt die Wiederbeschreibsteuerfirmware danach keine Verarbeitung aus. Dies erzeugt eine Wirkung der Verhinderung, daß ein nächster Befehl ohne eine Überprüfung durch den Benutzer (das Benutzer-E/W-Steuerprogramm), ob die Befehlsausführung in einem anormalen Zustand beendet worden ist oder nicht, ausgeführt wird.
  • Erfindungsgemäß reicht eine Anzahl von Bit eines Befehlscodes, der in das Befehlsregister geschrieben werden soll, von 12 bis 16. Ferner decodiert die Wiederbeschreibsteuerfirmware alle Bit dieses Befehlscodes. Dies erzeugt Wirkungen der Verbesserung einer Redundanz eines Befehlscodes in einem großen Ausmaß und der Verringerung der Wahrscheinlichkeit eines Auftretens einer durch eine irrtümliche Eingabe eines Befehls verursachten Funktionsstörung.
  • Erfindungsgemäß wird eine Anzahl von Bit einer Adresse, die in das Adreßregister geschrieben werden soll, größer angenommen als eine Anzahl von Bit einer Adresse, die einen nichtflüchtigen Speicherplatz bestimmen kann. Ferner decodiert die Wiederbeschreibsteuerfirmware alle Bit dieser Adresse. Dies erzeugt Wirkungen der Verbesserung einer Redundanz einer Adresse und der Verringerung der Wahrscheinlichkeit eines Auftretens einer durch eine irrtümliche Eingabe einer Adresse verursachten Funktionsstörung.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher ein Wiederbeschreibbetriebsartauswahlbit des nichtflüchtigen Speichers, das durch die CPU eingestellt werden kann, wobei das Steuersignalregisters wiederbeschrieben werden kann, wenn ein spezifischer Wert in dieses Wiederbeschreibbetriebsartauswahlbit geschrieben wird. Dies erzeugt eine Wirkung dahingehend, daß es verhindert wird, daß der Flash-Speicher infolge eines durch ein Weglaufen der CPU und eine falsche Verwendung durch den Benutzer (einen Softwareirrtum) oder dergleichen verursachten illegalen Schreibens in das Steuerregister illegal wiederbeschrieben wird.
  • Erfindungsgemäß handelt es sich bei dem Steuersignalregister um ein Register, das durch die CPU eingestellt werden kann; und ein Steuersignal, das von dem Steuersignalregister ausgegeben wird, setzt die Energieversorgungspumpenschaltung und die Speicherdecodierungseinrichtung durch ein Rücksetzsignal in einen Zustand zurück, in dem ein Wiederbeschreiben verboten ist. Dies erzeugt eine Wirkung dahingehend, daß es verhindert wird, daß der Flash-Speicher zu der Zeit des Rücksetzens oder zu der Zeit der Zurücksetzung des Rücksetzens illegal wiederbeschrieben wird.
  • Erfindungsgemäß handelt es sich bei dem Steuersignalregister um ein Register, das durch die CPU eingestellt werden kann; und ein Steuersignal, das von dem Steuersignalregister ausgegeben wird, setzt die Energieversorgungspumpenschaltung und die Speicherdecodierungseinrichtung durch ein Überwachungszeitgeberunterbrechungssignal in einen Zustand zurück, in dem ein Wiederbeschreiben verboten ist. Dies erzeugt eine Wirkung der Verringerung einer Möglichkeit, daß ein nichtflüchtiger Speicher in dem Fall des Weglaufens der CPU zu der Zeit des Wiederbeschreibens des nichtflüchtigen Speichers durch die Wiederbeschreibsteuerfirmware illegal wiederbeschrieben wird.
  • Erfindungsgemäß ist das Wiederbeschreibbetriebsartauswahlbit des nichtflüchtigen Speichers derart konfiguriert, daß es nicht nur durch ein Rücksetzsignal des Mikrocomputers, sondern auch durch das Überwachungszeitgeberunterbrechungssignal in einen Zustand rückgesetzt wird, in dem eine Nicht-Wiederbeschreibbetriebsart bestimmt wird. Dies erzeugt eine Wirkung der Verringerung einer Möglichkeit, daß der nichtflüchtige Speicher durch die Wiederbeschreibsteuerfirmware illegal wiederbeschrieben wird.
  • Erfindungsgemäß ist der Akkumulator in der CPU derart konfiguriert, daß er als ein Befehlsregister zugeordnet ist. Infolgedessen ist im Vergleich zu dem Fall, in dem ein Befehlsregister unter Verwendung einer üblichen Registerstruktur, die eine Adresse zuordnet, realisiert ist eine Prozedur zum Lesen seines Inhalts weggelassen. Dies erzeugt eine Wirkung der Ausführung der Befehlsdecodierungseinrichtungsverarbeitung mit einer höheren Geschwindigkeit. Ferner ist es nicht notwendig, ein zusätzliches Register zu plazieren, was eine weitere Wirkung der Vermeidung einer Erweiterung des Umfangs einer Schaltung und eines Layoutbereichs erzeugt.
  • Erfindungsgemäß sind einer oder beide des Befehlsregisters und des Statusregisters nicht zu Registern, sondern zu spezifischen Adressen in dem eingebauten RAM zugeordnet. Folglich wird im Vergleich zu dem Fall, in dem diese Register durch eine übliche Registerstruktur realisiert werden, die eine Adresse zuordnet, eine Wirkung der Verringerung der Erweiterung eines Schaltungsumfangs und eines Layoutbereichs in einem großen Ausmaß erzeugt.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher eine ausschließlich zugeordnete Zeitgeberschaltung, die bei einem Wiederbeschreiben des nichtflüchtigen Speichers verwendet wird. Folglich wird im Vergleich zu einem Softwarezeitgeber, der die Zeit mißt, indem er eine Anzahl von Malen zählt, die ein Programm eine Schleife ausführt, eine Wirkung der Ermöglichung einer Verbesserung der Zeitmessung mit hoher Genauigkeit erzeugt.
  • Darüber hinaus ist eine weitere Wirkung dahingehend vorhanden, daß es dem Benutzer ermöglicht wird, während des Wiederbeschreibens des nichtflüchtigen Speichers einen Zeitgeber zu verwenden, der als eine reguläre Peripherieschaltung in dem Mikrocomputer vorgesehen ist.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher eine Taktumschaltschaltung zur Umschaltung einer Betriebstaktquelle für die CPU und die Peripherievorrichtung auf einen von einem Taktanschluß eingegebenen Takt oder auf einen durch einen eingebauten selbsterregten Oszillator erzeugten Takt, wobei: diese Takte gemäß einem Zustand des Taktquellenauswahlbit umgeschaltet werden, der durch die CPU eingestellt werden kann; und zu der Zeit des Wiederbeschreibens des nichtflüchtigen Speichers ein Takt auf der Seite des selbsterregten Oszillators ausgewählt wird. Infolgedessen wird eine Zeiteinstellung möglich, die nicht von dem Benutzer abhängt. Dies erzeugt eine Wirkung der Erleichterung einer Entwicklung und Justierung der Wiederbeschreibsteuerfirmware.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher eine Taktumschaltschaltung zur Umschaltung einer Betriebstaktquelle für die CPU auf einen von einem Taktanschluß eingegebenen Takt oder auf einen durch einen eingebauten selbsterregten Oszillator erzeugten Takt, wobei: diese Takte gemäß einem Zustand des Taktquellenauswahlbit umgeschaltet werden, der durch die CPU eingestellt werden kann; und zu der Zeit des Wiederbeschreibens des nichtflüchtigen Speichers ein Takt auf der Seite des selbsterregten Oszillators als eine Betriebstaktquelle für die CPU ausgewählt wird, während eine Taktquelle für Peripherievorrichtungen wie beispielsweise einen Zeitgeber und eine serielles I/O nicht von dem von dem Taktanschluß eingegebenen Takt umgeschaltet wird. Folglich ermöglicht eine Ausführung der Zeitmessung während des Wiederbeschreibens nicht durch einen von XIN eingegebenen Takt, dessen Frequenz für jeden Benutzer verschieden ist, sondern durch einen Takt auf der Seite des selbsterregten Oszillators, dessen Frequenz immer konstant ist, eine Zeiteinstellung, die nicht von den Verwendungsbedingungen des Benutzers abhängt. Dies erzeugt eine Wirkung der Erleichterung einer Entwicklung und Justierung der Wiederbeschreibsteuerfirmware.
  • Da die Arbeitsgeschwindigkeit der Peripherievorrichtung in einem Zustand zu der Zeit der Benutzersoftwareausführung gehalten wird, kann ferner selbst dann, wenn der nichtflüchtige Speicher wiederbeschrieben wird, die Arbeitsgeschwindigkeit verwendet werden, wie sie ist, ohne Takteinstellwerte der Peripherievorrichtungen wie beispielsweise des Zeitgebers und der seriellen I/O zu ändern. Daher ist bei einer abwechselnden Ausführung des Schreibens (Programmierens) während einer abwechselnden Ausführung des Benutzer-E/W-Steuerprogramms und der Wiederbeschreibsteuerfirmware eine Wirkung dahingehend vorhanden, daß es erlaubt ist, nächste Daten, die geschrieben werden sollen, automatisch von der seriellen I/O zu empfangen.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher eine Taktumschaltschaltung zur Umschaltung einer Betriebstaktquelle für die CPU und einen Überwachungszeitgeber auf einen von einem Taktanschluß eingegebenen Takt oder auf einen durch einen eingebauten selbsterregten Oszillator erzeugten Takt, wobei: diese Takte gemäß einem Zustand des Taktquellenauswahlbit umgeschaltet werden, der durch die CPU eingestellt werden kann; und zu der Zeit des Wiederbeschreibens des nichtflüchtigen Speichers ein Takt auf der Seite des selbsterregten Oszillators als eine Betriebstaktquelle für die CPU und den Überwachungszeitgeber ausgewählt wird, während eine Taktquelle für Peripherievorrichtungen wie beispielsweise einen Zeitgeber und eine serielle I/O nicht von dem von dem Taktanschluß eingegebenen Takt umgeschaltet wird. Folglich ermöglicht eine Ausführung der Zeitmessung während des Wiederbeschreibens nicht durch einen von XIN eingegebenen Takt, dessen Frequenz für jeden Benutzer verschieden ist, sondern durch einen Takt auf der Seite des selbsterregten Oszillators, dessen Frequenz immer konstant ist, eine Zeiteinstellung, die nicht von Verwendungsbedingungen des Benutzers abhängt. Dies erzeugt eine Wirkung der Erleichterung einer Entwicklung und Justierung der Wiederbeschreibsteuerfirmware.
  • Da die Arbeitsgeschwindigkeit der Peripherievorrichtung in einem Zustand zu der Zeit der Benutzersoftwareausführung gehalten wird, erzeugt dies ferner die nachstehende Wirkung: die Arbeitsgeschwindigkeit kann selbst dann, wenn der nichtflüchtige Speicher wiederbeschrieben wird, verwendet werden, wie sie ist, ohne Takteinstellwerte der Peripherievorrichtungen wie beispielsweise des Zeitgebers und der seriellen I/O zu ändern.
  • Darüber hinaus erzeugt dies eine weitere Wirkung dahingehend, daß es ohne Rücksicht auf Verwendungsbedingungen des Benutzers ermöglicht wird, die Frequenz des Schreibens (Einstellens) in den Überwachungszeitgeber einzustellen, was als Maßnahmen gegen ein Weglaufen der CPU periodisch ausgeführt wird.
  • Erfindungsgemäß wird der selbsterregte Oszillator für die Spannungsladungspumpe in dem nichtflüchtigen Speicher auch für den eingebauten selbsterregten Oszillator verwendet. Folglich wird im Vergleich zu einem Fall, in dem ein ausschließlich zugeordneter selbsterregter Oszillator zusätzlich bereitgestellt wird, eine Wirkung einer Verringerung der Erweiterung eines Schaltungsumfangs und eines Layoutbereichs in einem großen Ausmaß erzeugt.
  • Erfindungsgemäß wird der selbsterregte Oszillator für die Spannungsladungspumpe in dem nichtflüchtigen Speicher auch für eine Taktquelle einer Zeitgeberschaltung verwendet. Folglich wird im Vergleich zu einem Fall, in dem ein ausschließlich zugeordneter selbsterregter Oszillator zusätzlich bereitgestellt wird, eine Wirkung einer Verringerung der Erweiterung eines Schaltungsumfangs und eines Layoutbereichs in einem großen Ausmaß erzeugt.
  • Erfindungsgemäß wird der selbsterregte Oszillator nicht kontinuierlich betrieben; ein Oszillationserlaubnisbit ist bereitgestellt, daß durch die CPU eingestellt werden kann; und falls dieses Bit sich in einem spezifischen Zustand befindet, wird der selbsterregte Oszillator betrieben. Dies erzeugt eine Wirkung einer Verringerung des Energieverbrauchs des eingebauten selbsterregten Oszillators. Darüber hinaus wird auch eine weitere Wirkung der Minimierung eines durch die Oszillation verursachten unnötigen Strahlungsrauschens erzeugt.
  • Erfindungsgemäß ist es für die Umschaltung einer Betriebstaktquelle gestattet, die Betriebstaktquelle auf einen durch den selbsterregten Oszillator erzeugten Takt umzuschalten, falls ein durch den selbsterregten Oszillator erzeugter Takt durch das Taktquellenauswahlbit ausgewählt wird und falls eine Betriebserlaubnis des selbsterregten Oszillators durch das Oszillationserlaubnisbit ausgewählt wird. Folglich wird in dem Fall des Weglaufens der CPU selbst dann, wenn der Takt des selbsterregten Oszillators ausgewählt wird, während sich der eingebaute selbsterregte Oszillator in einem Zustand des gesperrten Betriebs befindet, eine Wirkung dahingehend erzeugt, daß es verhindert wird, daß ein Takt des Mikrocomputers angehalten wird, so daß der Mikrocomputer nicht in einen nicht wiederherstellbaren Zustand eintritt.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher eine Vielzahl von Betriebsarten, die durch einen an einen Betriebsartauswahleingabeanschluß angelegten Spannungspegel bestimmt werden, wobei zumindest eine Betriebsart derart konfiguriert ist, daß sie ein Wiederbeschreiben eines Wiederbeschreibsteuerfirmware speichernden Bereichs des nichtflüchtigen Speichers verbietet. Daher erzeugt eine Bereitstellung lediglich dieser Betriebsart, die ein Wiederbeschreiben verbietet, als eine für Benutzer offene öffentliche Betriebsart eine Wirkung dahingehend, daß es verhindert wird, daß wichtige Wiederbeschreibsteuerfirmware durch ein unbeabsichtigtes Löschen oder irrtümliches Schreiben zerstört wird, bevor dies auftritt.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher eine Vielzahl von Betriebsarten, die durch einen an einen Betriebsartauswahleingabeanschluß angelegten Spannungspegel bestimmt werden, wobei: eine zweite Betriebsart als eine Betriebsart konfiguriert ist, bei der sich eine Rücksetzvektoradresse, auf die nach einer Zurücksetzung des Rücksetzens zugegriffen wird, in einem externen Bereich befindet; und in dieser zweiten Betriebsart zumindest ein Bereich zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher nicht von der CPU gelesen werden kann, während ein Wiederbeschreiben des Bereichs zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher und eines Bereichs zur Speicherung von Wiederbeschreibsteuerfirmware erlaubt ist. Folglich wird durch eine Plazierung eines externen Speichers, in dem der Rücksetzvektor, die Wiederbeschreibsteuerfoftware und die Wiederbeschreibsteuerfirmware geschrieben werden, in den externen Bereich und durch ein Anlaufenlassen des Mikrocomputers mit dem externen Speicher die nachstehende Wirkung erzeugt: die Wiederbeschreibsteuerfirmware kann am Anfang in den Firmwarebereich des nichtflüchtigen Speichers geschrieben werden.
  • Darüber hinaus erzeugt eine Verbindung einer Testeinrichtung mit dem externen Bereich und eine Verwendung der Steuerung dieser Testeinrichtung die nachstehende Wirkung: die Wiederbeschreibsteuerfirmware kann am Anfang in den Firmwarebereich des nichtflüchtigen Speichers geschrieben werden.
  • Erfindungsgemäß wird in der zweiten Betriebsart der Bereich zur Speicherung von Wiederbeschreibsteuerfirmware in dem nichtflüchtigen Speicher durch die CPU gelesen. Daher wird die nachstehende Wirkung erzeugt: nach dem Schreiben der Wiederbeschreibsteuerfirmware in den Firmwarebereich des nichtflüchtigen Speichers am Anfang kann Inhalt des Firmwarebereichs zur Überprüfung durch die CPU gelesen werden.
  • Ferner weist diese Betriebsart eine weitere Wirkung auf: es ist möglich, die Wiederbeschreibsteuerfirmware von einem externen Speicher aus anlaufen zu lassen und einen Benutzerbereich des nichtflüchtigen Speichers wiederzubeschreiben.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher eine Vielzahl von Betriebsarten, die durch einen an einen Betriebsartauswahleingabeanschluß angelegten Spannungspegel bestimmt werden, wobei: eine dritte Betriebsart als eine Betriebsart konfiguriert ist, bei der sich eine Rücksetzvektoradresse, auf die nach einer Zurücksetzung des Rücksetzens zugegriffen wird, in einem externen Bereich befindet; und in dieser dritten Betriebsart der nichtflüchtige Speicherbereich von der CPU gelesen werden kann, während ein Wiederbeschreiben des Bereichs zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher und des Bereichs zur Speicherung von Wiederbeschreibsteuerfirmware erlaubt ist. Folglich wird durch eine Plazierung eines externen Speichers, in den der Rücksetzvektor, die Wiederbeschreibsteuerfoftware und die Wiederbeschreibsteuerfirmware geschrieben werden, in dem externen Bereich und durch ein Anlaufenlassen des Mikrocomputers mit dem externen Speicher die nachstehende Wirkung erzeugt: die Wiederbeschreibsteuerfirmware kann am Anfang in den Firmwarebereich des nichtflüchtigen Speichers geschrieben werden.
  • Darüber hinaus erzeugt eine Verbindung einer Testeinrichtung mit dem externen Bereich und eine Verwendung der Steuerung dieser Testeinrichtung die nachstehende Wirkung: die Wiederbeschreibsteuerfirmware kann am Anfang in den Firmwarebereich des nichtflüchtigen Speichers geschrieben werden.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher eine Vielzahl von Betriebsarten, die durch einen an einen Betriebsartauswahleingabeanschluß angelegten Spannungspegel bestimmt werden, wobei: eine vierte Betriebsart als eine Betriebsart konfiguriert ist, in der ein direktes Schreiben in ein eingebautes RAM von außerhalb während des Rücksetzens erlaubt ist und in der eine Rücksetzvektoradresse nach einer Zurücksetzung des Rücksetzens in dem RAM eingestellt wird; und in dieser vierten Betriebsart der nichtflüchtige Speicherbereich von der CPU gelesen werden kann, während ein Wiederbeschreiben des Bereichs zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher und des Bereichs zur Speicherung von Wiederbeschreibsteuerfirmware erlaubt ist. Folglich wird durch eine Übertragung von Inhalt eines externen Speichers, in den der Rücksetzvektor, die Wiederbeschreibsteuersoftware und die Wiederbeschreibsteuerfirmware geschrieben sind, zu dem RAM und durch ein Anlaufenlassen des Mikrocomputers mit dem RAM die nachstehende Wirkung erzeugt: die Wiederbeschreibsteuerfirmware kann am Anfang in den Firmwarebereich des nichtflüchtigen Speichers geschrieben werden.
  • Erfindungsgemäß kann ein Zustand des Betriebsartauswahleingabeanschlusses durch die CPU gelesen werden. Folglich wird eine Beurteilung dahingehend möglich, ob der Firmwarebereich durch die Wiederbeschreibsteuerfirmware wiederbeschrieben werden kann oder nicht. Daher sind Vergrößerungen eines Schaltungsumfangs und eines Layoutbereichs kleiner die Vergrößerungen in dem Fall, in dem ein Verbot / eine Erlaubnis des erneuten Schreibens in den Firmwarebereich durch Hardware gesteuert wird. Dies erzeugt eine Wirkung der Erleichterung von Maßnahmen zur Überarbeitung und dergleichen in dem Fall, daß ein Fehler gefunden wird.
  • Erfindungsgemäß liest die Wiederbeschreibsteuerfirmware einen Zustand des Betriebsartauswahleingabeanschlusses; und in der Betriebsart, in der ein Wiederbeschreiben des Firmwarebereichs des nichtflüchtigen Speichers verboten ist, wird der Wiederbeschreibsteuerfirmware speichernde Bereich des nichtflüchtigen Speichers nicht wiederbeschrieben, und es wird beurteilt, daß es sich um einen illegalen Befehl handelt. Daher sind Vergrößerungen eines Schaltungsumfangs und eines Layoutbereichs kleiner als die Vergrößerungen in dem Fall, in dem ein Verbot / eine Erlaubnis des erneuten Schreibens in den Firmwarebereich durch Hardware gesteuert wird. Dies erzeugt eine Wirkung der Erleichterung von Maßnahmen zur Überarbeitung und dergleichen in dem Fall, daß ein Fehler gefunden wird.
  • Erfindungsgemäß umfaßt der Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher einen Wiederbeschreibbefehl für einen Firmware speichernden Bereich, der in einer Betriebsart freigegeben ist, in der ein Wiederbeschreiben des Wiederbeschreibsteuerfirmware speichernden Bereichs des nichtflüchtigen Speichers erlaubt ist. Daher erzeugt eine Behandlung dieses Befehls als einen Befehl, der für Benutzer nicht offen ist, eine Wirkung dahingehend, daß es verhindert wird, daß wichtige Wiederbeschreibsteuerfirmware durch ein unbeabsichtigtes Löschen oder ein irrtümliches Schreiben zerstört wird, bevor dies auftritt.
  • In diesem Zusammenhang ist auch die nachstehende Konfiguration möglich: die CPU weist ein Steuersignalausgabesteuerbit auf, das über einen internen Datenbus eingestellt werden kann; und sobald die CPU ein Schreiben in dieses Steuersignalausgabesteuerbit ausführt, wird ein Zustand, der vorher in das Steuersignalregister geschrieben worden ist, als ein Steuersignal zu der Energieversorgungspumpenschaltung und der Speicherdecodierungseinrichtung ausgegeben. Folglich wird, falls eine Anzahl von Bit des Steuersignalregisters (eine Anzahl von Steuersignalen ist erforderlich) größer als eine Anzahl von Bit von Datenbussen in dem Mikrocomputer ist, und selbst dann, wenn es notwendig ist, Einstellungen mehr als einmal zu wiederholen, eine Steuersignalgruppe, die zu der Energieversorgungspumpenschaltung und der Speicherdecodierungseinrichtung ausgegeben werden soll, gleichzeitig geändert. Daher ist es möglich, sich mit diesem Problem zu befassen, indem dieses Steuersignalverzweigungsausgabesteuerbit bereitgestellt wird.
  • Ein Mikrocomputer umfaßt: einen Flash-Speicher (2) zur Speicherung einer Wiederbeschreibsteuer-F/W (103) und einer Benutzer-S/W (102); ein Befehlsregister (31) zur Bestimmung von Inhalt der Wiederbeschreibsteuerung; ein Adreßregister (28), das der Wiederbeschreibsteuerung zu unterziehen ist; ein Datenregister (29) zur Bestimmung von zu schreibenden Daten; eine Energieversorgungspumpenschaltung (24) in dem Flash-Speicher (2); und ein Steuersignalregister (26) zur Bestimmung/Ausgabe eines Steuersignals für eine Speicherdecodierungseinrichtung (23). Eine CPU (3) des Mikrocomputers ist dazu in der Lage, zur Ausführung eines Schreibens oder Lesens auf diese vier Register zuzugreifen. Ein gegebenes Bit des Steuersignalregisters (26) entspricht einem gegebenen Steuersignal. Ein in das Register (26) geschriebener Wert wird ein Steuersignal, das sowohl der Energieversorgungsschaltung als auch der Speicherdecodierungseinrichtung (23) in dem Flash-Speicher (2) direkt zugeführt wird, um sie zu steuern. Durch ein erneutes Schreiben eines eingestellten Werts dieses Steuersignalregisters (26) unter Verwendung der Wiederbeschreibsteuer-F/W (103) gemäß einem bestimmten Ablauf wird eine Verarbeitung wie beispielsweise ein "Löschen" und "Programmieren" des Flash-Speichers (2) ausgeführt. Folglich wird ein Layoutbereich einer automatischen Ablaufschaltung verringert, und ferner wird eine Änderung eines Ablaufs erleichtert.

Claims (11)

  1. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher, mit: einem nichtflüchtigen Speicher (2) zur Speicherung von Wiederbeschreibsteuerfirmware (103) und Benutzersoftware (102) in jeweils getrennten Einheitsblöcken; zumindest vier Registern, die durch eine CPU (3) des Mikrocomputers geschrieben oder gelesen werden können: einem Befehlsregister (31) zur Bestimmung von Inhalt der Wiederbeschreibsteuerung; einem Adreßregister (28) zur Bestimmung einer der Wiederbeschreibsteuerung zu unterziehenden Adresse; einem Datenregister (29) zur Bestimmung von zu schreibenden Daten; und einem Steuersignalregister (26) zur Bestimmung eines Steuersignals für eine Energieversorgungspumpenschaltung (24) in dem nichtflüchtigem Speicher (2) und eine Speicherdecodierungseinrichtung (23), wobei die Energieversorgungspumpenschaltung (24) und die Speicherdecodierungseinrichtung (23) durch eine Verknüpfung gegebener Bits des Steuersignalregisters mit Steuersignalen, die mit der Energieversorgungspumpenschaltung (24) und der Speicherdecodierungseinrichtung (23) verbunden sind, gesteuert werden, und die Wiederbeschreibsteuerfirmware (103) einen Wert liest, der in dem Befehlsregister (31), dem Adreßregister (28) oder dem Datenregister (29) eingestellt ist, und einen eingestellten Wert in dem Steuersignalregister (26) gemäß einem für jeden dem gelesenen Wert, der in dem Befehlsregister (31), dem Adreßregister (28) oder dem Datenregister (29) eingestellt ist, entsprechenden Befehl bestimmten Ablauf erneut schreibt, um die Energieversorgungspumpenschaltung (24) und die Speicherdecodierungseinrichtung (23) zu betreiben, wodurch eine Wiederbeschreibverarbeitung einschließlich eines "Löschens" und "Programmierens" des nichtflüchtigen Speichers (2) ausgeführt wird.
  2. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, wobei: ein Einheitsblock (22) zur Speicherung der Wiederbeschreibsteuerfirmware (103) und ein Einheitsblock (21) zur Speicherung der Benutzersoftware (102) derart konfiguriert sind, daß Adressen beider Einheitsblöcke nicht aufeinanderfolgend sind.
  3. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, ferner mit einem Statusregister (30), das durch die CPU (3) des Mikrocomputers geschrieben oder gelesen werden kann, wobei die Wiederbeschreibsteuerfirmware (103) nach dem Abschluß der ein "Löschen" und "Programmieren" umfassenden Wiederbeschreibverarbeitung ein Ergebnis der Ausführung in das Statusregister (30) schreibt.
  4. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, wobei die Wiederbeschreibsteuerfirmware (103) eine Benutzerschnittstellensteuereinheit (100) zur Decodierung zumindest eines Befehls, der in dem Befehlsregister (31) eingestellt ist; und eine Befehlsausführungssteuereinheit (101) zur Steuerung der Energieversorgungspumpenschaltung (24) und der Speicherdecodierungseinrichtung (23) für jeden bestimmten Befehl umfaßt; und Firmware dieser Befehlsausführungssteuereinheit (101) zu einem eingebauten RAM (4) übertragen wird und in diesem RAM (4) ausgeführt wird.
  5. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, wobei die Wiederbeschreibsteuerfirmware (103) derart konfiguriert ist, daß sie infolge eines Sprungs von der Benutzersoftware zu einer höchsten Adresse der Wiederbeschreibsteuerfirmware anläuft und zu einer nächsten Anweisung der Sprunganweisung in der Benutzersoftware (102) zurückkehrt, nachdem die Befehlsausführung abgeschlossen ist.
  6. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, wobei eine Anzahl von Bits eines Befehlscodes, der in das Befehlsregister (31) geschrieben werden soll, von 12 bis 16 reicht; und die Wiederbeschreibsteuerfirmware (103) alle Bits dieses Befehlscodes decodiert.
  7. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, wobei das Steuersignalregister (26) ein Register ist, das durch die CPU (3) eingestellt werden kann; und ein Steuersignal, das von dem Steuersignalregister (26) ausgegeben wird, die Energieversorgungspumpenschaltung (24) und die Speicherdecodierungseinrichtung (23) durch ein Überwachungszeitgeberunterbrechungssignal (104) in einen Zustand rücksetzt, in dem ein Wiederbeschreiben verboten ist.
  8. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, wobei ein Akkumulator in der CPU (3) als Befehlsregister (31) fungiert.
  9. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, ferner mit einer Taktumschaltschaltung (152) zur Umschaltung einer Betriebstaktquelle für die CPU (3) auf einen von einem Taktanschluß (78) eingegebenen Takt oder auf einen durch einen eingebauten selbsterregten Oszillator (36) erzeugten Takt, wobei diese Takte gemäß einem Zustand eines Taktquellenauswahlbits umgeschaltet werden, der durch die CPU (3) eingestellt werden kann; und zu der Zeit des Wiederbeschreibens des nichtflüchtigen Speichers (2) ein Takt auf der Seite des selbsterregten Oszillators (36) als eine Betriebstaktquelle für die CPU (3) ausgewählt wird, während eine Taktquelle für Peripherievorrichtungen wie beispielsweise einen Zeitgeber und eine serielle I/O nicht von dem von dem Taktanschluß (78) eingegebenen Takt umgeschaltet wird.
  10. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 1, mit: einer Vielzahl von Betriebsarten, die durch einen an einen Betriebsartauswahleingabeanschluß (88, 89) angelegten Spannungspegel bestimmt werden, wobei eine zweite Betriebsart als eine Betriebsart konfiguriert ist, in der sich eine Rücksetzvektoradresse in einem externen Bereich befindet, auf die zugegriffen wird, nachdem ein Rücksetzen zurückgesetzt ist; und in dieser zweiten Betriebsart zumindest ein Bereich (102) zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher (2) nicht von der CPU (3) gelesen werden kann, während ein Wiederbeschreiben des Bereichs (102) zur Speicherung von Benutzersoftware in dem nichtflüchtigen Speicher (2) und eines Bereichs (103) zur Speicherung von Wiederbeschreibsteuerfirmware (103) erlaubt ist.
  11. Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher nach Anspruch 10, wobei ein Zustand des Betriebsartauswahleingabeanschlusses durch die CPU (3) gelesen werden kann.
DE10159901A 2001-03-08 2001-12-06 Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher Expired - Fee Related DE10159901B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP200165389 2001-03-08
JP2001065389A JP2002269065A (ja) 2001-03-08 2001-03-08 プログラム可能な不揮発性メモリを内蔵したマイクロコンピュータ

Publications (2)

Publication Number Publication Date
DE10159901A1 DE10159901A1 (de) 2002-09-26
DE10159901B4 true DE10159901B4 (de) 2005-03-31

Family

ID=18924050

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10159901A Expired - Fee Related DE10159901B4 (de) 2001-03-08 2001-12-06 Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher

Country Status (5)

Country Link
US (1) US6587916B2 (de)
JP (1) JP2002269065A (de)
KR (1) KR100658135B1 (de)
DE (1) DE10159901B4 (de)
TW (1) TW575811B (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6684290B2 (en) * 2001-10-18 2004-01-27 Kabushiki Kaisha Toshiba Memory rewriting apparatus and method for memory mapping rewriting program to same address space
JP2003167649A (ja) * 2001-11-28 2003-06-13 Mitsubishi Electric Corp 情報処理装置
US7599976B1 (en) * 2002-11-13 2009-10-06 Metrowerks Corporation System and method for cryptographic key generation
JP2004213102A (ja) * 2002-12-26 2004-07-29 Fujitsu Ltd マイクロコンピュータ
JP4201629B2 (ja) * 2003-03-26 2008-12-24 三洋電機株式会社 誤書込み防止回路および該誤書込み防止回路を含む半導体装置
JP2005038382A (ja) * 2003-06-26 2005-02-10 Sanyo Electric Co Ltd 制御装置及びデータ書き込み方法
US7281103B2 (en) 2003-10-01 2007-10-09 Kabushiki Kaisha Toshiba Microcomputer with a security function for accessing a program storage memory
KR100966895B1 (ko) * 2004-01-06 2010-06-30 삼성전자주식회사 불휘발성 메모리의 테스트 장치 및 방법
JP2005309839A (ja) * 2004-04-22 2005-11-04 Sanyo Electric Co Ltd 制御装置
KR100691486B1 (ko) * 2004-07-13 2007-03-09 주식회사 하이닉스반도체 반도체메모리소자
US8122193B2 (en) 2004-12-21 2012-02-21 Samsung Electronics Co., Ltd. Storage device and user device including the same
KR100578143B1 (ko) 2004-12-21 2006-05-10 삼성전자주식회사 버퍼 메모리에 저장된 데이터를 무효화시키는 스킴을 갖는저장 시스템 및 그것을 포함한 컴퓨팅 시스템
JP2008097135A (ja) * 2006-10-06 2008-04-24 Oki Electric Ind Co Ltd メモリ制御装置
JP5032137B2 (ja) 2007-01-24 2012-09-26 株式会社東芝 半導体記憶装置
JP4324810B2 (ja) 2007-04-10 2009-09-02 セイコーエプソン株式会社 マイクロコンピュータ、電子機器及びフラッシュメモリのプロテクト方式
WO2011011007A1 (en) * 2009-07-23 2011-01-27 Hewlett-Packard Development, Company, L.P. Non-volatile data-storage latch
WO2013012436A1 (en) 2011-07-18 2013-01-24 Hewlett-Packard Development Company, L.P. Reset vectors for boot instructions
US9507937B2 (en) * 2012-03-30 2016-11-29 Intel Corporation Reporting malicious activity to an operating system
KR101979732B1 (ko) * 2012-05-04 2019-08-28 삼성전자 주식회사 비휘발성 메모리 컨트롤러 및 비휘발성 메모리 시스템
US9459810B2 (en) * 2013-12-30 2016-10-04 Sandisk Technologies Llc Storage module and method for configuring command attributes
US10552090B2 (en) * 2017-09-07 2020-02-04 Pure Storage, Inc. Solid state drives with multiple types of addressable memory
US11609718B1 (en) 2017-06-12 2023-03-21 Pure Storage, Inc. Identifying valid data after a storage system recovery
WO2018231350A1 (en) 2017-06-12 2018-12-20 Pure Storage, Inc. Accessible fast durable storage integrated into a bulk storage device
US11592991B2 (en) 2017-09-07 2023-02-28 Pure Storage, Inc. Converting raid data between persistent storage types
US11593036B2 (en) 2017-06-12 2023-02-28 Pure Storage, Inc. Staging data within a unified storage element
JP7111892B2 (ja) * 2019-04-23 2022-08-02 株式会社Fuji 情報処理装置及び作業機
DE112019007425T5 (de) * 2019-05-31 2022-02-24 Micron Technology, Inc. Intelligente Ladungspumpenarchitektur für Flash-Arrays

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5444664A (en) * 1993-07-13 1995-08-22 Hitachi, Ltd. Flash memory and a microcomputer
US6181598B1 (en) * 1992-03-17 2001-01-30 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2461301A1 (fr) 1978-04-25 1981-01-30 Cii Honeywell Bull Microprocesseur autoprogrammable
US4752871A (en) * 1985-09-30 1988-06-21 Motorola, Inc. Single-chip microcomputer having a program register for controlling two EEPROM arrays
JPH03142629A (ja) * 1989-10-30 1991-06-18 Toshiba Corp マイクロコントローラ
US5313429A (en) * 1992-02-14 1994-05-17 Catalyst Semiconductor, Inc. Memory circuit with pumped voltage for erase and program operations
JPH05266219A (ja) 1992-03-17 1993-10-15 Hitachi Ltd マイクロコンピュータ
JP3563768B2 (ja) * 1994-05-31 2004-09-08 株式会社ルネサステクノロジ Romプログラム変更装置
US5991849A (en) * 1996-04-10 1999-11-23 Sanyo Electric Co., Ltd Rewriting protection of a size varying first region of a reprogrammable non-volatile memory
JP3976839B2 (ja) * 1996-07-09 2007-09-19 株式会社ルネサステクノロジ 不揮発性メモリシステムおよび不揮発性半導体メモリ
JP3062730B2 (ja) * 1996-07-10 2000-07-12 株式会社日立製作所 不揮発性半導体記憶装置および書込み方法
JPH10124474A (ja) * 1996-10-25 1998-05-15 Nec Corp マイクロコンピュータ
JPH10134024A (ja) 1996-10-31 1998-05-22 Sanyo Electric Co Ltd マイクロコンピュータ
JP3773607B2 (ja) * 1996-11-28 2006-05-10 Necエレクトロニクス株式会社 フラッシュeeprom内蔵マイクロコンピュータ
JPH10177563A (ja) * 1996-12-17 1998-06-30 Mitsubishi Electric Corp フラッシュメモリ内蔵マイクロコンピュータ
US6026014A (en) * 1996-12-20 2000-02-15 Hitachi, Ltd. Nonvolatile semiconductor memory and read method
US5991221A (en) * 1998-01-30 1999-11-23 Hitachi, Ltd. Microcomputer and microprocessor having flash memory operable from single external power supply
JPH10269109A (ja) * 1997-03-21 1998-10-09 Mitsubishi Electric Corp マイクロコンピュータ
TW389910B (en) 1997-07-03 2000-05-11 Seiko Epson Corp Programmable nonvolatile memory apparatus and microcomputer using the same
JP4229482B2 (ja) * 1997-10-24 2009-02-25 株式会社ルネサステクノロジ フラッシュメモリ内蔵マイクロコンピュータ
TW368626B (en) 1998-04-17 1999-09-01 Winbond Electronics Corp Microprocessor with self-programmed embedded flash memory and programming method
IT1302432B1 (it) * 1998-08-13 2000-09-05 Texas Instruments Italia Spa Sistema di azzeramento a blocchi a settori di dispositivi di memoriaa semicondutture flash
US6421757B1 (en) * 1998-09-30 2002-07-16 Conexant Systems, Inc Method and apparatus for controlling the programming and erasing of flash memory
JP2000194551A (ja) * 1998-12-28 2000-07-14 Oki Micro Design Co Ltd フラッシュメモリ書換え回路

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6181598B1 (en) * 1992-03-17 2001-01-30 Hitachi, Ltd. Data line disturbance free memory block divided flash memory and microcomputer having flash memory
US5444664A (en) * 1993-07-13 1995-08-22 Hitachi, Ltd. Flash memory and a microcomputer

Also Published As

Publication number Publication date
US20020129195A1 (en) 2002-09-12
KR100658135B1 (ko) 2006-12-15
US6587916B2 (en) 2003-07-01
TW575811B (en) 2004-02-11
JP2002269065A (ja) 2002-09-20
DE10159901A1 (de) 2002-09-26
KR20020072182A (ko) 2002-09-14

Similar Documents

Publication Publication Date Title
DE10159901B4 (de) Mikrocomputer mit eingebautem programmierbarem, nichtflüchtigem Speicher
DE10052877B4 (de) Mikrocontroller
DE69809527T2 (de) Externe Speichervorrichtung und Datenverarbeitungsverfahren
DE3586651T2 (de) Echtzeit-software-monitor und schreibschutzsteuergeraet.
DE3889390T2 (de) Schreibe-Schutzmechanismus für nichtflüchtigen Speicher.
DE4309814C2 (de) Nichtflüchtige Halbleiterspeichervorrichtung
DE69232303T2 (de) PC mit integriertem wiederbeschreibbarem ROM zur Speicherung des BIOS
DE102004056088B4 (de) Speichersystem mit Flashspeicher
DE10296986T5 (de) Automatischer Austausch einer detekten BIOS-Abbildung
DE102008003944A1 (de) Speichersystem und Programmierverfahren für ein Speichersystem
DE69314533T2 (de) IC-Karte
DE3048365A1 (de) Speicherschutzsystem und datenverarbeitungssystem mit einem solchen speicherschutzsystem
DE69416761T2 (de) Speicherschutzschaltung für EPROM
DE69601030T2 (de) Gefiltertes, serielles ereignisgesteuertes befehlstor für &#34;flash&#34; speicher
DE69428616T2 (de) Mikrorechner für IC-Karte
DE102004039178A1 (de) Speichersteuerschaltung, Smartcard und Lesesteuerverfahren
DE4328753C2 (de) Chip-Karte und Verfahren zum Überprüfen ihrer persönlichen Identifikationsnummer (PIN-Nummer)
EP1262856B1 (de) Programmgesteuerte Einheit
EP1037140B1 (de) Verfahren und Vorrichtung zur Absicherung bei Veränderung des Speicherinhalts von Steuergeräten
DE10322748B4 (de) Elektronische Steuereinrichtung
DE4042161C2 (de)
DE69513434T2 (de) Flash EEPROM mit Autofunktion zum automatischen Schreiben und Löschen
DE10197113B3 (de) Verfahren zum Aktivieren eines speziellen Programmiermodus eines Speichers und Einrichtung mit einem Speicher mit speziellem Programmiermodus
DE60009776T2 (de) Halbleiter-Festwertspeicher mit Einrichtung zum Ersetzen defekter Speicherzellen
DE10039183B4 (de) Mikrocomputer mit Programmrevisionsfähigkeit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8127 New person/name/address of the applicant

Owner name: MITSUBISHI ELECTRIC ENGINEERING CO., LTD., TOKIO/T

Owner name: MITSUBISHI DENKI K.K., TOKIO/TOKYO, JP

Owner name: MITSUBISHI ELECTRIC SEMICONDUCTOR APPLICATION ENGI

8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee