Tembridis
21.08.2006, 16:10
Guten Morgen,
ich arbeite seit kurzem mit dem MB90F548GS der Firma Fujitsu. Mein Aufgabe ist es diesen mit einem externen Grafikprozessor der Firma Epson zu verbinden und zu programmieren. Dazu verwende ich die externe Bus-Schnittstelle des MCU, welche mir allerdings ein bischen Kopfzerbrechen bereitet und vielleicht hat hier jemand damit etwas Erfahrung sammeln können.
Laut Datenblatt ist bei diesem Baustein diese Schnittstelle in den Bereich des internen Speicher-Mappings auf 0x010000 gelegt. Also definiere ich mir
#define EXTERNAL_BASE_ADDR 0x010000
Um den Zugriff auf die Register des Epson etwas zu erleichtern definiere ich mir zusätzlich
#define EPSON_REVISION_CODE *(volatile unsigned char __far*) (EXTERNAL_BASE_ADDR+0x0000)
#define EPSON_MISCELLANOUS *(volatile unsigned char __far*) (EXTERNAL_BASE_ADDR+0x0001)
Mit diesen beiden Symbolen kann ich ganz bequem Lese- und Schreiboperationen auf dem Bus auslösen.
u8RevisionCode = EPSON_REVISION_CODE;
EPSON_MISCELLANOUS = 0xFF;
Testweise habe ich einen Logic Analyzer angeschlossen um sicherzustellen, dass das Protokoll so generiert wird wie gedacht. Leider musste ich feststellen, dass das MCU nicht wie erwartet die internen Adressen auf die externen Adressen abbildet (also 0x000000 und 0x000001). Stattdessen gibt er 0x010000 und 0x010001 aus. Was den Zugriff auf die unteren Adressen des Epson ein wenig erschwert.
Falls hier jemand schonmal Erfahrung mit diesem Baustein gemacht hat, bitte lasst es mich wissen. Die Fujitsu Leute tun sich etwas schwer mit ihrer Hilfestellung.
MfG
Tembridis
ich arbeite seit kurzem mit dem MB90F548GS der Firma Fujitsu. Mein Aufgabe ist es diesen mit einem externen Grafikprozessor der Firma Epson zu verbinden und zu programmieren. Dazu verwende ich die externe Bus-Schnittstelle des MCU, welche mir allerdings ein bischen Kopfzerbrechen bereitet und vielleicht hat hier jemand damit etwas Erfahrung sammeln können.
Laut Datenblatt ist bei diesem Baustein diese Schnittstelle in den Bereich des internen Speicher-Mappings auf 0x010000 gelegt. Also definiere ich mir
#define EXTERNAL_BASE_ADDR 0x010000
Um den Zugriff auf die Register des Epson etwas zu erleichtern definiere ich mir zusätzlich
#define EPSON_REVISION_CODE *(volatile unsigned char __far*) (EXTERNAL_BASE_ADDR+0x0000)
#define EPSON_MISCELLANOUS *(volatile unsigned char __far*) (EXTERNAL_BASE_ADDR+0x0001)
Mit diesen beiden Symbolen kann ich ganz bequem Lese- und Schreiboperationen auf dem Bus auslösen.
u8RevisionCode = EPSON_REVISION_CODE;
EPSON_MISCELLANOUS = 0xFF;
Testweise habe ich einen Logic Analyzer angeschlossen um sicherzustellen, dass das Protokoll so generiert wird wie gedacht. Leider musste ich feststellen, dass das MCU nicht wie erwartet die internen Adressen auf die externen Adressen abbildet (also 0x000000 und 0x000001). Stattdessen gibt er 0x010000 und 0x010001 aus. Was den Zugriff auf die unteren Adressen des Epson ein wenig erschwert.
Falls hier jemand schonmal Erfahrung mit diesem Baustein gemacht hat, bitte lasst es mich wissen. Die Fujitsu Leute tun sich etwas schwer mit ihrer Hilfestellung.
MfG
Tembridis