devc-ser8250
8250 serial communications manager (QNX OS)
Syntax:
devc-ser8250 [[options] [ -T] [-t]
[port[^shift][,intr]]]... &
Runs on:
QNX OS
Targets:
Hardware with an 8250-compatible UART
Options:
- -T number
- Enable the transmit FIFO and set the number of characters to be transmitted at each TX interrupt to 1, 4, 8, or 14. The default is 14 (FIFO disabled).
- -t number
- Enable the receive FIFO and set its threshold to 1, 4, 8, or 14 characters. The default is 8 (trigger disabled).
- port
- The hex I/O address (for x86 systems) of a serial port.
- shift
- The spacing of the device registers as a power of 2. For example:
0
- Registers are 1 byte apart.
1
- Registers are 2 bytes apart.
2
- Registers are 4 bytes apart.
…
- n
- Registers are 2n bytes apart.
The default shift is
0
. - intr
- The interrupt used by this port; specified in hex if prefixed with
0x
, otherwise it's decimal.
Description:
The devc-ser8250 manager is a small serial device manager for the QNX OS. It can support any number of serial ports using 8250s, 14450s or 16550s. Each device can be assigned its own interrupt, or share an interrupt if the hardware supports interrupt sharing. If you don't specify any I/O ports for devices on an x86 system, devc-ser8250 assumes you want to use the standard PC ports of COM1 (3f8,4) and COM2 (2f8,3).
The serial driver's priority floats to the priority of the client. All internal events are processed at priority 24 (inherited from the internal pulse). The event handling priority is hard coded and isn't configurable by any of the options listed. (The driver's main.c program would need modification in order to change the priority).
When the driver talks to a client application, it's running at the priority of the client. All other processing takes place either at priority 24r or at interrupt time.
Device | Port | Interrupt |
---|---|---|
/dev/ser1 | 3f8 | 4 |
/dev/ser2 | 2f8 | 3 |
[type=link] /dev/console = /dev/ser1
All devices are fully interrupt driven and by default support standard hardware flow control on input and output (RTS/CTS). You can disable this by using the -F option.
- Time
- Return after a specified amount of time has elapsed.
- Min
- Return when this number of characters are in the input buffer.
- Char
- Return if this forwarding character is in the input buffer.
You can set these parameters using library routines (see tcgetattr(), tcsetattr(), readcond() and TimerTimeout() in the C Library Reference).
The devc-ser8250 manager supports both raw and edited modes, making it a real tty device.
Field | Supported flags |
---|---|
c_cc | All characters |
c_iflag | BRKINT ICRNL IGNBRK IXON |
c_oflag | OPOST |
c_cflag | CLOCAL CSIZE CSTOPB PARENB PARODD |
c_lflag | ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH |
Examples:
devc-ser8250 &
devc-ser8250 -b 38400 &
devc-ser8250 3f8,4 -b 38400 280,3 288,3 290,3 298,3 &
devc-ser8250 -F 3f8,4 -f 2f8,3 &