[RTEMS Project] #3320: Add a simple task console driver
RTEMS trac
trac at rtems.org
Tue Mar 6 07:07:36 UTC 2018
#3320: Add a simple task console driver
------------------------------+--------------------
Reporter: Sebastian Huber | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Milestone: 5.1
Component: dev/serial | Version: 5
Severity: normal | Keywords:
Blocked By: | Blocking:
------------------------------+--------------------
The default console driver for tests is the simple console driver. It uses
a polled output via rtems_putc() done directly in the context of the
executing thread. This is a problem for timing sensitive tests. Add a
simple task console driver.
{{{
.. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER:
CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
------------------------------------------------------
CONSTANT:
``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
DATA TYPE:
Boolean feature macro.
RANGE:
Defined or undefined.
DEFAULT VALUE:
This is not defined by default.
DESCRIPTION:
``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`` is defined
if
the application wishes to include the Simple Task Console Device
Driver.
NOTES:
This device driver is responsible for providing the
:file:`/dev/console`
device file. This device is used to initialize the standard input,
output,
and error file descriptors.
This device driver reads via ``getchark()``.
This device driver writes into a write buffer. The count of
characters
written into the write buffer is returned. It might be less than the
requested count, in case the write buffer is full. The write is
non-blocking and may be called from interrupt context. A dedicated
task
reads from the write buffer and outputs the characters via
``rtems_putc()``. This task runs with the least important priority.
The
write buffer size is 2047 characters and it is not configurable.
Use ``fsync(STDOUT_FILENO)`` or ``fdatasync(STDOUT_FILENO)`` to drain
the
write buffer.
The Termios framework is not used. There is no support to change
device
settings, e.g. baud, stop bits, parity, etc.
The
* ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``,
* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and
* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
configuration options are mutually exclusive.
}}}
--
Ticket URL: <http://devel.rtems.org/ticket/3320>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list