[Previous] [Contents] [Index] [Next]

devc-serppc800, devc-tserppc800

PowerPC 80x serial communications manager (QNX Neutrino)


Note: You must be root to start this driver.

Syntax:

devc-serppc800 [[options] 
                [device[^brg_base[,memory_base]]]]... &

devc-tserppc800 [[options] 
                 [device[^brg_base[,memory_base]]]]... &

Runs on:

PowerPC 80x

Options:

The options are position-dependent and affect the subsequent ports.

-b number
The initial baud rate (default 57600).
-C size
The size of the canonical buffer in bytes (default 256).
-c clock
Define a custom clock rate, in hertz, for the serial port. This match the CPU's clock.
-E
Start in raw mode (the default). Software flow control is disabled by default.
-e
Start in edited mode (default raw). Software flow control is enabled by default.
-F
Disable hardware flow control (default to hardware flow control enabled). Hardware flow control is not supported in edited mode.
-f
Enable hardware flow control (default). Hardware flow control is not supported in edited mode.
-I number
The size of the interrupt input buffer in bytes (default 2048).
-O number
The size of the interrupt output buffer in bytes (default 2048).
-S|s
Disable / enable software flow control. The default depends on the mode: in raw mode (-E, the default), it's disabled; in edited mode (-e), it's enabled.

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
-u number
Append number to the device name prefix (/dev/ser). The default is 1; additional devices are given increasing numbers.
device
This must be smc1, smc2, scc1, scc2, scc3, or scc4.
brg_base
A number representing the baud-rate generator (BRG) base number. In general, this corresponds to the device as follows:
device brg_base
smc1 1
smc2 2
scc1, scc3 3
scc4 4
memory_base
The base address of on-chip dual-port RAM.

Description:

The devc-serppc800 manager is a small serial device manager for QNX Neutrino. It supports the builtin serial ports present in the PowerPC 80x series.

The devc-tserppc800 manager is a "tiny" version of devc-serppc800 that's intended for memory-constrained systems. It doesn't support special character editing (e.g. toggling insert mode, special erase characters).

All devices are fully interrupt driven and by default support standard hardware flow control on input and output (RTS/CTS). This can be disabled by the -F option.


Note: Hardware flow control is not supported in edited mode.


Note: 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

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:

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.

Note: 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-serppc800 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 IXON
c_oflag OPOST
c_cflag CLOCAL CSIZE CSTOPB PARENB PARODD
c_lflag ECHO ECHOE ECHOK ECHONL ICANON IEXTEN ISIG NOFLSH

Examples:

Start devc-serppc800 in edited mode, specifying the clock rate and baud rate, for the devices smc1 and smc2:

devc-serppc800 -e -c20000000 -b9600 smc1 smc2 &

See also:

Character I/O drivers (devc-*) in the Utilities Summary


[Previous] [Contents] [Index] [Next]