DSIU serial communications manager (QNX Neutrino)
You must be root to start this driver. |
devc-serdsiu [[options] [port[^shift[,intr]]]]... & devc-tserdsiu [[options] [port[^shift[,intr]]]]... &
MIPS
The options are position-dependent and affect the subsequent ports.
The order in which you specify the -E or -e, and -S or -s options matters:
Options | Mode | Software flow control |
---|---|---|
-e | Edited | Enabled |
-S -e | Edited | Enabled |
-e -S | Edited | Disabled |
-E | Raw | Disabled |
-s -E | Raw | Disabled |
-E -s | Raw | Enabled |
...
The default shift is 1.
The devc-serdsiu manager is a small serial device manager for QNX Neutrino. It can support any number of serial ports using Debug Serial Interface Units (DSIUs). 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, devc-serdsiu assumes you wish to use port 0x0B00 01A0 interrupt 0xB00 0015.
The devc-tserdsiu manager is a "tiny" version of devc-serdsiu that's intended for memory-constrained systems. It doesn't support special character editing (e.g. toggling insert mode, special erase characters).
Each device is given a name in the pathname space of /dev/sern, where n starts at 1 (unless changed via the -u option) and increases. If you use the default DSIU ports, this results in:
Device | Port | Interrupt |
---|---|---|
/dev/ser1 | 0x0B00 01A0 | 0xB00 0015 |
If your application uses /dev/console,
you should create a link from it to one of
/dev/ser1, /dev/ser2, ... by adding
a line like this to the buildfile used by mkifs:
[type=link] /dev/console = /dev/ser1 |
All devices are fully interrupt driven; there's no hardware flow control for DSIU.
A read request by default returns when at least 1 character is available. To increase efficiency, you can control three parameters to control when a read is satisfied:
If the Min value is greater than the size of the input buffer, the Min value is clipped to the size of the buffer. To avoid this, the size of the input buffer can be changed with the -I option. |
These parameters are set using library routines (see tcgetattr(), tcsetattr(), readcond() and TimerTimeout() in the Library Reference).
The devc-serdsiu manager supports both raw and edited modes, making it a real tty device.
The following fields and flags are supported in the termios structure:
Field | Supported flags |
---|---|
c_cc | All characters |
c_iflag | BRKINT ICRNL IGNBRK |
c_oflag | OPOST |
c_cflag | CLOCAL CSIZE CSTOPB PARENB PARODD |
c_lflag | ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH |
Create a 1200 baud device, /dev/ser5, using the default DSIU port, 0x0B00 01A0:
devc-serdsiu -u5 -b1200 &
Character I/O drivers (devc-*) in the Utilities Summary