#3320 closed enhancement (fixed)
Add a simple task console driver
Reported by: | Sebastian Huber | Owned by: | Sebastian Huber <sebastian.huber@…> |
---|---|---|---|
Priority: | normal | Milestone: | 5.1 |
Component: | dev/serial | Version: | 5 |
Severity: | normal | Keywords: | |
Cc: | Blocked By: | ||
Blocking: |
Description
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.
Change History (3)
comment:1 Changed on 03/06/18 at 10:46:54 by Sebastian Huber <sebastian.huber@…>
comment:2 Changed on 03/06/18 at 11:32:27 by Sebastian Huber <sebastian.huber@…>
Owner: | set to Sebastian Huber <sebastian.huber@…> |
---|---|
Resolution: | → fixed |
Status: | new → closed |
In 337a186/rtems:
Note: See
TracTickets for help on using
tickets.
In f6c6c8b/rtems-docs: