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 PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/66—Updates of program code stored in read-only memory [ROM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/32—Address formation of the next instruction, e.g. by incrementing the instruction counter
- G06F9/322—Address formation of the next instruction, e.g. by incrementing the instruction counter for non-sequential address
- G06F9/328—Address 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 Komparators10 , eines Ausbesserungs-Adresswertes20 sowie eines Ausbesserungs-Datenwertes30 implementiert werden. Wenn eine Adresse50 , welche einen Fehler enthält und ausgebessert werden muss, in Zugriff genommen wird, detektiert der Komparator10 dies durch Vergleichen der Adresse50 mit dem Ausbesserungs-Adresswert20 . Die Ausbesserungsdaten30 werden als ein Lesedatenelement60 anstelle der in der durch die Adresse50 in einem Speicher40 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 - 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 mit1 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)
- 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. - 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.
- 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. - Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass es den Schritt des selektiven Ausführens des Sprunges zum Aufsuchen einer Weitsprung-Ausbesserung beinhaltet.
- 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. - 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.
- 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. - System nach Anspruch 7, dadurch gekennzeichnet, dass der Verarbeitungs-Kern zum selektiven Ausführen des Sprunges zum Aufsuchen einer Weitsprung-Ausbesserung konfiguriert ist.
- 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.
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)
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)
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 |
-
2005
- 2005-01-31 EP EP05001917A patent/EP1686467B1/de not_active Expired - Fee Related
- 2005-01-31 DE DE602005005289T patent/DE602005005289T2/de not_active Expired - Fee Related
-
2006
- 2006-01-30 US US11/344,538 patent/US20060190765A1/en not_active Abandoned
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 |