![]() |
![]() |
![]() |
![]() |
11 Handling Character I/0
This chapter covers the following topics:
Introduction
When you transfer character data here's what happens (see also System Architecture):
- The init starts the device driver, which invokes the io-char library.
- The application calls io-char.so to get and send data; this shared object manages data flow between the application and the device driver.
- io-char.so interfaces with the driver to collect and send data (see C library routines prefixed with tc).
QNX 6 uses resource managers for handling the interface between the OS and the various types of devices found in a system: QNX 6 managers in Utilities Reference lists the resource managers supplied. You can also write your own custom resource managers (see Building Embedded Systems).
[Author's Comments: @@this section should explain I/O Device drivers--chap 7 in old QNX4 UG, unless it is covered already in the config.sgm chapter: starting device drivers, parallel devices: single port, multiple ports, output buffers; serial devices: hardware adapters, RS232 serial protocol, config serial ports, connecting serial devices, config serial lines for terminals and users; troubleshooting serial device problems]
The Character I/O section of System Architecture contains more information on this topic.
[Author's Comments: (@@All data in and out of the system is transferred either byte by byte as sequential character I/O or in blocks of data for devices such as disk drives. This section tells you how to connect I/O devices that use character I/O. See , @@ where? for a discussion on connecting disk drives. See /usr/help/product/qnx/user_guide/setupfsys.html) and sys arch http://support.qnx.com/support/docs/neutrino_qrp/sys_arch/char.html#id1 to find out more about character I/O.]
Device drivers
[Author's Comments: Answer these user questions: What are device drivers? What do they do? How do I start them? See (QNX) @@ /usr/help/product/qnx/user_guide/chardev.html @@see Driver/@@check char typeio-char communication in existing docs) What are output/input/bi-directional buffers? What are hardware adapters? What is a serial/parallel port driver? What Graphic driver support and customization is available?) ]
Serial I/O
[Author's Comments: (@@What serial devices can I connect? What do I need to know about RS232 or any other serial protocols? How do I configure serial ports? How do I connect serial devices? How do I configure serial lines for terminals and for users?)]
[Author's Comments: (@@Explain how a typical (8250) serial communications manager works, refer to http://support.qnx.com/support/docs/neutrino_qrp/utilities/d/devc-ser8250.html ">devc-ser8250, devc-tser8250]
[Author's Comments: include info on: ]
- devc-ser* and devc-tser* serial communications drivers
- using stty to set up an RS-232 link
- how to set up a login process (originally tinit and /dev/ser*)
- testing serial drivers with devc-ser*?
Parallel I/O
[Author's Comments: What parallel devices can I connect?(@@see sys arch: Parallel devices How do I set up parallel devices using a single port, using multiple ports? See @@ /usr/help/product/qnx/user_guide/about.html)]
Fixing driver problems
[Author's Comments: (@@How do I troubleshoot problems? How can I test serial/parallel drivers? Are there any examples of starting and testing drivers? What do I do if I'm stuck?)]
QNX Software Systems Ltd. http://www.qnx.com Voice: +1 613 591 0931 Fax: +1 613 591 3579 info@qnx.com |
![]() |
![]() |
![]() |
![]() |