summaryrefslogtreecommitdiffstats
path: root/spec/if/acfg/appl-needs-simple-task-console-driver.yml
blob: 83650785f6c29643aef10f6ac9d5ab7b4da0da52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
appl-config-option-type: feature-enable
copyrights:
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
description: |
  In case this configuration option is defined, then the Simple Task Console
  Driver is initialized during system initialization.
enabled-by: true
index-entries: []
interface-type: appl-config-option
links:
- role: appl-config-group-member
  uid: group-devdrv
name: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_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 ${../rtems/io/getchark:/name}.

  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/io/putc:/name}.  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

  * ${appl-needs-console-driver:/name},

  * ${appl-needs-simple-console-driver:/name}, and

  * ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``

  configuration options are mutually exclusive.
text: ''
type: interface