������� | ������ ������� |
����� | ���������� | ������ |
������������� ��������� (Dev) ������������ ��������� ����� ���������� � ������������� ������������. ����� ������������ ��������� ����������� ������������ ���� �����/������ � ���������� � �������� /dev. ��������, ������� � ������� QNX ����� ��� /dev/con1.
��������� QNX �������� ������ � ������������ ����������� � ������� ����������� ������� read(), write(), open() � close(). ��� �������� QNX ������������ ���������� �������������� ��������������� ������� ������, ������� ����� ����������� ��� ������������ ���������.
������������� ��������� ���������� ����������� ������ ����� ����������� � �����������. ��������� ��������� ���� ������ ����������� ��������������� Dev � ������������ � �����������, ��������� � ��������� ���������� ������������� ������������ (termios), ������� ���������� ��� ������� ����������. ������������ ����� ����������� �/��� �������� ��� ���������, ��������� ������� stty; � ��������� ��� ���� ���� ������������ ������� tcgetattr() � tcsetattr().
��������� t�rmios ��������� ����������������� ��������� �� ������ ������, � ��������� ��� ������:
����� ����, ������������� ��������� ��������� ��� �������������� �������, � ������� ������� �������� ����� ��������� ������������� ������������.
� ����������� ���� ������� ������������ ��������� �� ���� �������.
6.2. ������ � ������������
������� ����� | ����������� ������� �� |
��������� ������������������ �������� ������ | dev_read() ��� read() + tcsetattr() |
���������� ���������� ������� � ����������� ������ �� ����� ��� ���������� ��������� ����� | dev_arm() |
������� ������� ���������� �������� �������� ������ | tcdrain() |
������� ���������� �� ������ ����� | tcsendbreak() |
����������� ���������������� ����� | tcdropline() |
������ ������ | dev_insert_chars() |
��������� ������������� ������ ��� ������ (����� O_NONBLOCK) | open() � fcntl() |
�������� ������ ������� ������ � ������������ ��������� ��� ICANON ����������� ��������� termios. ���� ���� ����������� ��� ����������, �� ������������� ��������� ��������� ������� ��������� �������������� ����������� ��������. ����� �������, ������ ����� �������� ��� ��������� ���������� ��������� ������ ��� ����� ������, ��� ������ ������������ ������������ ���� ������� "������� �������" (CR). ���� ����� ������ ���������� ������� �������������� �����, ������������ ���, ������, "cooked".
����������� ��������������� ���������� �������� � ������ �������������� �����. ������������� Shell �������� �������� ��������.
� ��������� ������� ������������ ��������� ����������� ����������� �������, ������� ����� ���� ������ � ����������� ��������� termios ��� ����, ����� ������� �������������� Dev, ����� ������� ��������� ��������������.
Dev ����� ��������� | ��� ��������� |
����������� ������� �� ���� ������ ����� | LEFT |
����������� ������� �� ���� ������ ������ | RIGHT |
����������� ������� � ������ ������ | HOME |
����������� ������� � ����� ������ | END |
�������� ������� ����� �� ������� | ERASE |
�������� ������� � ������� ������� ������� | DEL |
�������� ���� �������� ������ | KILL |
�������� ������� ������ � ������� � ���������� ������ | UP |
�������� ������� ������ � ������� � ��������� ������ | DOWN |
������������ ����� �������� ������� � ��������� (������ ����� ������ �������� ��������� � ������ ���������) |
INS |
stty term=vt100 </dev/ser1
� ��������, ���� �� ���������� � ����������������� ����� �����, ������� � ���� ������� �������� � ������ �����������, ����������� �������� QNX, � ������� ����������� ������� qtalk, �� ��������� ������ �������������� ������ ������� ��������� ��������� �������
stty term=qnx </dev/ser1
���� ��� ICANON �� ����������, �� �������, ��� ���������� ��������� � ������ ���������������� ����� (raw). � ���� ������ ������� �������������� �� �����������, � ��� ����������� ������ ���������� ���������� ���������� �������� QNX.
��������� ���������� QNX, ����������� � ������������ � ���� ������, �������� ������������� � ���������������� ���������������� ���������.
��� ���������� ������ �� ���������� � ������ ���������������� ����� ���������� ����� ������ ������� ��������� �������� �������. �������� ������� � �������� ��������������� ������ ������������ ����� ���������� ����������� ��������� termios: MIN � TIME.
���������� ����� �������� ����� ������� � �������� ������ ��� ������ ������� �� ������ ����������� ������� dev_read(). ���������, ���������� ���������� TIMEOUT, ������ ������������ � ���������� ������, ���� � ����������� ��������� �������. �������� �������� �� ��, ��� ��� ������� read() �������� TIMEOUT ������ ����� 0.
��� ������ ��������� QNX ������� �� ������ n ������ ��� ��� ��������� ����������, ����� ������ ������ ������ ���� ��������, ��� ��������� � ��������� �������.
MIN | TIME | TIMEOUT | �������� |
0 | 0 | 0 | ���������� ���������� ����������, ������ ������� ������, ������� �������� � ������ ������ (�� n ������) |
� | 0 | 0 | ���������� ����������, ������ �� n ������, ������ � ��� ������, ���� �������� �� ������� ���� M ������ |
0 | T | 0 | ���������� ����������, ������ �� n ������, ���� �������� ���� �� ���� ����, ���� ���� ������� T*0.1 ������ |
M | T | 0 | ���������� ����������, ������ �� n ������, � ��� ������, ���� ���� �������� �� ����� M ������, ���� ���� ������ ���� �� ���� ���� � �������� ������� ����� ��������������� ���������� ����� ������ ��������� �������� T*0.1 ������ |
0 | 0 | t | ��������������� |
M | 0 | t | ���������� ����������, ������ �� n ������ �� ��������� t*0.1 ������, ���� � ������ ����������� �� ����� M ������ |
0 | T | t | ��������������� |
M | T | t | ���������� ����������, ������ �� n ������ � ������ ����������� �� ����� M ������, ���� �� ��������� t*0.1 ������ ����� ��������� ���������� �������, ���� ��� ��������� ���� �� ������ ����� � ���������� ��������� ������� ����� ����� ����������������� ������������ �������� T*0.1 ������ |
�� ���. 25 ������������ �������� ���������� ��������� QNX.
![]() |
���. 25 |
������������� ��������� (Dev) ��������� �������� ������ ����� ����������� ���������� QNX. ���������� ����������� ��������� ������������������ ��������. ������, �������� ������������ ������������� Dev � ��������, �������� ����� ������ �������� � ��������� ������������ ������, ������� ���������� ��� ������� ������������� ����������.
������ ���������� ����� ��� �������. ������ �� �������� ������������ �� �������� "������ ������ - ������ ��������". � ������ �������� ������� ����������� ���������.
�������� ������ ���������� ��������� �� ������� ������� � ���������� ��������������� Dev ������ �����, ����� ���������� ������� �������� ������. ����������� ����������, �������� � ������ ���������, ������ ���������� � ������������ ������������ �������������� Dev ��� ���������� ������ � �������: ��� ������������ ���������������� ������� ���������� � ����������� ��������� ���������� ����������� �� ������� �������.
Dev �������� �������� ������ � �������� �������, ����� ������� ������������ ���������� �������� ������ ����������. ������ ��� ��� ���������� ������ Dev �������� ������������, �������� � ������ ��������, � ������������ ������� � ��� ������, ���� �� �� ��� ��� �������. ��������� ������������� �������� ��������, Dev ������������ ������ ������ ��� ���� ������������ ���������. ������� ����������� ��� ������ ������ � ������ ������������ �������� �������.
������������ ������� ��������� ����������� ��������������� Dev � ������������ ��� ��������� ������� ������ � ������ �������������� �����. ������ ���� ������� ������������ ������������ �������� ������� ������������� ������ ��� ������� ����������� ����������.
������ ���� ���� �������� ��������������� ��������� ���������������; ��� ���� ������������ ������������ �������� ��, ��� ��������� ������ ���� ���� �������� �� ����� ��������� 64 ������. ��������, ������������ �� ���������, ������ ������ ��������� ��� �������� ���������, �� �� ����� ��������� ��� ����, ����� ��������� ������ ���������� ��������� ������ ��� ����� ����������� �������� � ��������� �������.
�������� ��������� ���� ���������� �������� ������ �� ������� �������, ���� �������� ������ �� �������� �������. ������������� Dev ����������, � ����� ������ ��������� ��������� ��������, ��������� �� ����������� �������� ������ �� ������� � �.�.
��� ����������� ������� ������� ������������ ������������� Dev ������ ����������� � ���������� ������� �����������. ������ �������������� Dev �� ���������� ������ ��������� ���������, ������� �� ������������� ������ �� ����� ������������������ �������.
��������, ������� ����� ������ ��������� QNX, ����� ����������� � ���������� ������������ � ����������� �� ������������ ������������� ��� ����������� �������.
���������� ������������ �� ������ ������ ����������� ����������� ������ ���������������� �������� �� ����� ioctl. ����� ����� ioctl-������ �������������� ������������ ���������, ������������ ��������������� ��������������� Dev. ����� ����, �������� QNX ����� ����� Dev �������� ��������� ioctl-�������, ��������������� �� ���������� (����������� ������� �� qnx_ioctl()).
���������� ��������� ��������� ������� Dev.con. ������� - ��� ������������ �������������, �������� � ��������� ����������.
� ������� QNX ������� ����������� ����������� ������������ ������ ����������� ����������� ��������. ������� ������� Dev.con ������ ��������� ��������� ���������� ������� �������� �����/������ � �������������� Dev, ��� ��������� ��������� ������������ ����� ����� ������������ ��������� � ������� /dev/con1, /dev/con2 � �.�. � ����� ������ ���������� ������������ ������������ ��������� ��������.
�������, � ����������������, ������� ������ ���� ���������� ������� � ����������, ������� � ������ ������ ������� ������������� ������ ���� �� ����������� ��������. ���������� "������������" � ��� ����������� �������, ������� � ���� ������ ������.
������ ����������� ������������ ������� QNX (��. ����������� ������������) ������� ������� �������� �� �������������� ��� ������� ���������, ������� ��������� ���������� ��������� ����������������� � ��������� ������� �������� ����������� ���������. ����� ��������������� �������� �� console_open(). ����� ������������ ����� ������� QNX ����� ��������� �����������.
6.5.1. ���������� ������������
6.6. ������� QNX
6.6.1. ������������� ��� ������� �������
������� ����� | ����������� ������� �� |
��������� ������ ��������������� � ������ ������� | console_read() |
�������� ������ ��������������� �� ����� ������� | console_write() |
���� ���������� ����������� � ����������� ������������ ������� (��������� ������������ ������, ����������� �������, ��������� ������������ ��������, ����� ������� ������� � �.�.) | console_arm() |
��������� �������� ������� | console_size() |
����������� ������� ������� | console_active() |
������� ������� QNX ����������� ��� ������� �������. �������� � ���������� ������ ������������� ������������ ���������� ���������� � ���������� ��������������� �� ������� �������. �������� ������ ��������� � ���������� ������� Dev.con, ���� �� ���������� � �������� ��������.
����������������� ����������������� �������� ��������� ������� Dev.ser. ���� ������� ����� ��������� ����������� ����������� ��������, ������� � ������������� ������������, ������� ����� ����� /dev/ser1, dev/ser2 � �.�.
��� ������� Dev.ser � ��������� ������ ����� ������ ���������, ������� ���������� ���� � ���������� ������������� ���������������� ������. ��� ����, ����� ������, ����� ���������������� ����� ��������, ����������� ������� ls
Dev.ser ������ �������� ������� �����/������, ������������ ������ ������������. ����� ������������� ����������� ����������� ������� ��������� � ����� ��������. ����������� ���������� �������� ������� ������ ��������������� �� ������� �������. ������ ��������� ������ ���������� ����� ����� ����������� ���������� ����� ������� �������� ��������������� Dev. ���������������� ������� ���������� ��� ����������� ��������������� ����������.
������������� ������� �������� ��������� ������� Dev.par. ��� ������� Dev.par � ��������� ������ �������� ��������, ������������, ����� ������������ ���� ����������. ��� ����, ����� ������, �������� �� ������������ ����, ����������� ������� ls
Dev.par - ��� ������� ������, ������� � ���� ��� ������� ��� ������������ ������� ��������. ��� ������� Dev.par ������ ��������� ������ �������� � ������� ���������� ��������� ������. ����� ������� �������� ����� ����� �������� �������, ��������, � ������ �������� ������������ ������ ������.
Dev.par �������� �������� ������������ ��������� ��� ���������� ������� �����/������. ������ ���� ������� ��������� � RECEIVE-������������� ���������, ������ ��������� ������ � ����� �������� �������, � ����������� ��������������� Dev. ����� ������ ���������� ���������� ��� ������, Dev.par �������� ����������� � ����� ��������� �������� (� ������������ ������ ���������� �����������), ������ ������ ������ ���������. ����� ����������������� ���� ��������� �������� �� ������ �� ����� ������������������ �������, � � ������� ������������ ����������� ��������� ���������� ����������� ��� ���������� � ������������ �����������.
���������� ������� ������� � ���������� ������������ ��������� ������������ ����� �������, ��� �������������� ��������� ������� � ��������������� ���������� ����������� ��� ���������, ����������� � ��������������� (raw) ������. ��� ����������� ��������� �������:
����� �������, � ������ ������� ������ �����/������ ������� QNX ����� ��������� ���� �������� ���������� ������� ������� � ���������� ������������ ���������, � ����� �������� ������� ����� ����� ������� �������� ���������� � ������������.
6.7. ���������� � ���������������� �����������
ls /dev/ser*
6.8. ���������� � ������������ �����������
ls /dev/par*
6.9. ������������������ ���������� ������������ ���������
����� | ���������� | ������ |
������� | ������ ������� |