Difference between revisions of "Serial ports usage on Linux"
From ArmadeusWiki
(creation) |
m |
||
| Line 1: | Line 1: | ||
| − | How to use the serial ports on Linux. | + | How to use the APF's serial ports on Linux. |
| + | |||
| + | ==Generalities== | ||
On Linux all serial ports are driven the same way with their device nodes: | On Linux all serial ports are driven the same way with their device nodes: | ||
| − | * ''/dev/ttySMXn'' for i.MX | + | * ''/dev/ttySMXn'' for i.MX processor internal ports |
* ''/dev/ttyUSBn'' for USB <-> serial converters | * ''/dev/ttyUSBn'' for USB <-> serial converters | ||
* ''/dev/ttySn'' for 16550 compatible FPGA's IP | * ''/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 2 on APF27) | ||
==Changing port parameters== | ==Changing port parameters== | ||
| Line 16: | Line 24: | ||
-brkint ixoff -imaxbel | -brkint ixoff -imaxbel | ||
-iexten -echoctl | -iexten -echoctl | ||
| + | </pre> | ||
| + | * Change Baud rate to 115200 of port 2: | ||
| + | <pre class=apf> | ||
| + | stty -F /dev/ttySMX2 115200 | ||
</pre> | </pre> | ||
Revision as of 08:07, 24 June 2009
How to use the APF's serial ports on Linux.
Generalities
On Linux all serial ports are driven the same way with their device nodes:
- /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 2 on APF27)
Changing port parameters
- 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
- Change Baud rate to 115200 of port 2:
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