


|
Nützliche Tipps finden Sie auch in den MCT-Mails!
Wenn Sie weitere Fragen haben, können Sie sich direkt an uns wenden.
Lässt sich ECO-C an eigene Targets anpassen?
Ja, wenn das Target auf einem Prozessor der 68k-Reihe basiert.
Neues Target für ECO-C (ausführliche Beschreibung mit Beispiel)
In ECO-C gibt es die Möglichkeit, alphanumerische Displays anzusprechen. Leider lassen sich die Displays nicht direkt am TLX+ anschließen. Kann man die Displays trotzdem nutzen?
Die Displays müssen über ein spezielles Interface am TLX+ angeschlossen werden.
Alphanumerisches Display am TLX+
Das grafische LC-Display G1216 von Seiko läßt sich nicht direkt am TLX+ anschließen. Gibt es dafür eine Lösung?
Die Signale vom TLX+ müssen erst durch eine entsprechende Schaltung in eine für das Display verständliche Form umgewandelt werden.
Grafisches Display am TLX+
Grafikbibliothek: Welche Boards werden unterstützt?
Die Grafikbibliothek kann auf 68k und CPU32 Einplatinencomputern benutzt werden.
Grafikbibliothek: Welche Displays werden unterstützt?
Es sind Treiber für die LC-Displays Toshiba TLX1741, Toshiba TLX1013, Toshiba TLX711 und Seiko G1216 vorhanden. Außerdem ist eine Ausgabe über das Terminalprogramm möglich, sofern dieses ANSI unterstützt. In diesem Fall wird kein LCD benötigt.
Weitere Treiber können relativ einfach selbst programmiert werden.
Neuer Treiber für die Grafikbibliothek
Grafikbibliothek: Wie werden Programme mit ECO-C erstellt?
Das Paket muß im ECO-C-Verzeichnis installiert sein.
Beispiel: Sie wollen ein Projekt auf dem ZWERG332 erstellen und das Display TLX1741 benutzen. Ihr Programm heißt "main.c" und befindet sich im Hauptverzeichnis von ECO-C. Hierzu müssen Sie das Projekt wie folgt übersetzen:ecoc -Wall -target zwerg332 main.c libsrc/sysshare/tlx1741.c -lgraph
Das ausführbare Programm heißt "a.out".
Grafikbibliothek: Wie werden Programme mit WinECO-C erstellt?
Das Paket muß im WinECO-C-Verzeichnis installiert sein.
Sie binden die Grafikbibliothek in Ihr Projekt ein, indem Sie im EinstellungsfensterECO-C->Einstellungen->Linker
die Grafikbibliothek hinzufügen. Die Bibliothek hängt von Ihrem Target ab. Wenn Sie z.B. für den MEGA332 entwickeln wollen, finden Sie die entsprechende Grafikbibliothek im Verzeichnis "lib/mega332" unter dem Namen "libgraph.a".
Außerdem müssen die richtigen Low-Level-Funktionen übersetzt werden. Wenn Sie das Display TLX1741 verwenden, müssen Sie die Datei "tlx1741.c" im Verzeichnis "libsrc/sysshare" zu Ihrem Projekt hinzufügen. Das ist über
Projekt->Dateiliste->hinzufügen
möglich.
M11: Die DTR-Leitung wird zum "resetten" des Boards benutzt. Wie muss der Resetpegel sein?
M11 versucht zuerst mit *DTR active (= +12V auf der V.24 Seite) die angeschlossene Hardware zu resetten. Wenn das schief geht, wird dasselbe mit *DTR inactive (= -12V auf der V.24 Seite) probiert. Der Resetpegel spielt also keine Rolle, außer, daß der Reset mit +12V etwas schneller geht, weil gleich der erste Versuch klappt.
M11: Unter Linux läßt sich M11 nur als root nutzen. Wie mache ich M11 auch für normale User zugänglich?
Damit M11 auch von "normalen" Usern benutzt werden kann, muß M11 suid root installiert werden, d.h. geben Sie (als root) im Installations-Verzeichnis
chown root. m11; chmod 4755 m11
ein.
M11: Wie ist die Numerierung der seriellen Schnittstellen unter Linux?
M11 greift (leider auch in der Linuxversion) direkt auf die Hardware (d.h. den Schnittstellenbaustein) zu. Die Angabe der Schnittstelle ist unter DOS und Linux gleich. So wird z.B. mit
m11 -idev:2
der 2. serielle Kanal benutzt (COM2 unter DOS), unter Linux entspricht das in aller Regel /dev/cua1 oder /dev/ttyS1, wobei M11 - wie gesagt - nichts von irgendwelchen /dev/cuas oder /dev/ttySs weiß.
Was ist der TLX+/PIF-Bus und was kann man daran anschliessen?
TLX+ ist eine Erweiterung von TLX, einem Bus mit INTEL-Protokoll. Dieser Bus wurde von Toshiba für Grafik-LCDs aus der Taufe gehoben. Einmal kann man daran direkt LC-Displays anschliessen, mit den Erweiterungen zum TLX+ kann er aber auch zum einfachen Anschluss eigener anwendungsspezifischer Peripherie benutzt werden (Bausteine mit INTEL-like Businterface wie z.B. 8255 sind besonders einfach anzusteuern).
Inzwischen ist TLX+ auch unter dem Namen "PIF" (Parallel InterFace) Bus bekannt und es stehen diverse Standard-Module zur Verfügung.
PIF-Module
Das TLX+/PIF besteht aus einem 26pol. Steckverbinder mit
- 8 Datenbits, 4 Adressbits
- 4 Chip-Selects
- Read/Writesignal
- Reset, Interrupt
- GND, VCC und VEE (Kontrastspannung für LC-Displays)
Pin Signal Signal Pin 1
3
5
7
9
11
13
15
17
19GND
VCC
WE*
CS0*
A1
D0
D2
D4
D6
-GND
VEE
RD*
A0
RESET*
D1
D3
D5
D7
A22
4
6
8
10
12
14
16
18
2021
23
25A3
CS2*
TLXINT*CS1*
CS3*
GND22
24
26Auf Boards mit 16Bit Datenbus gibt es noch weitere 8 Pins für Daten (man könnte sagen TLX++), so dass die volle Datenbus-Breite auch für Peripherie genutzt werden kann.
Was ist das SPI und welche Bausteine kann man darüber ansprechen?
SPI heisst Serial Peripheral Interface und ist demnach eine serielle Peripherie-Schnittstelle. Aufgrund des nicht sehr aussagekräftigen Namens könnte man das SPI leicht mit einer "normalen" seriellen Schnittstelle verwechseln. Im Gegensatz zur RS232 (+/-12V, asynchron mit Start-/Stopbits, ein Sender, ein Empfänger) arbeitet das SPI mit TTL-Pegeln, einer separaten Taktleitung (synchron) und hat einen Master und beliebig viele Slaves (von denen immer nur einer aktiviert ist).
Jeder Slave hat eine eigene Chip-Select-Leitung und zwei Schieberegister als I/O-Schnittstellen. Mit jedem Taktimpuls (vom Master) wird ein Bit am Eingang übernommen und ein (Ergebnis)Bit am Ausgang bereitgestellt.
Um z.B. einen 10Bit ADC über das SPI anzuschliessen werden eine Sende-, Empfangs-, Takt- und Chip-Select-Leitung gebraucht. Daran ändert sich nichts, wenn man stattdessen einen 24Bit ADC benutzt. Ausserdem kommt für jeden weiteren Slave nur die Chip-Select-Leitung hinzu.
Wie man sieht, ist der Verdrahtungsaufwand drastisch geringer als beim parallelen Anschluss vergleichbarer Bausteine.
SPI (ausführliche Beschreibung mit Hersteller- und Bausteinliste)
Das Target reagiert nicht. Die Soft-LED blinkt unregelmässig, warum?
Der Selbsttest im C-Start (srt0.c) hat einen Fehler festgestellt. Das Blinken ist eine Art Morse-Code:
Code Bedeutung . . . _ Nicht genug RAM vorhanden (< Minimal-Konfiguration). . . _ . Das Programm im ROM ist falsch reloziert. . . _ _ Falsche ROM-Checksumme (nur NICO). . _ . . Kein RAM vorhanden. Fehler beim Test der unteren 32 Bytes. . _ . _ Peripheriefehler. Scotty08: MFP-Zugriff fehlerhaft.www.mct.de