DE602005005289T2 - Verfahren, System und Computerprogrammprodukt zur Korrektur von Fehlern in einem Festwertspeicher - Google Patents

Verfahren, System und Computerprogrammprodukt zur Korrektur von Fehlern in einem Festwertspeicher Download PDF

Info

Publication number
DE602005005289T2
DE602005005289T2 DE602005005289T DE602005005289T DE602005005289T2 DE 602005005289 T2 DE602005005289 T2 DE 602005005289T2 DE 602005005289 T DE602005005289 T DE 602005005289T DE 602005005289 T DE602005005289 T DE 602005005289T DE 602005005289 T2 DE602005005289 T2 DE 602005005289T2
Authority
DE
Germany
Prior art keywords
address
memory
processing core
code
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE602005005289T
Other languages
English (en)
Other versions
DE602005005289D1 (de
Inventor
Nicolas Bernard Grossier
Chilakala Ravi Kumar
Saverio Pezzini
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.)
STMicroelectronics SRL
Original Assignee
STMicroelectronics SRL
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 STMicroelectronics SRL filed Critical STMicroelectronics SRL
Publication of DE602005005289D1 publication Critical patent/DE602005005289D1/de
Application granted granted Critical
Publication of DE602005005289T2 publication Critical patent/DE602005005289T2/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/66Updates of program code stored in read-only memory [ROM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/322Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
    • G06F9/328Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address for runtime instruction patching

Landscapes

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

Description

  • Bereich der Erfindung
  • Die Erfindung betrifft Fehlerkorrekturtechniken in Nur-Lese-Speichervorrichtungen.
  • Beschreibung des einschlägigen Standes der Technik
  • Die meisten gegenwärtig benutzten Applikationscodes sind in Nur-Lese-Speichervorrichtungen wie zum Beispiel Nur-Lese-Speichervorrichtungen (ROM), Flash-Speichervorrichtungen und elektrisch löschbare programmierbare Nur-Lese-Speichervorrichtungen (EEPROM) eingebettet.
  • Speicher-Ausbesserungen werden bei Nur-Lese-Speichern oder nichtflüchtigen Speichern, die eine Sonderprozedur erfordern, um aktualisiert zu werden (zum Beispiel Flash), weithin eingesetzt. Eine Speicher-Ausbesserung ist eine lesbare/beschreibbare einheitliche Schatten-Menge von Daten (Instruktionen oder Daten mit 16/32 Bit), die automatisch anstelle der Originaldaten selektiert wird, wenn sie freigegeben ist. Eine Speicher-Ausbesserung ist nützlich, um spät aufgefundene Fehler in Applikationscodes (ROM-Korrektur) zu korrigieren und um in einer Nur-Lese-Speichervorrichtung (ROM, Flash, EEPROM) lokalsierten Code auszutesten, die Möglichkeit vorsehend, verschiedene Stoppunkte auf einer spezifischen Adresse zu setzen.
  • Manchmal werden Ausbesserungen benötigt, um ein bestimmtes Problem in Ordnung zu bringen, insbesondere wenn die Korrektur einer einzelnen Instruktion nicht ausreicht, um das Problem zu lösen.
  • Wie in 1 dargestellt, kann eine Ausbesserung mittels eines Komparators 10, eines Ausbesserungs-Adresswertes 20 sowie eines Ausbesserungs-Datenwertes 30 implementiert werden. Wenn eine Adresse 50, welche einen Fehler enthält und ausgebessert werden muss, in Zugriff genommen wird, detektiert der Komparator 10 dies durch Vergleichen der Adresse 50 mit dem Ausbesserungs-Adresswert 20. Die Ausbesserungsdaten 30 werden als ein Lesedatenelement 60 anstelle der in der durch die Adresse 50 in einem Speicher 40 angegebenen gespeicherten Daten zurückgegeben.
  • Im Falle eines spät entdeckten Programmfehlers kann es schwierig sein, den Code unter Verwendung lediglich einer Ausbesserungs-Adresse zu korrigieren. Zu diesem Zwecke ist es üblich, verschiedene Ausbesserungen zu verwenden oder zu einer in einem flüchtigen Speicher wie etwa einem statischen Speicher mit wahlfreiem Zugriff (SRAM) oder einem dynamischen Speicher mit wahlfreiem Zugriff (DRAM) geschriebenen Ausbesserungs-Code-Funktion zu "springen".
  • Das Springen auf eine neue Adresse, die in der ARM-V4-Prozessor-Architektur weiter als +/– 32 MByte von dem aktuellen PC entfernt ist, erfordert normalerweise mindestens zwei Instruktionen: Eine erste Instruktion, um ein Register mit dem neuen PC-Adressziel zu laden, sowie eine BX-Instruktion oder eine LDR PC, [Rn] Instruktion, um zu dem neuen PC-Adressziel zu springen.
  • Dieses erfordert, dass in dem Speicherraum mindestens zwei Instruktions-Adressen mit einer Ausbesserung versehen werden, und demgemäß den Gebrauch von zwei Speicher-Ausbesserungen: Zwei Komparatoren, zwei Ausbesserungs-Datenregister, zwei Ausbesserungs-Adressregister (oder ein Ausbesserungs-Adressregister und einen "Inkrementierer", um den Wert der zweiten Ausbesserungs-Adresse zu generieren, welches die Adresse ist, die unmittelbar auf den Wert des Ausbesserungs-Adressregisters folgt).
  • Genauer gesagt, betrifft die vorliegende Erfindung ein Verfahren und ein System gemäß dem Oberbegriff der Ansprüche 1 und 6, die zum Beispiel aus US 2001/013091 A1 bekannt sind.
  • Aufgabenstellung und Kurzfassung der Erfindung
  • Während derartige Anordnungen aus dem Stand der Technik fähig sind, befriedigende Resultate zu liefern, wird ein Bedarf für eine verbesserte Lösung wahrgenommen, welche angepasst ist, um sicherzustellen, dass [nur] eine minimale Menge von Ausbesserungen erforderlich ist, um einen Fehler in einem in einer Nur-Lese-Speichervorrichtung gespeicherten Code zu korrigieren.
  • Die Aufgabe der Erfindung besteht somit darin, eine vollkommen zufriedenstellende Antwort auf dieses Bedürfnis zu finden.
  • Gemäß der vorliegenden Erfindung wird diese Aufgabe gelöst mittels eines Verfahrens mit den in dem Anspruch 1 ausgeführten Merkmalen, welche folgen. Die Erfindung betrifft ebenso ein entsprechendes System wie in Anspruch 6 ausgeführt, als auch ein entsprechendes Computerprogrammprodukt wie in Anspruch 19 ausgeführt, das in den Speicher von mindestens einem Computer ladbar ist und das Software-Codeteile zum Ausführen der Schritte des Verfahrens der Erfindung, wenn das Produkt auf einem Computer zur Ausführung gebracht wird, beinhaltet. Wie hierin verwendet, beabsichtigt die Bezugnahme auf ein Computerprogrammprodukt, gleichwertig zu sein zur Bezugnahme auf ein computerlesbares Medium, welches Instruktionen zum Steuern eines Computers enthält, um die Ausführung des Verfahrens der Erfindung zu koordinieren. Die Bezugnahme auf "mindestens einen Computer" beabsichtigt offensichtlich, die Möglichkeit hervorzuheben, dass die vorliegende Erfindung in einer verteilten/modularen Art und Weise implementiert wird.
  • Die Ansprüche bilden einen integralen Teil der hierin gelieferten Offenbarung der Erfindung.
  • Ein signifikanter Vorzug der hierin beschriebenen Anordnung besteht darin, dass sie es erlaubt, einen langen Sprung in lediglich einer Instruktion zu implementieren.
  • Ein weiterer Vorzug der hierin beschriebenen Anordnung ist die Möglichkeit, lediglich eine Ausbesserung anstelle von zweien zu verwenden und daher mehr verfügbare Ausbesserungen zu liefern (oder weniger Gatter zum Implementieren äquivalenter Funktionalität zu verwenden).
  • Kurze Beschreibung der beigefügten Zeichnungen
  • Die Erfindung wird nunmehr lediglich anhand von Beispielen unter Bezugnahme auf die beigeschlossenen Figuren der Zeichnung beschrieben werden, wobei:
  • 1 Bezug nehmend auf den Stand der Technik, bereits vorstehend beschrieben worden ist;
  • 2 eine exemplarische Repräsentation einer Ausbesserung-Implemenation gemäß der hierin beschriebenen Anordnung ist; und
  • 3 ein Beispiel eines Zeitsteuerdiagramms zeigt, das die hier beschriebene Anordnung erläutert.
  • Detaillierte Beschreibung bevorzugter Ausführungsformen der Erfindung
  • Es ist möglich, die Tatsache zu betonen, dass die hierin beschriebene Anordnung es ermöglicht, eine Lang-Sprung-Ausbesserung durch Ausbessern lediglich einer Instruktion zu implementieren. Die Schwierigkeit beim Ausbessern von Speichern besteht im Allgemeinen in der Identifikation der richtigen, zum Implementieren der Ausbesserung zu ersetzenden Instruktion. Dies wird sogar noch schwieriger, wenn es erforderlich ist, mehr als eine Instruktion mit einer Ausbesserung zu versehen, beispielsweise im Fall einer Implementation eines langen Sprunges.
  • Ein optimierter Code kann einige Zweige aufweisen, die bei der Adresse n in die Funktion eintreten, und Zweige, die in die Funktion bei der Adresse n + 1 eintreten. Wenn es aus irgendwelchen Gründen erforderlich ist, die Adresse n mit einer Ausbesserung zu versehen, dann ist es nicht mehr möglich, einen langen Sprung zu verwenden, wenn [dafür] mehr als eine Instruktion benötigt wird (zum Beispiel "MOVE R0 = MSB der neuen Adresse", "ADD PC = R0 << 16 + LSB der neuen Adresse"), da der Zweig an der Adresse n + 1 einen fehlerhaften Ausführungsfluss erzeugen würde (in diesem Fall einen Sprung zur Adresse R0 << 16 + LSB der neuen Adresse ohne die Initialisierung von R0).
  • Die hierin beschriebene Anordnung implementiert im Wesentlichen eine kostengünstige Pseudo-Langsprung-Instruktion, welche lediglich eine [einzelne] Ausbesserung verwendet. Dieses vermindert demgemäß die Anzahl benötigter Ausbesserungen, um einen Fehler in dem Code zu korrigieren (oder erhöht die Anzahl zur Fehlerkorrektur verfügbarer Ausbesserungen).
  • Die hierin beschriebene Anordnung basiert auf nOPC-Signalen, die durch den Kern eines ARM-Mikroprozessors geliefert werden und die als Seitenband-Signale auf dem ursprünglichen oder fortgeschrittenen Hochleistungsbus (AHB) verfügbar sind. Dieses Signal kann zum Diskriminieren zwischen Code-Zugriffen und Daten-Zugriffen verwendet werden.
  • Die Verwendung eines ARM/TDMI-Prozessors ist lediglich ein Beispiel, und andere Prozessortypen können verwendet werden. Insbesondere kann in der hierin beschriebenen Lösung zum Implementieren dieser Art von Ausbesserung ein Prozessor mit den folgenden Charakteristiken eingesetzt werden:
    • – Die Möglichkeit, Opcode-Speicherzugriffe von Daten-Speicherzugriffen zu unterscheiden (dies wird im Falle eines ARM-Prozessors bewerkstelligt durch nOPC (oder HPROT[1]) und
    • – die Möglichkeit, eine Instruktion zur Modifikation des PC zu implementieren, welche es ermöglicht, eine PC-Aktualisierung mit einem Datenlesezugriff auf der gleichen Adresse wie der Codespeicher zu erzeugen, der gerade eben gelesen worden ist (dies wird im Falle eines ARM-Prozessors bewerkstelligt durch LDR PC, [PC-0x8]).
  • Das der hierin beschriebenen Anordnung zugrunde liegende Prinzip besteht darin, unterschiedliche Ausbesserungs-Daten zu liefern, abhängig davon, ob der Kern einen Opcode-Zugriff oder einen Daten-Zugriff auf die mit einer Ausbesserung versehenen Adressen ausführt.
  • Dieses Prinzip wird portraitiert und [und] ist in 2 gezeigt, worin die Blöcke, die identisch oder gleichwertig mit denjenigen sind, die bereits im Zusammenhang mit 1 beschrieben sind, mit den gleichen Bezugszeichen bezeichnet sind, die in dem Vorstehenden verwendet werden.
  • Genauer gesagt:
    • – Im Falle eines Code-Abrufvorganges wird ein fester ARM-Opcode LDR PC, [Pc, #-PCinc] an den Mikroprozessorkern geliefert;
    • – im Falle eines Daten-Auslesevorganges wird das neue 32-Bit PC-Ziel geliefert.
  • Mit diesem Verfahren ist es möglich, einen langen Sprung auszuführen, ohne sich mit den Problemen des Adressabgleiches für den Komparator befassen zu müssen, wobei ebenfalls einige Bit eingespart werden. In der Tat ist die Instruktion ein fester Wert, welcher nicht registriert werden muss, und lediglich die Adresse wird in dem 32-Bit Ausbesserungdaten-Register gespeichert.
  • Eine weiteres Bit nLJ_EN gibt die Langsprung-Ausbesserung frei, wenn dies erforderlich ist; andernfalls kann die Ausbesserung auf eine normale Art und Weise verwendet werden.
  • Beispielsweise bezieht sich 3 auf den Fall eines ARM/TDMI-Mikroprozessors (dreistufige Pipeline, PCinc = 0x8) und beschreibt den Zustand der Kernpipeline (FETCH, DECODE, EXECUTE), den auf die Speicher-Ausbesserungs-Logik aus geführten Zugriff (CODE_ACCESS, DATA_ACCESS) sowie den Status der im Folgenden beschriebenen Signale.
  • Insbesondere zeigt 3 die Zugriffe auf Nur-Lese-Speicher, die Zugriffe auf die Ausbesserung, die Zugriffe auf RAM, welches Ausbesserungs-Code enthält und die Zugriffe auf RAM, welches Datenzugriffe enthält.
  • Auf den Opcode an der Adresse n – 3 wird bei Adresse x zugegriffen, wohingegen der Opcode an der Adresse n der Ausbesserungs-Code ist, der das Laden bei n erzeugt.
  • Wenn der Code an der mit einer Ausbesserung versehenen Adresse n ankommt, wird die Anweisung "LDR PC, [PC-0x8]" abgerufen.
  • Wenn diese Instruktion die EXECUTE-Stufe der ARM-Pipeline erreicht, wird sie den Inhalt der Adresse PC-0x8 laden, welche gleich der mit einer Ausbesserung versehenen Adresse sein wird (PC ist um 0x8 inkrementiert worden, während die Instruktion in die Pipeline hinein verarbeitet worden war).
  • Der PC wird mit der neuen Adresse geladen, auf die zu springen ist, und der Kern ruft die neue Instruktion ab.
  • Ohne Beeinträchtigung der zugrundeliegenden Prinzipien der Erfindung können die Details und die Ausführungsformen variieren, auch zusehends unter Bezugnahme auf das, was lediglich als Beispiel beschrieben war, ohne von dem Bereich der Erfindung abzuweichen, der durch die beigefügten Patentansprüche bestimmt ist.

Claims (9)

  1. Verfahren zum Korrigieren von Fehlern in Festwertspeichern (40) mittels Speicher-Ausbesserungen, wobei Ausbesserungs-Daten (30) als Lesedaten (60) anstelle von an einer gegebenen Stelle (50) in dem Speicher (40) gespeicherten fehlerhaften Daten verwendet werden, mit folgenden Schritten: – Vorsehen eines Verarbeitungs-Kernes, der zum Ausführen sowohl von Befehlscode-Zugriffen als auch von Daten-Zugriffen auf mit einer Ausbesserung versehene Speicheradressen (50) eingerichtet ist, und – Vorsehen unterschiedlicher Ausbesserungs-Daten (30) zum Korrigieren von Fehlern in Abhängigkeit davon, ob der Kern einen Code-Zugriff oder einen Daten-Zugriff auf eine mit einer Ausbesserung versehene Adresse (50) durchführt, dadurch gekennzeichnet, dass es folgende Schritte aufweist: – Auswählen des Verarbeitungs-Kernes als einen Pipeline-Verarbeitungs-Kern, bei dem in der Pipeline eine Ladeanweisung ('LDR PC, [PC-0x8]') eine Ausführungsstufe (EXECUTE) erreicht, – Holen der Ladeanweisung ('LDR PC, [PC-0x8]'), wenn der Code an einer mit einer Ausbesserung versehenen Adresse (n) ankommt, – Laden des Inhaltes der Adresse, welche gleich der mit einer Ausbesserung versehenen Adresse ist, wenn die Ladeanweisung in der Pipeline die Ausführungsstufe erreicht, – Laden des Verarbeitungs-Kernes mit einer neuen anzuspringenden Adresse, und – Veranlassen des Verarbeitungs-Kernes, eine neue Anweisung zu holen.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass es folgende Schritte aufweist: – Auswählen des Verarbeitungs-Kerns als einen Verarbeitungs-Kern, der zum Liefern von nOPC-Signalen eingerichtet ist, die auf mindestens einem Bus als Seitenband-Signale verfügbar sind, und – Unterscheiden zwischen Code-Zugriffen und Daten-Zugriffen auf der Grundlage der nOPC-Signale.
  3. Verfahren nach einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass es den Schritt des Ausführens eines Sprunges zu einer in einen Speicher geschriebenen Ausbesserungscode-Funktion (30) beinhaltet.
  4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass es den Schritt des selektiven Ausführens des Sprunges zum Aufsuchen einer Weitsprung-Ausbesserung beinhaltet.
  5. System zum Korrigieren von Fehlern in Festwertspeichern (40) mittels Speicher-Ausbesserungen, wobei Ausbesserungs-Daten (30) als Lesedaten (60) anstelle von an einer gegebenen Stelle (50) in dem Speicher (40) gespeicherten fehlerhaften Daten verwendet werden, wobei das System einen zur Durchführung sowohl von Befehlscode-Zugriffen als auch von Daten-Zugriffen auf ausgebesserte Speicheradressen (50) eingerichteten Verarbeitungs-Kern beinhaltet, wobei der Verarbeitungs-Kern zum Liefern unterschiedlicher Ausbesserungs-Daten (30) zum Korrigieren von Fehlern in Abhängigkeit davon, ob der Kern einen Code-Zugriff oder einen Daten-Zugriff auf eine mit einer Ausbesserung versehene Adresse (50) durchführt, konfiguriert ist, dadurch gekennzeichnet, dass der Verarbeitungs-Kern ein Pipeline-Verarbeitungskern ist, bei dem eine Ladeanweisung ('LDR PC, [PC-0x8]') in der Pipeline eine Ausführungs-Stufe (EXECUTE) erreicht, wobei der Verarbeitungs-Kern konfiguriert ist zum: – Holen der Ladeanweisung ('LDR PC, [PC-0x8]'), wenn Code bei einer mit einer Ausbesserung versehenen Adresse (n) ankommt, – Laden des Inhaltes der Adresse, welche gleich der mit einer Ausbesserung versehenen Adresse ist, wenn die Ladeanweisung in der Pipeline die Ausführungsstufe erreicht, – Laden des Verarbeitungs-Kernes mit einer neuen Adresse, auf die zu springen ist, und – Holen einer neuen Anweisung.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Verarbeitungs-Kern ein Verarbeitungs-Kern ist, der zum Liefern von auf mindestens einem Bus als Seitenband-Signalen verfügbaren nOPC-Signalen eingerichtet ist, wobei Code-Zugriffe und Daten-Zugriffe auf der Grundlage der nOPC-Signale unterschieden werden.
  7. System nach Anspruch 5 oder 6, dadurch gekennzeichnet, dass der Verarbeitungs-Kern zum Ausführen eines Sprunges auf eine in einen Speicher geschriebene Ausbesserungscode-Funktion (30) konfiguriert ist.
  8. System nach Anspruch 7, dadurch gekennzeichnet, dass der Verarbeitungs-Kern zum selektiven Ausführen des Sprunges zum Aufsuchen einer Weitsprung-Ausbesserung konfiguriert ist.
  9. Computerprogramm-Produkt, ladbar in den Speicher von mindestens einem Computer und Softwarecode-Teile aufweisend, die eingerichtet sind, um die Schritte des Verfahrens nach einem der Ansprüche 1 bis 4 auszuführen.
DE602005005289T 2005-01-31 2005-01-31 Verfahren, System und Computerprogrammprodukt zur Korrektur von Fehlern in einem Festwertspeicher Expired - Fee Related DE602005005289T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
EP05001917A EP1686467B1 (de) 2005-01-31 2005-01-31 Verfahren, System und Computerprogrammprodukt zur Korrektur von Fehlern in einem Festwertspeicher

Publications (2)

Publication Number Publication Date
DE602005005289D1 DE602005005289D1 (de) 2008-04-24
DE602005005289T2 true DE602005005289T2 (de) 2009-07-09

Family

ID=34933521

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602005005289T Expired - Fee Related DE602005005289T2 (de) 2005-01-31 2005-01-31 Verfahren, System und Computerprogrammprodukt zur Korrektur von Fehlern in einem Festwertspeicher

Country Status (3)

Country Link
US (1) US20060190765A1 (de)
EP (1) EP1686467B1 (de)
DE (1) DE602005005289T2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113175A1 (en) * 2007-10-30 2009-04-30 Broadcom Corporation Processor architecture for concurrently fetching data and instructions
CN101799763B (zh) * 2009-02-10 2013-01-30 华为技术有限公司 内核在线补丁的方法、装置和系统
EP2660713B1 (de) * 2012-05-03 2015-03-04 Nxp B.V. Patch-Mechanismus in einer eingebetteten Steuerung für Speicherzugriff
CN103701874A (zh) * 2013-12-11 2014-04-02 深圳市东微智能科技有限公司 一种arm核心板与平板的远程通信方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04346127A (ja) * 1991-05-23 1992-12-02 Sony Corp 電子装置
GB9406666D0 (en) * 1994-04-05 1994-05-25 Communicate Ltd Computer system
US5802549A (en) * 1995-12-14 1998-09-01 International Business Machines Corporation Method and apparatus for patching pages of ROM
US6110225A (en) * 1998-07-10 2000-08-29 Agilent Technologies Inverse assembler with reduced signal requirements using a trace listing
US6260157B1 (en) * 1999-02-16 2001-07-10 Kurt Schurecht Patching of a read only memory
DE19964003A1 (de) * 1999-12-30 2001-07-12 Micronas Gmbh Schaltungsanordnung und Verfahren zur Erzeugung und zum Auslesen von Ersatzdaten
US6865667B2 (en) * 2001-03-05 2005-03-08 Freescale Semiconductors, Inc. Data processing system having redirecting circuitry and method therefor
US6925521B2 (en) * 2001-09-10 2005-08-02 Texas Instruments Incorporated Scheme for implementing breakpoints for on-chip ROM code patching
US6931477B2 (en) * 2002-12-31 2005-08-16 Motorola, Inc. Method and apparatus for patching code and data residing on a memory
US7039776B2 (en) * 2003-04-17 2006-05-02 Broadcom Corporation Patch memory system for a ROM-based processor
US7444546B2 (en) * 2003-04-17 2008-10-28 Arm Limited On-board diagnostic circuit for an integrated circuit
GB0424424D0 (en) * 2004-11-04 2004-12-08 St Microelectronics Belgium Nv A code patching device

Also Published As

Publication number Publication date
US20060190765A1 (en) 2006-08-24
DE602005005289D1 (de) 2008-04-24
EP1686467A1 (de) 2006-08-02
EP1686467B1 (de) 2008-03-12

Similar Documents

Publication Publication Date Title
EP2318920B1 (de) Steuergerät für ein fahrzeug und verfahren für eine datenaktualisierung für ein steuergerät für ein fahrzeug
DE69723286T2 (de) Echtzeitprogramm-sprachbeschleuniger
DE4335475A1 (de) Datenverarbeitungseinrichtung mit Cache-Speicher
DE2328869A1 (de) Verfahren zur pruefung eines digitalen speichersystems sowie zur durchfuehrung dieses verfahrens dienendes selbstpruefendes digitales speichersystem
DE10308545A1 (de) Verfahren und Vorrichtung zum Aktualisieren eines verteilten Programms
DE102009024605A1 (de) Vorrichtung und Verfahren zum Umgehen eines ersten Programmcodeabschnitts mit einem Ersatzprogrammcodeabschnitt
DE602005005289T2 (de) Verfahren, System und Computerprogrammprodukt zur Korrektur von Fehlern in einem Festwertspeicher
DE102018202446A1 (de) Verfahren zum Modularisieren einer Softwarearchitektur
DE4238099C2 (de) Mikroprozessor mit mehreren Betriebsmoden
DE102017114054A1 (de) Speicheradressen-Schutzschaltung und Verfahren
DE102006009214B4 (de) Verfahren und Vorrichtung zum Schreiben in eine Zielspeicherseite eines Speichers
WO2004090732A2 (de) Programmgesteuerte einheit
DE10315726A1 (de) Programmgesteuerte Einheit
EP1611515B1 (de) Programmgesteuerte einheit
DE69634464T2 (de) Cachespeicher
DE102014006998A1 (de) Korrektur eines programmierbaren Speichers
EP1750283B1 (de) Überprüfung eines Adressdecoders
DE102010011583B4 (de) Verfahren zum Umsetzen von Befehlen mit Basisregister-relativer Adressierung bei einer Emulation
EP1892639A2 (de) Sichere Programmcodeausführung
DE19923517C1 (de) Verfahren und Vorrichtung zum Verzweigen bei der Abarbeitung eines Programms durch einen Prozessor
DE19625628C1 (de) Halbleiterspeichervorrichtung
DE102004059125B4 (de) Vorrichtung und Verfahren zum Schreiben von Daten in einen Speicher eines Prozessors an einen unausgerichteten Ort
DE102005031530B4 (de) Speichersystem, Einchip-Mikrocontroller und eingebettetes System
WO2017220299A1 (de) Verfahren und vorrichtung zum bearbeiten von binärcodedaten
WO2002099650A2 (de) Verfahren zur verwaltung eines speichers einer chipkarte

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee