DE10251477B4 - Vorrichtung und Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke - Google Patents

Vorrichtung und Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke Download PDF

Info

Publication number
DE10251477B4
DE10251477B4 DE2002151477 DE10251477A DE10251477B4 DE 10251477 B4 DE10251477 B4 DE 10251477B4 DE 2002151477 DE2002151477 DE 2002151477 DE 10251477 A DE10251477 A DE 10251477A DE 10251477 B4 DE10251477 B4 DE 10251477B4
Authority
DE
Germany
Prior art keywords
data
rom
address
correction
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
DE2002151477
Other languages
English (en)
Other versions
DE10251477A1 (de
Inventor
Peter Haas
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE2002151477 priority Critical patent/DE10251477B4/de
Publication of DE10251477A1 publication Critical patent/DE10251477A1/de
Application granted granted Critical
Publication of DE10251477B4 publication Critical patent/DE10251477B4/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/816Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout
    • G11C29/822Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout for an application-specific layout for read only memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • G11C29/846Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by choosing redundant lines at an output stage

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

Vorrichtung zum selektiven Ändern von ROM-Daten insbesondere für Test- und Diagnosezwecke mit
einem Adressbus zum Übertragen von Adressdaten (A),
einem Datenverarbeitungs-Datenbus zum Übertragen von Datenverarbeitungsdaten (Dμp) einer Datenverarbeitungseinheit (DV);
einem ROM-Datenbus zum Übertragen von ROM-Daten (DROM) eines Nur-Lese-Speichers (SP);
einem Korrektur-Speicher (R) zum Speichern von Korrektur-Datensätzen mit jeweils Adressdaten (Ax) und Korrekturdaten (Dx);
einem Vergleicher (2)
zum Vergleichen der Adressdaten (A) des Adressbusses mit den im Korrektur-Datenspeicher (R) abgelegten Adressdaten (Ax),
wobei bei Adressengleichheit die Adressdaten (Ax) in ein freies Register des Korrektur-Speichers (R) eingetragen werden und
zum Vergleichen der ROM-Daten (DROM) des ROM-Datenbusses mit den Datenverarbeitungsdaten (Dμp) des Datenverarbeitungs-Datenbusses, wobei bei Datengleichheit (DROM, Dμp) der Dateninhalt des dazugehörigen Registers (X) des Korrektur-Speichers (R) für eine erneute Speicherbelegung freigegeben wird und bei Datenungleichheit der Korrektur-Speicher (R) mit den Datenverarbeitungsdaten (Dμp) inklusiv zugehöriger Adresse (Ax) belegt wird;
einer Auswahleinheit (1) zum...

Description

  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung und ein Verfahren zum selektiven Ändern von ROM-Daten und insbesondere auf eine Vorrichtung und ein Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke in Telekommunikationsanlagen.
  • In Telekommunikationsanlagen werden eine Vielzahl von Funktionen mittels spezieller Software für beispielsweise Anschlussbaugruppen zur Realisierung von Koppelfeldfunktionen bzw. einer Vorvermittlung und zur Realisierung von Paketdatenvermittlung benötigt. Ähnlich wie die Vermittlungssoftware von Vermittlungssystemen sind derartige Programme oftmals historisch gewachsen und müssen zudem besonders hohe Anforderungen hinsichtlich ihrer Zuverlässigkeit erfüllen.
  • Derartige Programme werden üblicherweise in sogenannten Nur-Lese-Speichern bzw. ROMs (Read Only Memory) abgelegt, wodurch sich erhebliche Probleme für eine Fehlerbereinigung bzw. ein sogenanntes „Debuggen" von darin abgelegten Programmen bzw. Programmmodulen ergeben. Während bei sogenannten Schreib-Lese-Speichern bzw. RAMs (Random Access Memory) die Daten flüchtig im Speicher abgelegt sind und jede Speicherzelle einzeln ohne besonderen Aufwand adressiert werden kann, lässt sich ein Nur-Lese-Speicher bzw. ROM üblicherweise nur ganz oder blockweise programmieren, wodurch sich ein äußerst aufwändiger Fehlerbereinigungs- bzw. Debug-Prozess ergibt. Insbesondere für Datenverarbeitungseinheiten bzw. Mikroprozessoren ohne eine spezielle Fehlerbereinigungs- bzw. Debug-Unterstützung können die für eine Fehlerbereinigung notwendigen sogenannten Break-Points bzw. Unterbrechungspunkte in einem Programmablauf nur mit großer Mühe realisiert werden. Dies liegt insbesondere auch daran, dass Nur-Lese-Speicher und Schreib-Lese-Speicher (RAM) nicht PIN-kompatibel sind und üblicherweise unterschiedliche Gehäuse aufweisen.
  • Zum gezielten Ändern derartiger ROM-Daten insbesondere für Test- und Diagnosezwecke mussten daher üblicherweise die gesamten ROM-Daten bzw. das komplette Programmmodul in einen gleich großen RAM-Schattenspeicher kopiert werden, in dem dann die Daten modifiziert werden konnten. Eine derartige Realisierung ist jedoch außerordentlich aufwändig und somit kostenintensiv.
  • Aus der US-Patentschrift US 5,813,043 ist ein Datenverarbeitungssystem bekannt, bei dem Adressdaten vergleichen werden.
  • Der Erfindung liegt daher die Aufgabe zu Grunde, eine Vorrichtung und ein Verfahren zum selektiven Ändern von ROM-Daten zu schaffen, die besonders einfach und kostengünstig ist.
  • Erfindungsgemäß wird diese Aufgabe hinsichtlich der Vorrichtung durch die Merkmale des Patentanspruchs 1 und hinsichtlich des Verfahrens durch die Maßnahmen des Patentanspruchs 7 gelöst.
  • Insbesondere durch die Verwendung eines Korrektur-Speichers zum Speichern von Korrektur-Datensätzen, einem Vergleicher zum Vergleichen der an einem Adressbus anliegenden Adressdaten mit den im Korrektur-Datenspeicher abgelegten Adressdaten und zum Vergleichen der auf einem ROM-Datenbus anliegenden ROM-Daten mit den Datenverarbeitungs-Daten einer Datenverarbeitungseinheit, einer Auswahleinheit zum Auswählen zwischen den ROM-Daten und den Korrektur-Daten und einer Steuereinheit zum Steuern der Auswahleinheit, des Vergleichers und des Korrektur-Speichers in Abhängigkeit von Programmier-/Lesebefeh len der Datenverarbeitungseinheit können in einem Nur-Lese-Speicher abgelegte Programme auf besonders einfache und kos tengünstige Weise mit zusätzlichen Unterbrechungspunkten bzw. Break-Points "virtuell" versehen werden, wodurch sich Test- und Diagnoseprozeduren wesentlich vereinfachen lassen.
  • Vorzugsweise steuert der Vergleicher die Auswahleinheit und den Korrektur-Speicher in Abhängigkeit vom Vergleichsergebnis an, wodurch die eigentliche Steuereinheit wesentlich entlastet wird und sich ein besonders einfacher Aufbau ergibt.
  • Insbesondere bei der Realisierung des Korrektur-Speichers mittels eines Adressregisters und eines zugehörigen Datenregisters kann der Aufbau weiter vereinfacht werden.
  • Hinsichtlich des Verfahrens wird grundsätzlich zwischen einem Verfahren zum selektiven Programmieren und zum Lesen der selektiv geänderten ROM-Daten unterschieden.
  • Beim Programmierverfahren werden zunächst ROM-Daten gelesen und eine Programmier-Betriebsart ausgewählt, wobei anschließend ein Vergleich der jeweils anliegenden Adressdaten mit einer Vielzahl von im Korrektur-Speicher gespeicherten Adressdaten durchgeführt wird. Sofern die Adressdaten nicht im Korrektur-Speicher enthalten sind, erfolgt ein Speichern der jeweils anliegenden Adressdaten an einer freien Stelle des Korrektur-Speichers. Sind andererseits die jeweils anliegenden Adressdaten bereits im Korrektur-Speicher enthalten, so wird im Korrektur-Speicher ein zu diesen Adressdaten zugehöriger Datensatz mit zumindest Korrekturdaten ausgewählt. Anschließend werden die von der Datenverarbeitungseinheit gesendeten und eigentlich einzuschreibenden Daten (Break-Points) mit den eingangs gelesenen ROM-Daten verglichen, wobei die ausgewählten Datensätze gelöscht werden, wenn die ROM-Daten gleich den Datenverarbeitungsdaten sind, während andererseits ein Eintragen der Datenverarbeitungsdaten in den ausgewählten Datensatz als Korrekturdaten erfolgt, sofern die ROM-Daten ungleich den Datenverarbeitungsdaten sind.
  • Vorzugsweise enthält der ausgewählte Datensatz ein Kennzeichen, wobei entweder zum Löschen der ausgewählten Datensätze lediglich das Kennzeichen als frei gesetzt wird, oder nach dem Eintragen der Datenverarbeitungsdaten als Korrekturdaten bzw. Break-Points in den ausgewählten Datensatz das Kennzeichen als belegt gesetzt wird. Auf diese Weise kann ein Programmieren bzw. Setzen und Löschen von Korrekturdaten bzw. Break-Points in Programmen, die in Nur-Lese-Speichern „virtuell" gespeichert werden sollen, besonders einfach durchgeführt werden.
  • Hinsichtlich des Lesens der selektiv bzw, virtuell geänderten ROM-Daten wird wiederum zunächst ein Lesen von ROM-Daten für jeweils anliegende Adressdaten aus dem Nur-Lese-Speicher sowie ein Auswählen einer Lese-Betriebsart durchgeführt, wobei anschließend ein Vergleich der jeweils anliegenden Adressdaten mit einer Vielzahl von im Korrektur-Speicher gespeicherten Adressen erfolgt. Sofern die anliegenden Adressdaten mit den gespeicherten Adressdaten übereinstimmen, werden an die Datenverarbeitungseinheit zur jeweils anliegenden Adresse zugehörigen Korrekturdaten ausgegeben. Wenn andererseits die anliegenden Adressdaten nicht mit den gespeicherten Adressdaten übereinstimmen, erfolgt ein Ausgeben von zu den jeweils anliegenden Adressdaten zugehörigen ROM-Daten des Nur-Lese-Speichers unmittelbar an die Datenverarbeitungseinheit. Auf diese Weise kann auch ein Lesen der selektiv bzw. virtuell geänderten ROM-Daten besonders einfach und ohne tatsächliche Änderung der Daten im Nur-Lese-Speicher durchgeführt werden.
  • In den weiteren Ansprüchen sind weitere vorteilhafte Ausgestaltungen der Erfindung gekennzeichnet.
  • Die Erfindung wird nachfolgend anhand eines Ausführungsbeispiels unter Bezugnahme auf die Zeichnung beschrieben.
  • Es zeigen:
  • 1 eine vereinfachte Blockdarstellung einer Vorrichtung zum selektiven Ändern von ROM-Daten;
  • 2 eine vereinfachte Darstellung zur Veranschaulichung eines Registeraufbaus in einem zugehörigen Korrektur-Speicher; und
  • 3 ein vereinfachtes Flussdiagramm zur Veranschaulichung wesentlicher Verfahrensschritte zum selektiven Ändern von ROM-Daten.
  • 1 zeigt eine vereinfachte Blockdarstellung einer Vorrichtung zum selektiven bzw. „virtuellen" Ändern von ROM-Daten, wie sie insbesondere in Telekommunikationsanlagen für Test- und Diagnosezwecke eingesetzt werden kann.
  • Gemäß 1 ist eine Datenverarbeitungseinheit DV, welche üblicherweise einen Mikroprozessor aufweist, über eine Vorrichtung zum selektiven Ändern von ROM-Daten bzw. einen Buskoppler BK mit einem Nur-Lese-Speicher SP verbunden, der vorzugsweise eine ROM-Speichereinheit (Read Only Memory) aufweist. Im Einzelnen ist die Datenverarbeitungseinheit DV unmittelbar über einen Adressbus zum Übertragen von Adressdaten A mit sowohl dem Nur-Lese-Speicher SP als auch der Vorrichtung zum selektiven Ändern von ROM-Daten bzw. dem Buskoppler BK verbunden. Die Adressdaten werden hierbei von der Datenverarbeitungseinheit DV erzeugt und ausgegeben und können andererseits am Buskoppler BK und dem Nur-Lese-Speicher SP gelesen werden.
  • Ferner ist die Datenverarbeitungseinheit DV über einen Datenverarbeitungs-Datenbus zum Übertragen von Datenverarbeitungsdaten Dμp mit dem Buskoppler BK verbunden, wobei dieser Bus einen bidirektionalen Datenbus zum Senden und Empfangen von zu den Adressdaten A zugehörigen Daten der Datenverarbeitungseinheit darstellt. Zur Realisierung eines Programmier- und Lesevorgangs ist der Buskoppler BK ferner über eine Leseleitung zum Empfangen eines Lesebefehls RD (Read), eine Schreibleitung zum Empfangen eines Schreibbefehls WR (Write) und eine Baustein-Auswahlleitung zum Empfangen eines Bau stein-Auswahl-Befehls CS (Chip Select) mit der Datenverarbeitungseinheit DV verbunden.
  • Andererseits ist der Nur-Lese-Speicher SP über eine Freigabeleitung zum Empfangen eines Freigabesignals OE (Output Enable) mit dem Buskoppler BK verbunden, wobei hierfür im Wesentlichen der empfangene Lesebefehl RD (Read) verwendet wird. Zum Ausgeben bzw. Senden von ROM-Daten DROM ist der Nur-Lese-Speicher SP ferner über einen ROM-Datenbus mit dem Buskoppler BK verbunden, wobei der ROM-Datenbus zur Realisierung der vorstehend beschriebenen Test- und Diagnoseverfahren lediglich einen unidirektionalen Bus zum Ausgeben der ROM-Daten DROM aufweisen muss. Im Nur-Lese-Speicher SP ist das eigentlich zu testenden bzw. zu diagnostizierende Programm abgelegt, wobei die dafür benötigten sogenannten Break-Points bzw. Unterbrechungspunkte vom Buskoppler BK virtuell realisiert werden.
  • Im Einzelnen besitzt der Buskoppler BK hierfür eine Auswahleinheit 1, die vorzugsweise eine Multiplexerstufe (MUX) aufweist und zwischen den ROM-Daten DROM des ROM-Datenbusses sowie in einem Datenregister 4 eines Korrektur-Speichers R abgelegten Korrekturdaten Dx auswählen kann, wie sie vereinfacht in 2 dargestellt sind.
  • Ferner besitzt der Buskoppler BK einen Vergleicher 2, der beispielsweise einen Zweifach-Komparator (CMP) aufweist und sowohl die am Adressbus anliegenden Adressdaten A mit in einem Adressregister 3 des Korrektur-Speichers R gespeicherten Adressdaten Ax vergleichen kann, wie sie wiederum in 2 vereinfacht dargestellt sind. Neben diesem Adressvergleich bzw. Vergleich von anliegenden Adressdaten A und gespeicherten Adressdaten Ax kann ferner ein Vergleich der ROM-Daten DROM des ROM-Datenbusses mit den von der Datenverarbeitungseinheit DV gesendeten Datenverarbeitungsdaten Dμp durchgeführt werden. Zur Realisierung von eindeutigen Schaltzuständen können der jeweilige Datenverarbeitungs-Datenbus und der ROM-Datenbus ferner steuerbare Leitungstreiber L1, L2 und L3 aufweisen.
  • Vorzugsweise wird gemäß 1 die Auswahleinheit 1 sowie der Korrektur-Speicher R bzw. das zugehörige Adressregister 3 und das zugehörige Datenregister 4 unmittelbar vom Vergleicher 2 bzw. von dessen Vergleichsergebnis gesteuert. Auf diese Weise kann der Schaltungsaufbau wesentlich vereinfacht werden. Lediglich für eine Betriebsart-Steuerung wäre demzufolge eine Steuereinheit 5 notwendig, mit der zwischen einer Betriebsart „Programmieren" bzw. „Setzen" und „Löschen" von Break-Points bzw. Korrekturdaten und einer Betriebsart „Lesen" ausgewählt werden kann. Darüber hinaus kann die Steuereinheit 5 auch übergeordnete Steueraufgaben zur unmittelbaren Ansteuerung der Auswahlstufe 1, des Vergleichers 2 und des Korrektur-Speichers R mit seinem Adressregister 3 und Datenregister 4 realisieren, wodurch sich jedoch ein Schaltungsaufwand erhöht.
  • Zur Veranschaulichung einer Funktionsweise des in 1 dargestellten Buskopplers BK sei zunächst der in 2 vereinfacht dargestellte Aufbau des Korrektur-Speichers R bzw. Patch-Registers beschrieben. Vorzugsweise besteht dieser Korrektur-Speicher R aus einer Vielzahl von Datensätzen bzw. Einzelregistern zur Speicherung von zumindest Adressdaten Ax in einem Adressfeld und Korrekturdaten Dx in einem zugehörigen Datenfeld. Darüber hinaus kann jeder dieser Datensätze ein Kennzeichen Fx in einem Flag-Feld aufweisen, wodurch sich insbesondere Löschoperationen wesentlich vereinfachen lassen. Ein besonderer Vorteil dieser Erfindung besteht nunmehr darin, dass im Korrektur-Speicher R nur so viele Datensätze bzw. Speicherplätze für die Schreibdaten enthalten sein müssen, wie es die spezifische Anwendung erfordert. In dem beschriebenen Anwendungsbeispiel bestimmt demzufolge die Anzahl der beabsichtigten Break-Points bzw. Unterbrechungspunkte die Speichergröße bzw. Anzahl x = 1 bis n der Datensätze.
  • Im Normalbetrieb bzw. in der Betriebsart „Lesen" wird der Buskoppler BK derart von der Datenverarbeitungseinheit DV über die Steuereinheit 5 angesteuert, dass alle ROM-Daten DROM direkt vom Nur-Lese-Speicher SP lesbar sind. Genauer gesagt wird hierbei der Lesebefehl RD (Read) unmittelbar an den Nur-Lese-Speicher SP an dessen Freigabe-Eingang OE (Output Enable) weitergeleitet, wodurch die zu den Adressdaten A zugehörigen ROM-Daten DROM an die Auswahleinheit 1 ausgegeben werden und von dieser unmittelbar bzw. über die Leitungstreiber L1 an die Datenverarbeitungseinheit DV weitergereicht werden.
  • In der Betriebsart „Programmieren" bzw. zum „Setzen" oder „Löschen" eines Break-Points wird nunmehr auf eine zu einer am Adressbus anliegenden Adresse bzw. zu anliegenden Adressdaten A scheinbar, d.h. virtuell, geschrieben. Hierzu wird zunächst ein Lesen im Nur-Lese-Speicher SP über einen Lesebefehl RD für die gleichen Adressdaten A eingeleitet. Zusätzlich wird vom Vergleicher bzw. einer Vergleichslogik 2 im Korrektur-Speicher R bzw. im Adressregister 3 nachgesehen, ob diese Adressdaten A bereits gespeichert bzw. vorhanden sind. Bei vorhandener Übereinstimmung der Adressdaten A am Adressbus und der im Korrektur-Speicher R gespeicherten Adressdaten Ax wird dieser Datensatz, d.h. Adressdaten Ax und zugehörige Daten Dx des Datenfeldes, verwendet. Falls keine Übereinstimmung zwischen den Adressdaten A und den gespeicherten Adressdaten Ax vorhanden ist, wird ein neuer Datensatz im Korrektur-Speicher R verwendet, sofern noch Datensätze frei sind.
  • Zum Setzen von Break-Points bzw. Unterbrechungspunkten werden demzufolge die Datenverarbeitungsdaten Dμp des Mikroprozessors bzw. der Datenverarbeitungseinheit DV in das entsprechende Datenregister 4 und die zugehörige Adresse in das Adressregister 3 eingetragen, sofern die ROM-Daten des Nur-Lese-Speichers SP ungleichen Inhalt wie die Datenverarbeitungsdaten Dμp der Datenverarbeitungseinheit DV haben. Zusätzlich kann diese Registerkombination bzw. dieser Datensatz über ein Kennzeichen Fx als belegt gekennzeichnet werden.
  • Zum Löschen von Break-Points bzw. Unterbrechungspunkten kann bei vorhandenen Kennzeichen-Feldern das entsprechende Kennzeichen Fx für eine jeweilige Registerkombination bzw. einen jeweiligen Datensatz als frei gesetzt werden, wodurch es für neue Einträge freigegeben wird, sofern die Datenverarbeitungsdaten Dμp identisch mit den ROM-Daten DROM sind.
  • Nach einem derartigen Setzen oder Löschen von Unterbrechungspunkten bzw. Break-Points werden wiederum in einer Betriebsart „Lesen" bei jedem Lesezugriff zunächst die am Adressbus anliegenden Adressdaten vom Vergleicher 2 mit den im Korrektur-Speicher R gespeicherten Adressdaten Ax verglichen, sofern diese über das Kennzeichen Fx als belegt gekennzeichnet sind, wobei bei einer Übereinstimmung das im Datenfeld des entsprechenden Datensatzes bzw. Datenregisters 4 abgelegte Korrektur-Datum Dx über die Auswahleinheit 1 an die Datenverarbeitungseinheit DV weitergegeben wird. Sind die am Adressbus anliegenden Adressdaten in keinem der belegten Adressregister bzw. Adressfelder enthalten, dann wird die Auswahleinheit 1 derart angesteuert, dass wiederum die ROM-Daten DROM direkt zu der Datenverarbeitungseinheit DV weitergeleitet werden. Auf diese Weise können während eines Betriebs (virtuelle) Änderungen in ROM-Speicherbereichen durchgeführt werden, ohne den ROM-Speicher vorher durch einen Schreib-Lese- bzw. RAM-Speicher zu ersetzen oder die ROM-Daten in einen gleich großen RAM-Schattenspeicher zu kopieren. Ein weiterer Vorteil der vorliegenden Erfindung besteht darin, dass nur so viele Datenspeicher bzw. Korrektur-Speicher vorzuleisten sind, wie es eine jeweilige Anwendung erfordert. Die einzelnen Daten des Nur-Lese-Speichers SP sind jedoch in diesem Umfang ohne Einschränkung in dem gesamten auswählbaren Adressbereich des Nur-Lese-Speichers änderbar.
  • 3 zeigt ein vereinfachtes Flussdiagramm zur Veranschaulichung wesentlicher Verfahrensschritte, wie sie vom Buskoppler BK ausgeführt werden.
  • Gemäß 3 werden nach einem Start im Schritt S0 zunächst die ROM-Daten DROM zu einer gerade anliegenden Adresse bzw. zu anliegenden Adressdaten A aus dem Nur-Lese-Speicher SP in Schritt S1 ausgelesen. Dieser Schritt kann jedoch auch zu einem späteren Zeitpunkt und insbesondere nach dem Auswählen einer Betriebsart in Schritt S2 durchgeführt werden.
  • Das Auswählen der Betriebsart in Schritt S2 ermöglicht zunächst das Durchführen von zwei unterschiedlichen Zyklustypen, nämlich dem Lesen oder dem Programmieren bzw. Setzen und Löschen von sogenannten Break-Points bzw. Unterbrechungspunkten. Diese Auswahl wird üblicherweise von der Datenverarbeitungseinheit DV über die Steuereinheit 5 im Buskoppler BK durchgeführt.
  • Falls in Schritt S2 die Betriebsart „Programmieren" ausgewählt wurde, erfolgt in Schritt S3 zunächst ein Vergleich der auf dem Adressbus jeweils anliegenden Adressdaten A mit den im Korrektur-Speicher bzw. Patch-Register R gespeicherten Adressdaten Ax. Bei Übereinstimmung bzw. wenn die jeweils anliegenden Adressdaten A im Korrektur-Speicher R bzw. im Adressregister 3 enthalten waren, so wird in einem Schritt S4 ein zu den anliegenden Adressdaten zugehöriger Datensatz ausgewählt, wobei zumindest zugehörige Korrekturdaten Dx betrachtet werden.
  • Andererseits werden in einem Schritt S5 die jeweils anliegenden Adressdaten A an einer freien Speicherstelle x des Korrektur-Speichers R eingetragen, sofern die anliegenden Adressdaten A nicht in einem belegten Datensatz des Korrektur-Speichers enthalten waren. Ob ein Datensatz bzw. ein Korrektur-Register als belegt gilt oder nicht, kann beispielsweise durch ein Kennzeichen bzw. Flag Fx angezeigt werden.
  • Anschließend werden in einem Schritt S6 die von der Datenverarbeitungseinheit DV gesendeten bzw. zu schreibenden Daten verarbeitungsdaten Dμp mit den gelesenen ROM-Daten DROM verglichen.
  • Wenn die ROM-Daten DROM gleich den Schreib- bzw. Datenverarbeitungsdaten Dμp sind, so werden in einem Schritt S9 die in Schritt S4 oder Schritt S5 ausgewählten Datensätze bzw. Korrekturregister gelöscht. Vorzugsweise geschieht dieses Löschen der ausgewählten Datensätze dadurch, dass das zugehörige Kennzeichen Fx als frei gesetzt wird. Ein Löschen von Datensätzen ist dadurch besonders einfach zu realisieren. In gleicher Weise könnten jedoch auch die Daten in den Datenfeldern oder Adressfeldern des Korrektur-Speichers R mit vorbestimmten Werten überschrieben werden.
  • Wenn anderenfalls die ROM-Daten DROM ungleich zu den Schreibdaten bzw. von der Datenverarbeitungseinheit DV gesendeten Datenverarbeitungsdaten Dμp sind, so werden in einem Schritt S7 diese Datenverarbeitungsdaten Dμp als Korrekturdaten Dx in das Datenfeld des ausgewählten Datensatzes eingetragen, wodurch der eigentliche Unterbrechungspunkt bzw. Break-Point gesetzt wird. Bei Verwendung der vorstehend beschriebenen Kennzeichen Fx kann ferner in einem Schritt S8 nach dem Eintragen der Datenverarbeitungsdaten Dμp in das Datenfeld des ausgewählten Datensatzes das Kennzeichen Fx als belegt gesetzt werden. Sowohl nach Schritt S8 als auch nach Schritt S9 endet das Verfahren in Schritt S13.
  • Wenn andererseits im Schritt S2 die Betriebsart „Lesen" ausgewählt wurde, so werden in einem nachfolgenden Schritt S10 wiederum zunächst die anliegenden Adressdaten A mit der Vielzahl (n) von im Korrektur-Speicher R gespeicherten Adressdaten Ax verglichen, wobei im Falle der Verwendung von Kennzeichen Fx wiederum lediglich die als belegt gekennzeichneten Datensätze bzw. Patch-Register in Betracht gezogen werden. Da der Schritt S10 im Wesentlichen mit dem Schritt S3 übereinstimmt, kann dieser Vergleich selbstverständlich auch zu einem früheren Zeitpunkt durchgeführt werden, wobei optional ein jeweiliger Schritt S2 zur Auswahl einer jeweiligen Betriebsart nachgeschaltet sein könnte.
  • Wenn die anliegenden Adressdaten A mit den gespeicherten und optional als belegt gekennzeichneten Adressdaten Ax übereinstimmen, so werden in einem Schritt S11 die zu den jeweils anliegenden Adressdaten A bzw. gespeicherten Adressdaten Ax zugehörigen Korrekturdaten Dx des Korrektur-Speichers R ersatzweise für die eigentlichen ROM-Daten ausgegeben und an die Datenverarbeitungseinheit DV weitergeleitet, wodurch das Lesen des virtuell im Nur-Lese-Speicher abgelegten Unterbrechungspunktes bzw. Break-Points realisiert wird.
  • Wenn andererseits die anliegenden Adressdaten A nicht mit den gespeicherten und optional als belegt gekennzeichneten Adressdaten Ax übereinstimmen, so werden in einem Schritt S12 wie beim Normalbetrieb die zu den jeweils anliegenden Adressdaten A zugehörigen ROM-Daten DROM des Nur-Lese-Speichers SP an die Datenverarbeitungseinheit DV unmittelbar ausgegeben. Sowohl nach Schritt S11 als auch nach Schritt S12 wird wiederum das Programm im Schritt S13 beendet.
  • Auf diese Weise erhält man eine automatische und effektive Verwaltung von Schattenspeichern auf variablen ROM-Adressen, wobei die Größe des Schattenspeichers wesentlich kleiner als die Größe des Nur-Lese- bzw. ROM-Speichers sein kann.
  • Die Erfindung wurde vorstehend anhand eines Buskopplers zur Anbindung von Mikroprozessoren an ROM-Speicher in Telekommunikationsanlagen beschrieben. Sie ist jedoch nicht darauf beschränkt und umfasst in gleicher Weise alternative Vorrichtungen und Verfahren zum selektiven bzw. virtuellen Ändern von ROM-Daten insbesondere für Test- und Diagnosezwecke.

Claims (8)

  1. Vorrichtung zum selektiven Ändern von ROM-Daten insbesondere für Test- und Diagnosezwecke mit einem Adressbus zum Übertragen von Adressdaten (A), einem Datenverarbeitungs-Datenbus zum Übertragen von Datenverarbeitungsdaten (Dμp) einer Datenverarbeitungseinheit (DV); einem ROM-Datenbus zum Übertragen von ROM-Daten (DROM) eines Nur-Lese-Speichers (SP); einem Korrektur-Speicher (R) zum Speichern von Korrektur-Datensätzen mit jeweils Adressdaten (Ax) und Korrekturdaten (Dx); einem Vergleicher (2) zum Vergleichen der Adressdaten (A) des Adressbusses mit den im Korrektur-Datenspeicher (R) abgelegten Adressdaten (Ax), wobei bei Adressengleichheit die Adressdaten (Ax) in ein freies Register des Korrektur-Speichers (R) eingetragen werden und zum Vergleichen der ROM-Daten (DROM) des ROM-Datenbusses mit den Datenverarbeitungsdaten (Dμp) des Datenverarbeitungs-Datenbusses, wobei bei Datengleichheit (DROM, Dμp) der Dateninhalt des dazugehörigen Registers (X) des Korrektur-Speichers (R) für eine erneute Speicherbelegung freigegeben wird und bei Datenungleichheit der Korrektur-Speicher (R) mit den Datenverarbeitungsdaten (Dμp) inklusiv zugehöriger Adresse (Ax) belegt wird; einer Auswahleinheit (1) zum Auswählen zwischen den ROM-Daten des ROM-Datenbusses und den Korrekturdaten (Dx) des Korrektur-Speichers (R); und einer Steuereinheit (5) zum Steuern der Auswahleinheit (1), des Vergleichers (2) und des Korrektur-Speichers (R) in Abhängigkeit von Programmier-/Lesebefehlen der Datenverarbeitungseinheit (DV).
  2. Verfahren zum selektiven Ändern von ROM-Daten insbesondere für Test- und Diagnosezwecke mit den Schritten: a) Lesen (S1) von ROM-Daten (DROM) eines Nur-Lese-Speichers (SP) für jeweils anliegende Adressdaten (A) und Auswählen (S2) einer Betriebsart Programmieren; b) Vergleichen (S3) der jeweils anliegenden Adressdaten (A) mit einer Vielzahl von in einem Korrektur-Speicher (R) gespeicherten Adressdaten (Ax); c) Speichern (S5) der jeweils anliegenden Adressdaten an einer freien Stelle des Korrektur-Speichers (R), wenn die Adressdaten (A) nicht im Korrektur-Speicher (R) enthalten waren, oder Auswählen (S4) eines zu den Adressdaten (A) zugehörigen Datensatzes mit zumindest Korrekturdaten (Dx), wenn die Adressdaten (A) im Korrektur-Speicher (R) enthalten waren; d) Vergleichen (S6) von zu schreibenden Datenverarbeitungs-Daten (Dμp) mit den gelesenen ROM-Daten (DROM) ; und e) Löschen (S9) des ausgewählten Datensatzes, wenn die ROM-Daten (DROM) gleich den Datenverarbeitungsdaten (Dμp) sind, oder Eintragen (S7) der Datenverarbeitungsdaten (Dμp) als Korrektur-Daten (Dx) in den ausgewählten Datensatz, wenn die ROM-Daten (DROM) ungleich den Datenverarbeitungsdaten (Dμp) sind.
  3. Vorrichtung nach Patentanspruch 1, dadurch gekennzeichnet, dass der Vergleicher (2) die Auswahleinheit (1) und den Korrektur-Speicher (R) in Abhängigkeit vom Vergleichsergebnis ansteuert.
  4. Vorrichtung nach Patentanspruch 1 oder 2, dadurch gekennzeichnet, dass der Korrektur-Speicher (R) ein Adressregister (3) und ein Datenregister (4) aufweist.
  5. Vorrichtung nach einem der Patentansprüche 1 bis 3, dadurch gekennzeichnet, dass der Korrektur-Speicher (R) ferner Kennzeichen (Fx) zum Anzeigen eines Belegt-Zustandes von jeweiligen Korrektur-Datensätzen aufweist.
  6. Vorrichtung nach einem der Patentansprüche 1 bis 4, dadurch gekennzeichnet, dass der Datenverarbeitungs-Datenbus und der ROM-Datenbus steuerbare Leitungstreiber (L1, L2, L3) aufweisen.
  7. Vorrichtung nach einem der Patentansprüche 3 bis 5, dadurch gekennzeichnet, dass der Vergleicher (2) das Adressregister (3) und das Datenregister (4) in Abhängigkeit vom Vergleichsergebnis ansteuert.
  8. Verfahren nach Patentanspruch 7, dadurch gekennzeichnet, dass der ausgewählte Datensatz ein Kennzeichen (Fx) aufweist und in Schritt e) zum Löschen (S9) des ausgewählten Datensatzes das Kennzeichen (Fx) als frei gesetzt wird, oder nach dem Eintragen (S7) der Datenverarbeitungsdaten (Dμp) im ausgewählten Datensatz das Kennzeichen (Fx) als belegt gesetzt wird (S8).
DE2002151477 2002-11-05 2002-11-05 Vorrichtung und Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke Expired - Fee Related DE10251477B4 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2002151477 DE10251477B4 (de) 2002-11-05 2002-11-05 Vorrichtung und Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2002151477 DE10251477B4 (de) 2002-11-05 2002-11-05 Vorrichtung und Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke

Publications (2)

Publication Number Publication Date
DE10251477A1 DE10251477A1 (de) 2004-05-19
DE10251477B4 true DE10251477B4 (de) 2006-03-02

Family

ID=32115238

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2002151477 Expired - Fee Related DE10251477B4 (de) 2002-11-05 2002-11-05 Vorrichtung und Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke

Country Status (1)

Country Link
DE (1) DE10251477B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2910145A1 (fr) * 2006-12-18 2008-06-20 St Microelectronics Sa Procede et dispositif pour securiser la lecture d'une memoire.
US8738919B2 (en) * 2007-04-20 2014-05-27 Stmicroelectronics S.A. Control of the integrity of a memory external to a microprocessor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813043A (en) * 1996-07-12 1998-09-22 Motorola, Inc. Method and system including memory patching utilizing a transmission control signal and circuit
EP1118935A2 (de) * 1999-12-30 2001-07-25 Micronas GmbH Schaltungsanordnung und Verfahren zur Erzeugung und zum Auslesen von Ersatzdaten
US20020144235A1 (en) * 2001-03-30 2002-10-03 Charles Simmers Debugging embedded systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5813043A (en) * 1996-07-12 1998-09-22 Motorola, Inc. Method and system including memory patching utilizing a transmission control signal and circuit
EP1118935A2 (de) * 1999-12-30 2001-07-25 Micronas GmbH Schaltungsanordnung und Verfahren zur Erzeugung und zum Auslesen von Ersatzdaten
US20020144235A1 (en) * 2001-03-30 2002-10-03 Charles Simmers Debugging embedded systems

Also Published As

Publication number Publication date
DE10251477A1 (de) 2004-05-19

Similar Documents

Publication Publication Date Title
DE2355993C3 (de) Programmierbare Datenverarbeitungsanlage
EP1720100B1 (de) Verfahren und Vorrichtung zur Emulation einer programmierbaren Einheit
DE2126206C3 (de) Datenverarbeitungseinrichtung mit Speicherschutzanordnung
DE69821426T2 (de) Speicheranordung, und Datenverarbeitungssystem und -Verfahren
DE3015875A1 (de) Speicherzugriffssystem und verfahren fuer einen zugriff zu einem digitalen speichersystem
DE19515661C2 (de) Halbleiter-Plattenvorrichtung
DE3339645A1 (de) Bidirektional arbeitende anordnung zur justierung von datenbytes in einer digitalen datenverarbeitungsanlage
EP0500973B1 (de) EEPROM und Verfahren zum Ändern einer Initialisierungsroutine im EEPROM
DE19934191B4 (de) Elektronische Steuerungseinheit und Steuerungsverfahren zum Speichern eines Neuschreibungszählwerts eines nichtflüchtigen Speichers
DE2720864A1 (de) Verfahren und anordnung zum lueckenfreien einspeichern einer anzahl von datenblocks unbestimmter laenge
CH625895A5 (de)
DE19543411C2 (de) Analog-Digital-Wandlervorrichtung
DE10251477B4 (de) Vorrichtung und Verfahren zum selektiven Ändern von ROM-Daten für Test- und Diagnosezwecke
DE102005026256A1 (de) Verfahren zum Durchführen des Datentransfers zwischen Programmelementen eines Prozesses, Puffer Objekt zum Durchführen des Datentransfers, sowie Drucksystem
DE19905541B4 (de) Verfahren zum Steuern des Speicherzugriffs in einer Maschine mit einem Speicher mit ungleichmäßigem Zugriff und Maschine zur Ausführung eines solchen Verfahrens
DE3210616A1 (de) Rechner
DE3820728A1 (de) Verfahren zum pruefen eines festwertspeichers und anordnung zur durchfuehrung des verfahrens
DE3200626A1 (de) Verfahren zur ueberpruefung, ob ein speicher in ein mikrocomputersystem eingefuegt ist
DE19802868C2 (de) Verfahren und Vorrichtung zur Datenakquisition
DE4122831C2 (de) Integrierte Halbleiterschaltung
EP1999731B1 (de) Speicherverwaltung von chipkarten
DE19843048C2 (de) Verfahren für einen Softwarezugriffswechsel in einem Netzwerkknoten eines Telekommunikationsnetzwerkes sowie ein zum Durchführen eines solchen Verfahrens geeigneter Netzwerkknoten
DE102005018790A1 (de) Integrierter Schaltkreis und Verfahren zum Betreiben und parallelen Testen von integrierten Schaltkreisen
DE10331543B4 (de) Verfahren zum Testen einer zu testenden Schaltungseinheit und Schaltungsanordnung zur Durchführung des Verfahrens
DE3149678A1 (de) Anordnung zur zwischenspeicherung von zwischen zwei funktionseinheiten in beiden richtungen zu uebertragenden informationen in einem pufferspeicher

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee