DE10116861A1 - Programmgesteuerte Einheit - Google Patents

Programmgesteuerte Einheit

Info

Publication number
DE10116861A1
DE10116861A1 DE10116861A DE10116861A DE10116861A1 DE 10116861 A1 DE10116861 A1 DE 10116861A1 DE 10116861 A DE10116861 A DE 10116861A DE 10116861 A DE10116861 A DE 10116861A DE 10116861 A1 DE10116861 A1 DE 10116861A1
Authority
DE
Germany
Prior art keywords
program
emulation
controlled unit
unit
controlled
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.)
Withdrawn
Application number
DE10116861A
Other languages
English (en)
Inventor
Jens Barrenscheen
Gunther Fenzl
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies 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 Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE10116861A priority Critical patent/DE10116861A1/de
Priority to EP02006840.9A priority patent/EP1248198B1/de
Priority to US10/116,171 priority patent/US7228264B2/en
Publication of DE10116861A1 publication Critical patent/DE10116861A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation

Abstract

Die beschriebene programmgesteuerte Einheit zeichnet sich dadurch aus, daß sie eine Auswahlvorrichtung enthält, durch welche festlegbar ist, ob die programmgesteuerte Einheit unter Verwendung einer ersten Emulations-Einheit oder unter Verwendung einer zweiten Emulations-Einheit emuliert werden soll. Dadurch ist es möglich, die Massenproduktions-Version der programmgesteuerten Einheit mit einer einen reduzierten Funktions- und/oder Leistungsumfang aufweisenden Emulations-Einheit zu versehen. Damit kann eine emulierbare Massenproduktions-Version der programmgesteuerten Einheit zur Verfügung gestellt werden, die nicht oder nur unwesentlich teurer ist als eine nicht emulierbare Version.

Description

Die vorliegende Erfindung betrifft eine Vorrichtung gemäß dem Oberbegriff des Patentanspruchs 1, d. h. eine programmgesteu­ erte Einheit.
Programmgesteuerte Einheiten wie Mikroprozessoren, Mikrocon­ troller, Signalprozessoren etc. sind seit vielen Jahren in unzähligen Ausführungsformen bekannt und bedürfen keiner nä­ heren Erläuterung.
Ein bekanntes Problem von programmgesteuerten Einheiten be­ steht darin, daß es häufig nicht einfach ist, auftretende Fehler zu erkennen, zu lokalisieren, und zu beheben.
Häufig bedient man sich hierzu eines sogenannten Emulators. Ein Emulator ist in der Lage, das Auftreten vorgebbarer Zu­ stände oder Ereignisse zu erkennen und auf eine ebenfalls vorgebbare Art und Weise auf das Auftreten des betreffenden Zustandes oder Ereignisses zu reagieren.
Die vorgebbaren Zustände oder Ereignisse bestehen beispiels­ weise darin, daß innerhalb oder außerhalb der programmgesteu­ erten Einheit bestimmte Daten, Adressen oder Steuersignale transferiert werden oder gespeichert sind.
Die vorgebbaren Reaktionen auf das Auftreten solcher oder anderer Zustände oder Ereignisse umfassen beispielsweise das Anhalten der programmgesteuerten Einheit, das Auslesen und/oder das Verändern der Inhalte von Registern oder inter­ nen oder externen Speichern, und/oder die Aufzeichnung und Auswertung der zuvor und/oder danach auftretenden Verläufe von interessierenden Daten, Adressen, Signalen, und/oder Register- und Speicherinhalten.
Bekanntlich können in Massenprodukten eingesetzte programm­ gesteuerte Einheiten, welche im folgenden der Einfachheit halber als Massenproduktions-Versionen der programmgesteuer­ ten Einheit bezeichnet werden, nicht emuliert werden, weil bei diesen nur teilweise eine Zugriffsmöglichkeit auf die interessierenden Daten, Adressen, Signale, Register und Speicher besteht, und weil diese nicht über die Möglichkeit verfügen das Auftreten der interessierenden Zustände und Ereignisse in Echtzeit zu überwachen.
Deshalb werden insbesondere von komplexeren programmgesteuer­ ten Einheiten spezielle Versionen hergestellt, die hierzu in der Lage sind. Diese speziellen Versionen der programmgesteu­ erten Einheiten werden im folgenden als Emulations-Versionen der programmgesteuerten Einheit bezeichnet.
Die Fig. 1A zeigt den prinzipiellen Aufbau der Massenpro­ duktions-Version einer programmgesteuerten Einheit, und Fig. 1B den Aufbau der Emulations-Version der programmgesteuerten Einheit.
Die in der Fig. 1A gezeigte Massenproduktions-Version ent­ hält einen Core 1, Peripherie-Einheiten 2, 3, und 4 wie bei­ spielsweise Timer, A/D-Wandler, Speicher etc., sowie einen den Core 1 und die Peripherie-Einheiten 2, 3, und 4 ver­ bindenden Bus 5. Der Core 1 enthält darüber hinaus ein Emulations-Interface 6, über welches eine in der Emulations- Version der programmgesteuerten Einheit (siehe Fig. 1B) vorgesehene Emulations-Einheit mit dem Core 1 verbindbar ist.
Die in der Fig. 1B gezeigte Emulations-Version enthält die Massenproduktions-Version, also ebenfalls den Core 1, die Peripherie-Einheiten 2, 3, und 4, den Bus 5, und das Emula­ tions-Interface 6, und zusätzlich für die Emulation benötigte Komponenten, wobei diese Komponenten eine Emulations-Einheit 7, Debug-Ressourcen 8, und eine Steuerungs-Schnittstelle 9 umfassen, über welche die Emulations-Einheit 7 mit einer außerhalb der programmgesteuerten Einheit vorgesehenen, die Emulation steuernden Steuereinheit 10 verbindbar ist.
Der Vollständigkeit halber sei angemerkt, daß die Emulations- Version der programmgesteuerten Einheit aus einem oder meh­ reren Halbleiter-Chips bestehen kann. Insbesondere können (müssen aber nicht) die die zur Emulation benötigten Kompo­ nenten auf einem eigenen Halbleiter-Chip untergebracht sein, welcher mit dem die Massenproduktions-Version der programm­ gesteuerten Einheit enthaltenden Chip verbunden ist; eine solche programmgesteuerte Einheit ist in der DE 197 43 264 A1 beschrieben.
Die Emulations-Einheit 7 enthält beispielsweise eine soge­ nannte Breakpoint- oder Watchpoint-Logik, welche erforderlich ist, um die Zustande oder Ereignisse, deren Auftreten über­ wacht werden soll, einzustellen, und um das Auftreten der zu überwachenden Zustände oder Ereignisse zu erkennen.
Die Debug-Ressourcen enthalten beispielsweise
  • - einen sogenannten Overlay-Speicher, in welchen Programme und/oder Daten gespeichert werden können, die während der Emulation anstelle der Programme und/oder Daten verwendet werden können, die in den normalerweise benutzten Speichern gespeichert sind, und
  • - einen sogenannten Monitor Speicher, in welchem Debug- Sequenzen gespeichert sind, die zur Durchführung von be­ stimmten, für die Emulation erforderlichen Aktionen vom Core ausgeführt werden müssen.
Durch die zusätzlichen Komponenten, die die Emulations- Version enthält, ist die Emulations-Version der programm­ gesteuerten Einheit teurer als die Massenproduktions-Version und wird aus diesem Grund im allgemeinen nur in der Entwick­ lungsphase verwendet; in fertig entwickelten und verkauften Geräten werden normalerweise die billigeren Massenproduk­ tions-Versionen der programmgesteuerten Einheit eingesetzt.
Nun ist es aber nicht ausgeschlossen, daß auch in fertig ent­ wickelten Geräten Fehler auftreten können, die nur durch eine Emulation lokalisiert und behoben werden können. Eine Emu­ lation der Massenproduktions-Version ist jedoch nicht möglich, weil dieser die hierfür erforderlichen Komponenten (Emulations-Einheit 7, Debug-Ressourcen 8, und Schnittstelle 9) fehlen.
Folglich ist es mitunter nicht oder nur mit einem immensen Aufwand möglich, unerwartet auftretende Fehler zu lokalisie­ ren und zu beheben.
Der vorliegenden Erfindung liegt daher die Aufgabe zugrunde, eine programmgesteuerte Einheit zu finden, bei welcher sich auftretende Fehler mit geringem Aufwand lokalisieren und be­ heben lassen, und welche nicht oder nur geringfügig teurer ist als die Massenproduktions-Version einer herkömmlichen programmgesteuerten Einheit.
Diese Aufgabe wird erfindungsgemäß durch die in Patentan­ spruch 1 beanspruchte programmgesteuerte Einheit gelöst.
Die erfindungsgemäße programmgesteuerte Einheit zeichnet sich dadurch aus, daß sie eine Auswahlvorrichtung enthält, durch welche festlegbar ist, ob die programmgesteuerte Einheit un­ ter Verwendung einer ersten Emulations-Einheit oder unter Verwendung einer zweiten Emulations-Einheit emuliert werden soll.
Durch diese Auswahlvorrichtung ist es möglich, in der Massen­ produktions-Version der programmgesteuerten Einheit eine erste Emulations-Einheit vorzusehen, und in der Emulations- Version der programmgesteuerten Einheit eine weitere (zweite) Emulations-Einheit vorzusehen, und die die Emulation steuernde Steuereinheit auswählen zu lassen, unter Verwendung wel­ cher Emulations-Einheit eine Emulation der programmgesteuer­ ten Einheit erfolgen soll.
Dadurch kann auch die Massenproduktions-Version der pro­ grammgesteuerten Einheit emuliert werden.
Da es von der programmgesteuerten Einheit nach wie vor eine voll emulierbare Version gibt, besteht keine Notwendigkeit, daß die in der Massenproduktions-Version vorgesehene erste Emulations-Einheit all das leisten können muß, was eine oder mehrere Emulations-Einheiten der Emulations-Version leisten können müssen. D. h., daß es sich bei der ersten Emulations- Einheit um eine Emulations-Einheit mit beschränkter Funktio­ nalität und/oder beschränkter Leistungsfähigkeit handeln kann. Eine solche Emulations-Einheit verteuert die Massenpro­ duktions-Version der programmgesteuerten Einheit kaum und bietet dennoch die Möglichkeit, die Massenproduktions-Version in gewissem Umfang zu emulieren.
Eine wie beschrieben ausgebildete programmgesteuerte Einheit eröffnet die Möglichkeit, in der Massenproduktions-Version auftretende Fehler durch eine Emulation zu lokalisieren und zu beheben, wobei die Massenproduktions-Version nicht oder nur unwesentlich teurer ist als die Massenproduktions-Version einer herkömmlichen programmgesteuerten Einheit.
Vorteilhafte Weiterbildungen der Erfindung sind den Unter­ ansprüchen, der folgenden Beschreibung und den Figuren ent­ nehmbar.
Die Erfindung wird nachfolgend anhand eines Ausführungsbei­ spiels unter Bezugnahme auf die Figuren näher erläutert. Es zeigen
Fig. 1A eine herkömmliche Massenproduktions-Version einer programmgesteuerten Einheit,
Fig. 1B eine herkömmliche Emulations-Version einer programmgesteuerten Einheit,
Fig. 2A eine im folgenden näher beschriebene Massenproduk­ tions-Version einer programmgesteuerten Einheit,
Fig. 2B eine im folgenden näher beschriebene Emulations- Version einer programmgesteuerten Einheit,
Fig. 3 den Aufbau einer Emulations-Schnittstelle der in den Fig. 2A und 2B gezeigten programmgesteuerten Ein­ heiten, und
Fig. 4 einen Sicherungsmechanismus, durch welchen verhin­ derbar ist, daß über die Emulations-Einheiten der in den Fig. 2A und 2B gezeigten programmgesteuerten Einheiten unberechtigt Daten aus der programmgesteu­ erten Einheit ausgelesen werden.
Die im folgenden beschriebene programmgesteuerte Einheit zeichnet sich dadurch aus, daß sie eine Auswahlvorrichtung enthält, durch welche festlegbar ist, ob die programmgesteu­ erte Einheit unter Verwendung einer ersten Emulations-Einheit oder unter Verwendung einer zweiten Emulations-Einheit emu­ liert werden soll.
Die Massenproduktions-Version einer solchen programmgesteuer­ ten Einheit ist in Fig. 2A, und die Emulations-Version einer solchen programmgesteuerten Einheit ist in Fig. 2B gezeigt.
Die in der Fig. 2B gezeigte Massenproduktions-Version der programmgesteuerten Einheit enthält wie die in Fig. 1A gezeigte herkömmliche Massenproduktions-Version einen Core 11, Peripherie-Einheiten 12, 13 und 14, und einen den Core 11 und die Peripherie-Einheiten 12, 13 und 14 verbindenden Bus 15, und darüber hinaus eine (erste) Emulations-Einheit 17, ein vom Core 11 getrenntes Emulations-Interface 16 zur Verbindung der ersten Emulations-Einheit 17 mit dem Core 11, und eine (erste) Steuerungs-Schnittstelle 18 zur Verbindung der ersten Emulations-Einheit 17 mit einer außerhalb der pro­ grammgesteuerten Einheit vorgesehenen, die Emulation steuernden Steuereinheit 19, wobei der Core 11, die Peripherie-Einheiten 12, 13 und 14, und der Bus 15 dem Core 1, den Peripherie-Einheiten 2, 3 und 4, und dem Bus 5 der in der Fig. 1A gezeigten Anordnung entsprechen.
Die in der Fig. 2B gezeigte Emulations-Version der programm­ gesteuerten Einheit enthält die in Fig. 2A gezeigten und unter Bezugnahme darauf beschriebenen Komponenten der Massen­ produktions-Version der programmgesteuerten Einheit, und zusätzlich eine zweite Emulations-Einheit 20, Debug Ressour­ cen 21, und eine zweite Steuerungs-Schnittstelle 22 zur Ver­ bindung der zweiten Emulations-Einheit 20 mit der die Emula­ tion steuernden Steuereinheit 19, wobei die zweite Emula­ tions-Einheit 20 und die Debug-Ressourcen 21 über die selbe Schnittstelle wie die erste Emulations-Einheit 17, nämlich über das Emulations-Interface 16 mit dem Core 11 verbunden sind. Die Debug Ressourcen 21 entsprechen den Debug-Ressour­ cen 8 der Emulations-Version gemäß Fig. 1B. Die zweite Emu­ lations-Einheit 20 kann der Emulations-Einheit 7 der Emula­ tions-Version gemäß Fig. 1B entsprechen, umfaßt aber, wie im folgenden noch näher erläutert wird, vorzugsweise nur einen Teil der Emulations-Einheit 7, genauer gesagt nur diejenigen Komponenten, die nicht schon in der ersten Emulations-Einheit 17 enthalten sind.
Das Emulations-Interface 16 enthält die eingangs bereits er­ wähnte Auswahlvorrichtung, durch welche festlegbar ist, ob die programmgesteuerte Einheit unter Verwendung einer ersten Emulations-Einheit oder unter Verwendung einer zweiten Emula­ tions-Einheit emuliert werden soll; die erste Emulations- Einheit ist dabei die erste Emulations-Einheit 17, und die zweite Emulations-Einheit ist dabei die zweite Emulations- Einheit 20.
Es sei bereits an dieser Stelle darauf hingewiesen, daß die Auswahlvorrichtung nicht Bestandteil des Emulations-Interface 16 sein muß; sie kann auch in einer anderen Komponente der programmgesteuerten Einheit enthalten sein oder als eigene Komponente der programmgesteuerten Einheit realisiert sein.
Ein möglicher Aufbau des Emulations-Interface 16 und der darin enthaltenen Auswahlvorrichtung sind in Fig. 3 ver­ anschaulicht.
Die Auswahlvorrichtung ist in der Fig. 3 mit dem Bezugszei­ chen 23 bezeichnet. Es handelt sich im betrachteten Beispiel um einen Umschalter, der (beispielsweise über einen Ein- und/oder Ausgabeanschluß (Pin oder Pad) der programmgesteuer­ ten Einheit oder auf sonstigem Wege) von der Dteuereinheit 19 gesteuert wird.
Durch die Auswahlvorrichtung 23 wird entschieden, ob eine von der ersten Emulations-Einheit 17 ausgegebene Anforderung oder eine von der zweiten Emulations-Einheit 20 ausgegebene Anfor­ derung an den Core 11 weitergeleitet wird. Die vom Core 11 auf eine Anforderung seitens der ersten Emulations-Einheit 17 hin oder auf eine Anforderung seitens der zweiten Emulations- Einheit 20 hin zurückgegeben Daten werden sowohl der ersten Emulations-Einheit 17 als auch der zweiten Emulations-Einheit 20 zugeführt.
Die erste Emulations-Einheit 17 und die zweite Emulations- Einheit 20 weisen, wie vorstehend bereits erwähnt wurde, vor­ zugsweise zusammen den selben Funktionsumfang auf wie die Emulations-Einheit 7 der herkömmlichen Emulations-Version der programmgesteuerten Schaltung gemäß Fig. 1B. Daraus wird deutlich, daß die erste Emulations-Einheit 17 einen ge­ ringeren Funktionsumfang aufweist als die Emulations-Einheit 7 der Emulations-Version der programmgesteuerten Einheit ge­ mäß Fig. 1B. Dies, und ferner der Umstand, daß die Massenproduktions-Version der programmgesteuerten Einheit keine Debug-Ressourcen enthält, eröffnet die Möglichkeit, eine Massenproduktions-Version einer programmgesteuerten Einheit zu schaffen, die emulierbar ist, aber nur unwesent­ lich mehr kostet als eine nicht emulierbare Massenproduk­ tions-Version.
Eine weitere Besonderheit der betrachteten programmgesteuer­ ten Einheit besteht darin, daß diese einen Sicherungsmecha­ nismus aufweist, durch welchen verhindert wird, daß unberech­ tigte Personen durch Anschluß einer Steuereinheit 19 an die programmgesteuerte Einheit geheime Daten oder Programme aus einer internen Speichereinrichtung der programmgesteuerten Einheit auslesen können.
Der Aufbau einer einen solchen Sicherungsmechanismus auf­ weisenden Emulations-Version einer programmgesteuerten Einheit ist in Fig. 4 veranschaulicht.
Die in der Fig. 4 gezeigte Emulations-Version basiert auf der in der Fig. 2B gezeigten Emulations-Version; mit den selben Bezugszeichen bezeichnete Komponenten bezeichnen gleiche oder einander entsprechende Komponenten. Die in der Fig. 4 gezeigte Emulations-Version weist gegenüber dem in der Fig. 2B gezeigten Emulations-Version zusätzlich einen Sicherungsmechanismus 24 und ein im betrachteten Beispiel durch ein UND-Gatter 25 gebildetes Sperrglied auf.
Das UND-Gatter 25 ist zwischen dem Emulations-Interface 16 und dem Core 11 vorgesehen, genauer gesagt in dem Signalpfad, über welchen von den Emulations-Einheiten 17 und 20 stammende Anforderungen an den Core 11 weitergeleitet werden. Es weist zwei Eingangsanschlüsse auf, von welchen einem die vom Emula­ tions-Interface 16 ausgegebenen Daten zugeführt werden, und von welchen dem anderen ein Enable-Signal des Sicherungs­ mechanismus 24 zugeführt wird.
Das UND-Gatter 25 läßt die vom Emulations-Interface 16 zum Core 11 weitergeleiteten Anforderungsdaten passieren, wenn und so lange das Enable-Signal des Sicherungsmechanismus 24 den Wert 1 hat, und sperrt die Übertragung der Anforderungs­ daten zum Core 11, wenn das Enable-Signal den Wert 0 hat.
Dem Sicherungsmechanismus 24 muß ein bestimmter Code zuge­ führt werden, damit das von ihm erzeugte Enable-Signal den Wert 1 annimmt. Wird nicht der richtige Code zugeführt, weist das Enable-Signal den Wert 0 auf, und die programmgesteuerte Einheit kann auch dann, wenn es sich um eine Emulations-Ver­ sion handelt, nicht emuliert und damit auch nicht ausspio­ niert werden. Der bestimmte Code ist im betrachteten Beispiel fest in der programmgesteuerten Einheit eingestellt und wird nur ganz bestimmten Personen, insbesondere den für Be­ seitigung von Fehlern zuständigen Kundenbetreuern bekannt­ gegeben.
Für die Eingabe des Codes existieren verschiedene Möglich­ keiten. Die Eingabe kann über bestimmte Ein- und/oder Aus­ gabeanschlüsse der programmgesteuerten Einheit oder über die Steuereinheit 19 erfolgen.
Bezugszeichenliste
1
Core
2
Peripherie-Einheit
3
Peripherie-Einheit
4
Peripherie-Einheit
5
Bus
6
Emulations-Interface
7
Emulations-Einheit
8
Debug-Ressourcen
9
Steuerungs-Schnittstelle
10
Emulator
11
Core
12
Peripherie-Einheit
13
Peripherie-Einheit
14
Peripherie-Einheit
15
Bus
16
Emulations-Interface
17
erste Emulations-Einheit
18
erste Steuerungs-Schnittstelle
19
Steuereinheit
20
zweite Emulations-Einheit
21
Debug-Ressourcen
22
zweite Steuerungs-Schnittstelle
23
Auswahlvorrichtung
24
Sicherungsmechanismus
25
UND-Gatter

Claims (14)

1. Programmgesteuerte Einheit, dadurch gekennzeichnet, daß die programmgesteuerte Einheit eine Auswahlvorrichtung (23) enthält, durch welche festlegbar ist, ob die programm­ gesteuerte Einheit unter Verwendung einer ersten Emulations- Einheit (17) oder unter Verwendung einer zweiten Emulations- Einheit (20) emuliert werden soll.
2. Programmgesteuerte Einheit nach Anspruch 1, dadurch gekennzeichnet, daß die Auswahlvorrichtung (23) eine Umschaltvorrichtung ist, durch welche wahlweise aus der ersten Emulations-Einheit (17) oder aus der zweiten Emulations-Einheit (20) zu einem Core (11) der programmgesteuerten Einheit ausgegebene Daten oder Signale an den Core weitergeleitet werden.
3. Programmgesteuerte Einheit nach Anspruch 1 oder 2, dadurch gekennzeichnet, daß die Auswahlvorrichtung (23) von einer außerhalb der pro­ grammgesteuerten Einheit vorgesehenen Steuereinheit (19) ge­ steuert wird.
4. Programmgesteuerte Einheit nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß eine Massenproduktions-Version der programmgesteuerten Einheit nur die erste Emulations-Einheit (17) enthält.
5. Programmgesteuerte Einheit nach Anspruch 4, dadurch gekennzeichnet, daß eine Emulations-Version der programmgesteuerten Einheit zusätzlich die zweite Emulations-Einheit (20) enthält.
6. Programmgesteuerte Einheit nach Anspruch 5, dadurch gekennzeichnet, daß die Emulations-Version der programmgesteuerten Einheit zusätzlich Debug-Ressourcen (21) enthält.
7. Programmgesteuerte Einheit nach Anspruch 6, dadurch gekennzeichnet, daß die Debug-Ressourcen (21) einen Monitor-Speicher enthalten.
8. Programmgesteuerte Einheit nach Anspruch 6 oder 7, dadurch gekennzeichnet, daß die Debug-Ressourcen (21) einen Overlay-Speicher enthal­ ten.
9. Programmgesteuerte Einheit nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die Emulations-Einheiten (17, 20) über eine gemeinsam ge­ nutzte Schnittstelle (16) mit dem Core (11) der programm­ gesteuerten Einheit verbunden sind.
10. Programmgesteuerte Einheit nach Anspruch 9, dadurch gekennzeichnet, daß die Auswahlvorrichtung (23) Bestandteil der gemeinsamen Schnittstelle (16) ist.
11. Programmgesteuerte Einheit nach Anspruch 1, dadurch gekennzeichnet, daß die Emulations-Einheiten (17, 20) jeweils über eine eigene Schnittstelle (18, 22) mit einer außerhalb der pro­ grammgesteuerten Einheit vorgesehenen Steuereinheit (19) verbunden sind.
12. Programmgesteuerte Einheit nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, daß die programmgesteuerte Einheit einen Sicherungsmechanis­ mus (24) verfügt, durch welchen die Verbindung zwischen den Emulations-Einheiten (17, 20) und dem Core (11) der programm­ gesteuerten Einheit unterbrechbar ist.
13. Programmgesteuerte Einheit nach Anspruch 12, dadurch gekennzeichnet, daß die Verbindung zwischen den Emulations-Einheiten (17, 20) und dem Core (11) der programmgesteuerten Einheit nur freige­ geben wird, wenn dem Sicherungsmechanismus (24) vorher ein bestimmter Code zugeführt wurde.
14. Programmgesteuerte Einheit nach Anspruch 12 oder 13, dadurch gekennzeichnet, daß das Sperren und Freigeben der Verbindung zwischen den Emulations-Einheiten (17, 20) und dem Core (11) der programm­ gesteuerten Einheit unter Verwendung eines UND-Gatters (25) erfolgt, an dessen einen Eingangsanschluß ein Freigabesignal des Sicherungsmechanismus (24) angelegt wird.
DE10116861A 2001-04-04 2001-04-04 Programmgesteuerte Einheit Withdrawn DE10116861A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE10116861A DE10116861A1 (de) 2001-04-04 2001-04-04 Programmgesteuerte Einheit
EP02006840.9A EP1248198B1 (de) 2001-04-04 2002-03-26 Programmgesteuerte Einheit mit Emulations-Einheiten
US10/116,171 US7228264B2 (en) 2001-04-04 2002-04-04 Program-controlled unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE10116861A DE10116861A1 (de) 2001-04-04 2001-04-04 Programmgesteuerte Einheit

Publications (1)

Publication Number Publication Date
DE10116861A1 true DE10116861A1 (de) 2002-10-31

Family

ID=7680412

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10116861A Withdrawn DE10116861A1 (de) 2001-04-04 2001-04-04 Programmgesteuerte Einheit

Country Status (3)

Country Link
US (1) US7228264B2 (de)
EP (1) EP1248198B1 (de)
DE (1) DE10116861A1 (de)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10116862A1 (de) * 2001-04-04 2002-10-17 Infineon Technologies Ag Programmgesteuerte Einheit
US7058855B2 (en) * 2002-07-24 2006-06-06 Infineon Technologies Ag Emulation interface system
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
US7386656B2 (en) 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
DE102005038151B3 (de) * 2005-08-12 2007-02-08 Francotyp-Postalia Gmbh Testsystem für ein Benutzerendgerät und Testautomatisierungsverfahren
GB2444663B (en) 2005-09-02 2011-12-07 Metaram Inc Methods and apparatus of stacking drams
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
EP2441007A1 (de) 2009-06-09 2012-04-18 Google, Inc. Programmierung von dimm-abschlusswiderstandswerten
US11151486B1 (en) 2013-12-30 2021-10-19 Massachusetts Mutual Life Insurance Company System and method for managing routing of leads
US10102050B2 (en) * 2015-02-05 2018-10-16 Microchip Technology Incorporated System and method for generating cross-core breakpoints in a multi-core microcontroller

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3737958A1 (de) * 1986-11-11 1988-05-26 Philips Nv Anordnung zum emulieren eines mikrokontrollers unter verwendung eines muttermikrokontrollers und eines tochtermikrokontrollers, mutter-mikrokontroller bzw. tochtermikrokontroller zur verwendung in einer derartigen anordnung, integrierte schaltung zur verwendung in einem derartigen tochtermikrokontroller und mikrokontroller mit einer derartigen integrierten schaltung
US5132971A (en) * 1987-02-06 1992-07-21 Anritsu Corporation In-circuit emulator
DE19742577C1 (de) * 1997-09-26 1998-11-12 Siemens Ag Schaltungsanordnung zur In-Circuit-Emulation eines Mikrocontrollers

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640542A (en) * 1993-10-29 1997-06-17 Intel Corporation On-chip in-circuit-emulator memory mapping and breakpoint register modules
JP2752592B2 (ja) * 1994-12-28 1998-05-18 日本ヒューレット・パッカード株式会社 マイクロプロセッサ、マイクロプロセッサ−デバッグツール間信号伝送方法及びトレース方法
US5872953A (en) * 1995-08-30 1999-02-16 Mentor Graphics Corporation Simulating circuit design on a circuit emulation system
JP2888512B2 (ja) * 1995-09-22 1999-05-10 三菱電機マイコン機器ソフトウエア株式会社 エミュレーション装置
DE19743264C2 (de) 1997-09-30 2002-01-17 Infineon Technologies Ag Verfahren zur Herstellung einer Emulationsschaltkreisanordnung sowie Emulationsschaltkreisanordnung mit zwei integrierten Schaltkreisen
JP3666237B2 (ja) * 1998-03-31 2005-06-29 セイコーエプソン株式会社 情報処理装置及び電子機器
US6480952B2 (en) * 1998-05-26 2002-11-12 Advanced Micro Devices, Inc. Emulation coprocessor
JP3905250B2 (ja) * 1999-05-21 2007-04-18 富士通株式会社 情報処理装置の制御装置および制御方法ならびにインタフェース装置
JP4260984B2 (ja) * 1999-06-04 2009-04-30 株式会社東芝 情報処理装置および情報処理方法
US6711684B1 (en) * 1999-06-08 2004-03-23 General Instrument Corporation Variable security code download for an embedded processor
US6668339B1 (en) * 1999-07-28 2003-12-23 Mitsubishi Denki Kabushiki Kaisha Microprocessor having a debug interruption function
JP2001134461A (ja) * 1999-11-05 2001-05-18 Fujitsu Ltd リセット制御システムおよび方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3737958A1 (de) * 1986-11-11 1988-05-26 Philips Nv Anordnung zum emulieren eines mikrokontrollers unter verwendung eines muttermikrokontrollers und eines tochtermikrokontrollers, mutter-mikrokontroller bzw. tochtermikrokontroller zur verwendung in einer derartigen anordnung, integrierte schaltung zur verwendung in einem derartigen tochtermikrokontroller und mikrokontroller mit einer derartigen integrierten schaltung
US5132971A (en) * 1987-02-06 1992-07-21 Anritsu Corporation In-circuit emulator
DE19742577C1 (de) * 1997-09-26 1998-11-12 Siemens Ag Schaltungsanordnung zur In-Circuit-Emulation eines Mikrocontrollers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Ing-Jer Huang, Tai-An Lu: "ICEBERG: an embedded in-circuit emulator synthesizer for microcontrollers", Design Automation Conference, 1999. Proceedings 36th, 1999, Seiten 580-585 *

Also Published As

Publication number Publication date
US20020194538A1 (en) 2002-12-19
EP1248198A2 (de) 2002-10-09
EP1248198B1 (de) 2016-11-02
EP1248198A3 (de) 2002-11-13
US7228264B2 (en) 2007-06-05

Similar Documents

Publication Publication Date Title
DE10116861A1 (de) Programmgesteuerte Einheit
EP0046499B1 (de) Schieberegister für Prüf- und Test-Zwecke
DE4331703C2 (de) Elektronische Einrichtung
DE19781620B4 (de) Bus-Patcher
DE2907181A1 (de) Befehlssatz-modifizierregister fuer einen datenprozessor
EP0268285A2 (de) Verfahren und Schaltungsanordnung zum Urladen eines Zweitrechners
DE2357003A1 (de) Programmierbarer prozessor
EP0011685A1 (de) Programmierbare Speicherschutzeinrichtung für Mikroprozessorsysteme und Schaltungsanordnung mit einer derartigen Einrichtung
DE3228405A1 (de) Emulator zur erzeugung einer folge von steuersignalen
DE3739993C2 (de)
DE2801518A1 (de) Datenverarbeitungssystem mit speicher-schutzeinrichtung
EP0500973A1 (de) Initialisierungsroutine im EEPROM
EP0276450A1 (de) Datenschutzschaltung zur Sperrung der Uebertragung von Signalen über einen Bus
DE3410497A1 (de) Rechneranordnung
DE3313075C2 (de)
EP1379953B1 (de) Programmgesteuerte einheit
DE10040050A1 (de) Prümodul
DE10324384B3 (de) Behandlung eines Fehlerereignisses bei der Installation eines Anwendungsprogramms in einem tragbaren Datenträger
EP1248195B1 (de) Verbindungsprüfung zwischen einer programmgesteuerten Einheit und einer Schaltung
DE4303406C2 (de) Verfahren zur Inhaltsänderung eines Registers eines Mikrocomputers
DE19520771A1 (de) Schnittstelleneinrichtung
EP1221655A2 (de) Integrierte Schaltung und Verfahren zum Herstellen einer integrierten Schaltung
DE3928303A1 (de) Vorrichtung und verfahren zur unterbrechung eines auf einem datenverarbeitungs-system laufenden datenverarbeitungs-programm, um ein hilfsprogramm auszufuehren
EP0184023A1 (de) Verfahren und Einrichtung zum Schutz vor unberechtigtem Betrieb geschützter Programme in einem Mikrocomputer
EP1248197A2 (de) Verfahren zum Emulieren einer programmgesteuerten Einheit

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8139 Disposal/non-payment of the annual fee