DE19857921A1 - Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms - Google Patents

Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms

Info

Publication number
DE19857921A1
DE19857921A1 DE19857921A DE19857921A DE19857921A1 DE 19857921 A1 DE19857921 A1 DE 19857921A1 DE 19857921 A DE19857921 A DE 19857921A DE 19857921 A DE19857921 A DE 19857921A DE 19857921 A1 DE19857921 A1 DE 19857921A1
Authority
DE
Germany
Prior art keywords
program
read
memory
assigned
subroutine
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.)
Ceased
Application number
DE19857921A
Other languages
English (en)
Inventor
Hansjoerg Steger
Michael Weber
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 DE19857921A priority Critical patent/DE19857921A1/de
Priority to EP99966818A priority patent/EP1147466B1/de
Priority to KR10-2001-7007256A priority patent/KR100405145B1/ko
Priority to CN99814462A priority patent/CN1330781A/zh
Priority to AT99966818T priority patent/ATE247847T1/de
Priority to PCT/DE1999/003830 priority patent/WO2000036498A2/de
Priority to DE59906716T priority patent/DE59906716D1/de
Priority to JP2000588677A priority patent/JP2002532802A/ja
Publication of DE19857921A1 publication Critical patent/DE19857921A1/de
Priority to US09/882,730 priority patent/US20020010846A1/en
Ceased 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
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address

Abstract

Die Erfindung betrifft ein Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms. Das Programm weist dazu eine Vielzahl von Programmroutinen auf und jeder Programmroutine ist ein Unterprogramm, das in einem ersten Schreib/Lese-Speicher abgelegt ist, zuordenbar. Jeder Programmroutine sind weiterhin Speicherstellen eines zweiten Schreib/Lese-Speichers zugeordnet. Eine Programmroutine ruft dann, falls dieser Programmroutine ein Unterprogramm zugeordnet ist, das Unterprogramm abhängig vom Inhalt der zugeordneten Speicherstellen auf.

Description

Die Erfindung betrifft ein Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms nach dem Oberbegriff von Patentanspruch 1.
Viele integrierte Schaltungen, die einen Mikroprozessor und/oder einen Signalprozessor beinhalten, weisen einen Fest­ wertspeicher (ROM = Read Only Memory) für Programme des Mi­ kroprozessors bzw. Signalprozessors (Firmware) auf. Bei­ spielsweise werden bei einer integrierten Schaltung für ein Mobilfunk-Telefon nach dem GSM-Standard in Programmen für ei­ nen Signalprozessor Funktionen zur Sprachverarbeitung, Kanal­ kodierung und für Datendienste und in Programmen für einen Mikroprozessor zur Steuerung des Telefons realisiert. Für nachträgliche Änderungen der Programme muß mindestens eine Maske zur Produktion der integrierten Schaltung geändert wer­ den und die integrierte Schaltung neu produziert werden. Ins­ besondere bei der Massenproduktion von integrierten Schaltun­ gen ist dies aufwendig und teuer.
Aus US 5,493,674 ist beispielsweise bekannt, in einem Pro­ gramm, das in einem Festwertspeicher abgelegt ist, an vorge­ gebenen Stellen Befehle einzufügen, die jeweils ein Unterpro­ gramm (Patch-Correction-Program) aufrufen. Dabei ist das Un­ terprogramm in einem Schreib/Lese-Speicher (RAM = Random Access Memory) abgelegt und nachträglich änderbar.
Vorteilhaft ist dabei, daß nachträglich durch Änderung der im Schreib/Lese-Speicher abgelegten Unterprogramme der Ablauf des im Festwertspeicher abgelegten Programms beeinflußbar ist. Dazu wird der Schreib/Lese-Speicher mit den Unterpro­ grammen zur Korrektur des Festwertspeicher-Programms von Vor­ richtungen, die nicht auf der integrierten Schaltung enthal­ ten sind, geladen.
Nach Ausführung des Unterprogramms wird in das im Festwert­ speicher abgelegte Programm zurückgesprungen.
Nachteilig ist jedoch, daß vom laufenden Programm immer in die Unterprogramme gesprungen wird. Ferner ist für jeden Be­ fehle zum Aufruf eines Unterprogramms genau ein Unterprogramm vorgesehen, wodurch sich für die Unterprogramme unter Umstän­ den ein großer Speicherplatzbedarf ergibt. Durch diese engen Rahmenbedingungen sind nachträgliche Änderungen des im Fest­ wertspeicher abgelegten Programms nur bedingt möglich.
Das der Erfindung zugrundeliegende technische Problem besteht daher darin, ein Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms anzugeben, bei dem sowohl nachträglich die Unterprogrammaufrufe beeinflußbar sind als auch der für die Unterprogramme benötigte Speicher­ platzbedarf möglichst gering ist.
Dieses Problem wird von einem Verfahren zur Änderung des Ab­ laufs eines in einem Festwertspeicher abgelegten Programms mit den Merkmalen von Patentanspruch 1 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den jeweiligen Unteransprüchen.
Die Erfindung betrifft ein Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms. Das Programm weist dazu eine Vielzahl von Programmroutinen auf und jeder Programmroutine ist ein Unterprogramm, das in einem ersten Schreib/Lese-Speicher abgelegt ist, zuordenbar. Dem­ nach kann jeder Programmroutine ein eigenes Unterprogramm, mehreren Programmroutinen ein gemeinsames Unterprogramm oder keiner Programmroutine ein Unterprogramm zugeordnet sein. Nur wenn das im Festwertspeicher abgelegte Programm fehlerfrei ist, wird dabei keiner Programmroutine ein Unterprogramm zu­ geordnet sein. Jeder Programmroutine sind weiterhin Speicher­ stellen eines zweiten Schreib/Lese-Speichers zugeordnet. Eine Programmroutine ruft dann, falls dieser Programmroutine ein Unterprogramm zugeordnet ist, das Unterprogramm abhängig vom Inhalt der zugeordneten Speicherstellen auf. Durch die einer Programmroutine zugeordneten Speicherstellen kann somit ein Unterprogrammaufruf beeinflußt werden. Der Vorteil dieses Verfahrens besteht darin, daß die Unterprogramme bedingt auf­ gerufen werden. Vorteilhaft ist dabei zudem, daß die Bedin­ gung zum Aufrufen eines Unterprogramms durch die Belegung der Speicherstellen, die einer Programmroutine zugeordnet sind, jederzeit durch Umprogrammierung nachträglich geändert werden kann. Diese Verfahren zeichnet sich gegenüber bekannten Ver­ fahren durch seine Vielseitigkeit aus.
In einer bevorzugten Ausführungsform übergibt jede Programm­ routine beim Aufruf des ihr zugeordneten Unterprogramms min­ destens einen Parameter an das Unterprogramm. Vorteilhafter­ weise wird dadurch das Verfahren noch vielseitiger, da das Unterprogramm in Abhängigkeit von dem übergebenen Parameter unterschiedliche Funktionen ausführen kann.
Die einer Programmroutine zugeordneten Speicherstellen sind in einer besonders bevorzugten Ausführungsform ausschließlich dieser Programmroutine zugeordnet. Diese Ausführungsform wird verwendet, wenn der Speicherplatzbedarf des zweiten Schreib/Lese-Speichers unerheblich ist. Von Vorteil ist dabei die große Vielseitigkeit beim Aufruf der Unterprogramme, da für jede Programmroutine durch entsprechende Belegung der zu­ geordneten Speicherstellen festgelegt werden kann, ob das zu­ geordnete Unterprogramm aufgerufen werden soll. In einer dazu alternativen besonders bevorzugten Ausführungsform sind die einer Programmroutine zugeordneten Speicherstellen auch allen anderen Programmroutinen zugeordnet. Hier wird vorteilhafter­ weise im zweiten Schreib/Lese-Speicher sehr wenig Speicher­ platz benötigt, da allen Programmroutinen dieselben Speicher­ stellen zugeordnet sind. Es kann jedoch hierbei nur für alle Programmroutinen gleichermaßen durch entsprechende Belegung der zugeordneten Speicherstellen festgelegt werden, ob das jeweils einer Programmroutine zugeordnete Unterprogramm auf­ gerufen werden soll.
In einer besonders bevorzugten Ausführungsform wird durch den Parameter dem Unterprogramm die aufrufende Programmroutine mitgeteilt und davon abhängig die Funktion des Unterprogramms beeinflußt.
Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der Erfindung ergeben sich aus der nachfolgenden Beschreibung ei­ nes Ausführungsbeispiels in Verbindung mit der Zeichnung. In der Zeichnung zeigt
Fig. 1 ein Ausführungsbeispiel der Erfindung; und
Fig. 2 ein Ausführungsbeispiel einer Belegung des ersten und zweiten Schreib/Lese-Speichers.
In Fig. 1 ist ein Festwertspeicher 1 dargestellt, in dem ein Programm abgelegt ist. Das Programm weist eine Vielzahl von Programmroutinen (im folgenden Routinen genannt) auf, wobei in Fig. 1 nur drei Routinen 4, 5 und 6 skizziert sind. Durch Punkte und die Bezeichnung der Routinen mit Routine #1 bis Routine #n ist angedeutet, daß mehr als drei Routinen im Festwertspeicher 1 abgelegt sein können. Diese Routinen sind in das Programm in bestimmten vorgegebenen Adreßabständen "eingebaut". Wichtig ist dabei, daß die Routinen über den ge­ samten Adreßbereich des Programms "gleichmäßig verstreut" liegen, um jeden Teil des Programms nachträglich änderbar zu machen. Sind beispielsweise nur Routinen im niedrigen Adreß­ bereich des Programms vorhanden, kann vom höheren Adreßbe­ reich des Programms nicht mehr in Unterprogramme gesprungen werden und demnach in diesem Adreßbereich auch keine Korrek­ turen mehr durchführen. Da die Routinen 4, 5 und 6 im Fest­ wertspeicher 1 abgelegt sind, ist eine nachträgliche Änderung der Routinen selbst nicht mehr möglich.
Jeder der Routinen 4 bis 6 ist ein Unterprogramm 7 bis 8 zu­ geordnet. Die Unterprogramme sind dabei in einem ersten Schreib/Lese-Speicher 2 abgelegt und können jederzeit nach­ träglich geändert werden. Der erste Schreib/Lese-Speicher 2 liegt in demselben Adreßraum wie der Festwertspeicher 1, in dem das Programm abgelegt ist. Das bedeutet, daß sowohl der erste Schreib/Lese-Speicher 2 als auch der Festwertspeicher 1 über denselben Adreßbus und Datenbus angesteuert werden und im Programmspeicherbereich liegen. Dabei kann beispielsweise der erste Schreib/Lese-Speicher 2 den Adreßraum von Hex 0000 bis Hex 1FFF und der Festwertspeicher 1 den Adreßraum von Hex 2000 bis Hex FFFF belegen. Der Schreib/Lese-Speicher 1 kann in diesem Fall durch ein RAM mit 8192 Byte realisiert werden.
In einem zweiten Schreib/Lese-Speicher 3 sind jeder Routine jeweils mehrere Speicherstellen zugeordnet. Der zweite Schreib/Lese-Speicher 3 liegt in einem anderen Adreßraum als der Festwertspeicher 1 und der erste Schreib/Lese-Speicher 2. Beispielsweise kann der zweite Schreib/Lese-Speicher 3 im Adreßraum eines Datenspeichers liegen. In Fig. 1 ist darge­ stellt, daß der Routine 4 und 6 dieselben Speicherstellen 10 zugeordnet sind, während der Routine 5 die Speicherstellen 9 zugeordnet sind. Die gestrichelte Linie zeigt, daß der Routi­ ne 5 auch die den Routinen 4 und 6 zugeordneten Speicherstel­ len 10 zugeordnet sein können. In diesem Fall sind allen Rou­ tinen 4 bis 6 dieselben Speicherstellen zugeordnet, wodurch der Speicherplatzbedarf im zweiten Schreib/Lese-Speicher 3 niedrig ist.
Bei der Zuordnung der Routinen zu den Unterprogrammen können drei verschiedene Fälle unterschieden werden, deren Vor- und Nachteile in der folgenden Tabelle verdeutlicht sind:
Im ersten Fall wird zwar die größte Vielseitigkeit erreicht, allerdings auf Kosten eines großen Speicherplatzbedarfs im zweiten Schreib/Lese-Speicher.
Im zweiten Fall erreicht man einen Ausgleich zwischen dem Speicherplatzbedarf im zweiten Schreib/Lese-Speicher und im ersten Schreib/Lese-Speicher und der Vielseitigkeit, da meh­ reren Routinen dieselben Speicherstellen im zweiten Schreib/Lese-Speicher und ein Unterprogramm zugeordnet ist. Das Unterprogramm bedient mehrere aufrufende Routinen und wird dementsprechend aufwendiger als ein Unterprogramm, das nur eine Routine bedient. Zur Unterscheidung der aufrufenden Routinen werden Parameter an das Unterprogramm übergeben.
Im dritten Fall gibt es nur ein Unterprogramm, das alle Rou­ tinen bedient und dementsprechend groß und aufwendig ist. Da­ für wird im zweiten Schreib/Lese-Speicher nur minimaler Spei­ cherplatz benutzt.
Die Routinen 4 bis 6 weisen jeweils eine kurze Programmse­ quenz (Makro) auf, die aus dem zweiten Schreib/Lese-Speicher 3 Werte aus den der jeweiligen Routine zugeordneten Speicher­ zellen liest und mit einem vorgegebenen Wert vergleicht. Ab­ hängig vom Ergebnis des Vergleichs ruft dann das Makro ein Unterprogramm auf, das in dem ersten Schreib/Lese-Speicher 2 abgelegt ist. Beim Aufruf des Unterprogramms wird ein Parame­ ter an das Unterprogramm übergeben.
Ein Ausführungsbeispiel des Makros in einer Maschinensprache lautet beispielsweise folgendermaßen:
(Aus dem zweiten Schreib/Lese-Speicher 3 wird der Inhalt der Adresse (##HK_XS.mem + HOOK_ID] in einen ersten Akkumulator a0 gelesen. Ist der gelesene Wert gleich Null, so wird an das Ende des Makros mit brr <%no_hook, eq gesprungen. Ein Unter­ programm wird hierbei nicht aufgerufen. Andernfalls wird der Parameter HOOK_PAR in einen zweiten Akkumulator a11 geschrie­ ben und mit call a01 das dem Makro zugeordnete Unterpro­ gramm aufgerufen.)
Die in dem zweiten Schreib/Lese-Speicher 3 abgelegten Werte können den Startadressen der Unterprogramme entsprechen.
In Fig. 2 sind im ersten Schreib/Lese-Speicher 2 die unteren Adressen Hex 0000 bis Hex 001F nicht mit Unterprogrammen be­ legt. Ein erstes Unterprogramm #1 beginnt bei der Adresse Hex 0020, ein zweites Unterprogramm #2 bei der Adresse Hex 0040 und ein letztes Unterprogramm #n bei der Adresse Hex 00F0.
Im zweiten Schreib/Lese-Speicher 3 sind direkt die Star­ tadressen Hex 0020, Hex 0040 und Hex 00F0 der Unterprogramme abgelegt.
Eine Routine liest aus den zugeordneten Speicherstellen des zweiten Schreib/Lese-Speichers 3 die dort gespeicherte Adres­ se, vergleicht die Adresse mit Null und verwendet die Adres­ se, falls diese ungleich Null ist, direkt als Einsprungadres­ se in das im ersten Schreib/Lese-Speicher 2 abgelegte Unter­ programm.
Ist einer Routine kein Unterprogramm zugeordnet, wird in die zugeordneten Speicherzellen des zweiten Schreib/Lese- Speichers 3 einfach Hex 0000 abgelegt.
Beim Aufruf eines Unterprogramms können einer oder mehrere Parameter übergeben werden. Dies ist insbesondere vorteil­ haft, wenn mehreren Programmroutinen dieselben Speicherstel­ len zugeordnet sind, in denen die Adresse eines Unterpro­ gramms abgelegt ist, und das Unterprogramm eine der aufrufen­ den Programmroutine entsprechende Funktion ausführen soll. In diesem Fall muß das aufgerufene Unterprogramm die aufrufende Programmroutine erkennen. Das Unterprogramm wertet dazu den oder die übergebenen Parameter aus, wobei jeder Programmrou­ tine, die das Unterprogramm aufrufen kann, ein bestimmter Pa­ rameterwert fest zugeordnet ist.
Vorteilhaft läßt sich das geschilderte Verfahren insbesondere bei Harvard-Architekturen, die vorwiegend bei digitalen Si­ gnalprozessoren (DSP = Digital Signal Processor) zum Einsatz kommen und getrennte Adreßräume für Programme und Daten auf­ weisen, anwenden.

Claims (5)

1. Verfahren zur Änderung des Ablaufs eines in einem Fest­ wertspeicher abgelegten Programms, wobei das Programm eine Vielzahl von Programmroutinen (4-6) aufweist und wobei je­ der Programmroutine (4-6) ein Unterprogramm (7, 8), das in einem ersten Schreib/Lese-Speicher (2) abgelegt ist, zuorden­ bar ist, dadurch gekennzeichnet, daß
  • - jeder Programmroutine (4-6) Speicherstellen (9, 10) eines zweiten Schreib/Lese-Speichers (3) zugeordnet sind, und
  • - eine Programmroutine (4-6), falls dieser Programmroutine (4-6) ein Unterprogramm (7, 8) zugeordnet ist, das Unter­ programm (7, 8) abhängig vom Inhalt der zugeordneten Spei­ cherstellen (9, 10) aufruft.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß jede Programmroutine (4-6) beim Aufruf des ihr zugeordneten Unterprogramms (7, 8) mindestens einen Parameter an das Un­ terprogramm (7, 8) übergibt.
3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die einer Programmroutine (5) zugeordneten Speicherstellen (9) ausschließlich dieser Programmroutine (5) zugeordnet sind.
4. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die einer Programmroutine (4) zugeordneten Speicherstellen (10) auch allen anderen Programmroutinen (5, 6) zugeordnet sind.
5. Verfahren nach einem der Ansprüche 2 bis 4, dadurch gekennzeichnet, daß durch den Parameter dem Unterprogramm (7, 8) die aufrufende Programmroutine (4-6) mitgeteilt wird und abhängig von dem Parameter die Funktion des Unterprogramms (7, 8) beeinflußt wird.
DE19857921A 1998-12-15 1998-12-15 Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms Ceased DE19857921A1 (de)

Priority Applications (9)

Application Number Priority Date Filing Date Title
DE19857921A DE19857921A1 (de) 1998-12-15 1998-12-15 Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms
EP99966818A EP1147466B1 (de) 1998-12-15 1999-12-01 Verfahren zur änderung des ablaufs eines in einem festwertspeicher abgelegten programms
KR10-2001-7007256A KR100405145B1 (ko) 1998-12-15 1999-12-01 판독 전용 메모리에 저장된 프로그램의 흐름을 변경하기위한 방법
CN99814462A CN1330781A (zh) 1998-12-15 1999-12-01 对只读存储器内存放的程序的流程进行变更的方法
AT99966818T ATE247847T1 (de) 1998-12-15 1999-12-01 Verfahren zur änderung des ablaufs eines in einem festwertspeicher abgelegten programms
PCT/DE1999/003830 WO2000036498A2 (de) 1998-12-15 1999-12-01 Verfahren zur änderung des ablaufs eines in einem festwertspeicher abgelegten programms
DE59906716T DE59906716D1 (de) 1998-12-15 1999-12-01 Verfahren zur änderung des ablaufs eines in einem festwertspeicher abgelegten programms
JP2000588677A JP2002532802A (ja) 1998-12-15 1999-12-01 読み出し専用メモリに格納されたプログラムのシーケンスを変更する方法
US09/882,730 US20020010846A1 (en) 1998-12-15 2001-06-15 Method for changing the execution of a program stored in a read only memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE19857921A DE19857921A1 (de) 1998-12-15 1998-12-15 Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms

Publications (1)

Publication Number Publication Date
DE19857921A1 true DE19857921A1 (de) 2000-06-29

Family

ID=7891205

Family Applications (2)

Application Number Title Priority Date Filing Date
DE19857921A Ceased DE19857921A1 (de) 1998-12-15 1998-12-15 Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms
DE59906716T Expired - Lifetime DE59906716D1 (de) 1998-12-15 1999-12-01 Verfahren zur änderung des ablaufs eines in einem festwertspeicher abgelegten programms

Family Applications After (1)

Application Number Title Priority Date Filing Date
DE59906716T Expired - Lifetime DE59906716D1 (de) 1998-12-15 1999-12-01 Verfahren zur änderung des ablaufs eines in einem festwertspeicher abgelegten programms

Country Status (8)

Country Link
US (1) US20020010846A1 (de)
EP (1) EP1147466B1 (de)
JP (1) JP2002532802A (de)
KR (1) KR100405145B1 (de)
CN (1) CN1330781A (de)
AT (1) ATE247847T1 (de)
DE (2) DE19857921A1 (de)
WO (1) WO2000036498A2 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173746A (ja) * 2003-12-09 2005-06-30 Yokogawa Electric Corp メモリ装置及びメモリ装置のアクセス方法
US7739469B2 (en) * 2005-11-08 2010-06-15 Freescale Semiconductor, Inc. Patching ROM code
CN102339031B (zh) * 2010-07-27 2013-12-25 深圳市合信自动化技术有限公司 一种子程序调用的方法、装置及plc控制系统
GB2515364B (en) * 2013-12-20 2015-06-17 Nordic Semiconductor Asa Updatable integrated-circuit radio
CN106354524B (zh) 2015-07-17 2021-01-01 恩智浦美国有限公司 实时更新固件的系统和方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493674A (en) * 1992-10-23 1996-02-20 Sony Corporation Electronic apparatus

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2231419B (en) * 1989-05-05 1993-09-22 Technophone Ltd Updating prom information.
US5481713A (en) * 1993-05-06 1996-01-02 Apple Computer, Inc. Method and apparatus for patching code residing on a read only memory device
US5546586A (en) * 1993-05-06 1996-08-13 Apple Computer, Inc. Method and apparatus for vectorizing the contents of a read only memory device without modifying underlying source code
US5619698A (en) * 1995-05-05 1997-04-08 Apple Computer, Inc. Method and apparatus for patching operating systems
US6009500A (en) * 1995-06-07 1999-12-28 Compaq Computer Corporation Replacement of erroneous firmware in a redundant non-volatile memory system
US5802549A (en) * 1995-12-14 1998-09-01 International Business Machines Corporation Method and apparatus for patching pages of ROM
US6049672A (en) * 1996-03-08 2000-04-11 Texas Instruments Incorporated Microprocessor with circuits, systems, and methods for operating with patch micro-operation codes and patch microinstruction codes stored in multi-purpose memory structure
US5796972A (en) * 1997-01-14 1998-08-18 Unisys Corporation Method and apparatus for performing microcode paging during instruction execution in an instruction processor
US5938766A (en) * 1997-03-21 1999-08-17 Apple Computer, Inc. System for extending functionality of a digital ROM using RAM/ROM jump tables and patch manager for updating the tables
JPH11143704A (ja) * 1997-11-12 1999-05-28 Nec Software Hokkaido Ltd 圧縮データパッチ修正方式
US6260157B1 (en) * 1999-02-16 2001-07-10 Kurt Schurecht Patching of a read only memory

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5493674A (en) * 1992-10-23 1996-02-20 Sony Corporation Electronic apparatus

Also Published As

Publication number Publication date
KR100405145B1 (ko) 2003-11-10
JP2002532802A (ja) 2002-10-02
KR20010082332A (ko) 2001-08-29
EP1147466B1 (de) 2003-08-20
CN1330781A (zh) 2002-01-09
WO2000036498A3 (de) 2000-09-28
ATE247847T1 (de) 2003-09-15
US20020010846A1 (en) 2002-01-24
WO2000036498A2 (de) 2000-06-22
DE59906716D1 (de) 2003-09-25
EP1147466A2 (de) 2001-10-24

Similar Documents

Publication Publication Date Title
DE69912601T2 (de) Anpassung von umbasierten und neu ausgerichteten exekutierbaren dateien
DE2436963A1 (de) Verfahren und vorrichtung zur mikroprogrammierung in der zentraleinheit eines digitalrechners
DE2431379B2 (de) Datenverarbeitungseinrichtung
DE10115729B4 (de) Vielseitiges Boot-Verfahren für eine Anwendungs-Software eines Mikrocontrollers
DE19535546A1 (de) Verfahren zum Betreiben eines durch ein Realzeit-Betriebssystem gesteuerten Realzeit-Computersystems
DE19857921A1 (de) Verfahren zur Änderung des Ablaufs eines in einem Festwertspeicher abgelegten Programms
EP1079307B1 (de) Verfahren zum Betrieb eines Speichersystems sowie Speichersystem
DE3546332C2 (de) Mikroprozessor mit verbessertem Befehlszyklus
DE2854400A1 (de) Anordnung zum wechsel zwischen verzahnt zu verarbeitenden programmen
EP3861440A1 (de) Verfahren zur datenverarbeitung und speicherprogrammierbare steuerung
WO2000019283A1 (de) Verfahren zum betrieb eines automatisierungssystems
DE19807358C2 (de) Programmierbare Steuervorrichtung mit einem Überspringungsprozessorteil ohne Rückübertragung des Steuerungsrechts an die CPU
DE10065498A1 (de) Verfahren und Vorrichtung zur Rekonstruktion des Prozessablaufs eines Steuerprogramms
DE10061001A1 (de) Verfahren und Steuergerät zur Steuerung von technischen Vorgängen in einem Kraftfahrzeug
DE102005017880B4 (de) Montageeinheit
DE19751093A1 (de) Programmgesteuerte Einheit
EP1331794B1 (de) Verfahren zur Adresszuweisung in einem Netzwerk und Komponenten dafür
DE2419522A1 (de) Verfahren und anordnung zur unterteilung eines oder mehrerer nicht benutzter bereiche eines mit einem rechner verbundenen speichers
DE2744909C2 (de) Programmierbare Steuereinrichtung für Fernmeldeanlagen von niedriger und mittlerer Kapazität, insbesondere zur Anwendung in Fernsprech-Vermittlungsanlagen
DE19923517C1 (de) Verfahren und Vorrichtung zum Verzweigen bei der Abarbeitung eines Programms durch einen Prozessor
EP3948449B1 (de) Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente
EP1091290B1 (de) Prozessorsystem mit Speicher- oder Ladebebefehl mit Trenninformation
DE19921114B4 (de) Verfahren für eine Fehleranalyse in prozessorgesteuerten Einrichtungen
DE2451984A1 (de) Datenverarbeitungssystem
DE2613703A1 (de) Schaltungsanordnung zum uebersetzen von programmtexten

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8125 Change of the main classification

Ipc: G06F 9/44

8131 Rejection