Difference between revisions of "Serial ports usage on Linux"
From ArmadeusWiki
(→Sending/Receiving data) |
m (→Links) |
||
Line 52: | Line 52: | ||
== Links == | == Links == | ||
− | * | + | * [http://tldp.org/HOWTO/Serial-HOWTO.html Serial uart manual in Linux] |
[[Category:Serial ports]] | [[Category:Serial ports]] |
Revision as of 10:32, 19 January 2010
How to use the APF's serial ports on Linux.
Contents
[hide]Generalities
On Linux all serial ports are driven the same way. Only their device nodes are changing to reflect the port type:
- /dev/ttySMXn for i.MX processor internal ports
- /dev/ttyUSBn for USB <-> serial converters
- /dev/ttySn for 16550 compatible FPGA's IP
/dev/ttySMX0
- /dev/ttySMX0 is the default console on which you can interact with the board (U-Boot and Linux).
- So: without software modifications this port is not usable to connect a MODEM or any other RS232 device. If you want to use it a normal serial port on Linux then:
- be sure that your device won't send data back in response of U-Boot boot's sequence
- change console=ttySMX0,115200 to console=ttySMXN,115200 in U-Boot bootargs variable (N=1 on APF9328 and N=2 on APF27)
Changing port parameters
- To get current parameters:
# stty -F /dev/ttySMX0 speed 115200 baud; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = ^J; eol2 = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -brkint ixoff -imaxbel -iexten -echoctl
- To only get actual speed:
# stty -F /dev/ttySMX0 speed 115200
- By default serial ports are configured as terminal emulator. If you want to use them as "raw" serial port you will have to do first (example for port 1):
# stty -F /dev/ttySMX1 raw # stty -F /dev/ttySMX1 -echo -echoe -echok
- To change baudrate of port 2 to 115200 :
# stty -F /dev/ttySMX2 115200
Sending/Receiving data
- It is simple as opening the device as a file and writing data to it:
# echo "HELLO" > /dev/ttySMX0
- To receive data (ASCII in that case):
# cat /dev/ttySMX0