source: rtems/c/src/lib/libbsp/m68k/mvme162/consolex/README @ 674c900

4.104.114.84.95
Last change on this file since 674c900 was 9deb5b8b, checked in by Joel Sherrill <joel.sherrill@…>, on 08/01/97 at 18:12:11

Katsutoshi Shibuya (shibuya@…)of BU-Denken Co., Ltd.
(Sapporo, Japan) submitted the extended console driver for the
MVME162LX BSP and the POSIX tcsetattr() and tcgetattr() routines.
This device driver supports four serial ports, cooked IO, and
provides a portable base for Zilog 8530 based console drivers.

  • Property mode set to 100644
File size: 4.2 KB
Line 
1#
2#  $Id$
3#
4
5This driver was submitted by Katsutoshi Shibuya <shibuya@mxb.meshnet.or.jp>.
6
7Configuration
8-------------
9The application can choose this driver by using "CONSOLEX_DRIVER_TABLE_ENTRY"
10in the driver table definition, in place of "CONSOLE_DRIVER_TABLE_ENTRY".
11See consolex/cTest.c for an example and consolex/README for more information.
12
13Programmatic Usage
14------------------
15
16- You can open 9 devices; console tty00, tty01, tty02, tty03,
17  rtty00, rtty01, rtty02, rtty03
18  tty00, rtty00 and console correspond to port#1 of MVME162LX,
19  tty01 and rtty01 correspond to port#2, and so on.
20- tty0x are "cooked" devices. They support following flags on termios
21  definition;
22    ISTRIP, INLCR, IGNCR, ICRNL, IUCLC, OLCUC, ONLCR, OCRNL, ICANON, ECHO,
23    CBAUD, B38400, B19200, B9600, CSIZE, CS8, CS7, PARENB, PARODD, CSTOPB,
24- rtty0x are "raw" devices. They support following flags on termios
25  definition;
26    CBAUD, B38400, B19200, B9600, CSIZE, CS8, CS7, PARENB, PARODD, CSTOPB,
27- The default parameter is;
28    B38400, CS8, ICRNL, ONLCR, ICANON, ECHO
29  (but all flags except B38400 and CS8 will be ignored on raw device.)
30- All devices support O_NDELAY (non blocking read/write) mode operation.
31  (Non-blocking cooked mode output is valid, but will not work fine.)
32  (Non-blocking cooked mode input with ECHO flag may be blocked while sending
33  echoed character.)
34- All devices support hardware flow control by CTS/RTS.
35  (There is no way to disable it. There are no supports for soft flow control.)
36- The application can use tcgetattr or ioctl to obtain the parameters of the
37  device into struct termios.
38- The application can use tcsetattr or ioctl to set the parameters of the
39  device within the struct temios. The action argument (2nd arg) of the
40  tcsetattr must be TCSANOW.
41- On opening the device, the driver activate DTR line.  On closing the device,
42  the driver deactivate DTR line.
43  If 2 or more device opening occures at the same time on the same port, only
44  the first open procedure activates DTR line, and only the last close
45  procedure deactivate it.
46- There are no device locking mechanisms. Application can open same device
47  several times.
48  But 2 simultanious reading operation on the same port will cause unexpected
49  result.
50
51Porting Notes
52-------------
53- This code can be used for any Zilog SCC based board.
54  Change the time constant parameters and SCC register base addresses.
55
56- This code is well separated into "device depended part" and "device
57  independed part".
58  They can use device independed part for any other board. The device
59  independed part requires following functions;
60
61  void SCCInitialize();
62    Initialize hardware.
63  rtems_boolean SCCGetOne(int port, char *ch);
64    Get one character from port. If no character is in the receiver buffer,
65    this function returns FALSE, otherwise TRUE.
66  char SCCGetOneBlocked(int port);
67    Get one character from port. If no character is in the receiver buffer,
68    wait it passing the CPU to the other task.
69  rtems_boolean SCCSendOne(int port, char ch);
70    Send one character via port. If the transmitter is not ready, this function
71    returns FALSE, otherwise TRUE.
72  void SCCSendOneBlocked(int port, char ch);
73    Send one character via port. Wait until the transmitter is ready, passing
74    the CPU to the other task.
75  unsigned32 SCCSetAttributes(int port, struct termios *tm);
76    Set device attribute according to the information in the struct termios.
77    c_cflags parameter (baud, parity, stopbits and code size) will be checked.
78    On the successful completion, this function should return 0.
79  unsigned32 SCCGetAttributes(int port, struct termios *tm);
80    Get device attribute according into the struct termios.
81    c_cflags parameter (baud, parity, stopbits and code size) will be set.
82    On the successful completion, this function should return 0.
83  void SCCSetDTR(port);
84    Activate DTR line.
85  void SCCResetDTR(port);
86    Deactivate DTR line.
87  void SCCSetRTS(port);
88    Activate RTS line.
89  void SCCResetRTS(port);
90    Deactivate RTS line.
91  int SCCGetCTS(port);
92    Return non zero when CTS line is activated.
93
94- If you don't want console port, undefine "CONSOLEPORT".
95
96- This code does not use ESCC feature; i.e. does not read register #4/#5/#14
97
Note: See TracBrowser for help on using the repository browser.