source: rtems-docs/c-user/config/device-driver.rst @ 1c8ce33

Last change on this file since 1c8ce33 was 1c8ce33, checked in by Sebastian Huber <sebastian.huber@…>, on 11/16/21 at 07:17:31

c-user: Use rubric for configuration options

Clear the page for each configuration options similar to the directives.

Use a rubric instead of a definition list for the application
configuration options similar to the directive documentation pages. For
direcives and application configuration options use the same rubric
order.

Generalize value constraints to constraints.

This patch does not change hand written content.

  • Property mode set to 100644
File size: 22.0 KB
Line 
1.. SPDX-License-Identifier: CC-BY-SA-4.0
2
3.. Copyright (C) 2020, 2021 embedded brains GmbH (http://www.embedded-brains.de)
4.. Copyright (C) 1988, 2021 On-Line Applications Research Corporation (OAR)
5
6.. This file is part of the RTEMS quality process and was automatically
7.. generated.  If you find something that needs to be fixed or
8.. worded better please post a report or patch to an RTEMS mailing list
9.. or raise a bug report:
10..
11.. https://www.rtems.org/bugs.html
12..
13.. For information on updating and regenerating please refer to the How-To
14.. section in the Software Requirements Engineering chapter of the
15.. RTEMS Software Engineering manual.  The manual is provided as a part of
16.. a release.  For development sources please refer to the online
17.. documentation at:
18..
19.. https://docs.rtems.org
20
21.. Generated from spec:/acfg/if/group-devdrv
22
23Device Driver Configuration
24===========================
25
26This section describes configuration options related to the device drivers.
27Note that network device drivers are not covered by the following options.
28
29.. Generated from spec:/acfg/if/appl-does-not-need-clock-driver
30
31.. raw:: latex
32
33    \clearpage
34
35.. index:: CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
36
37.. _CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER:
38
39CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
40------------------------------------------------
41
42.. rubric:: CONSTANT:
43
44``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``
45
46.. rubric:: OPTION TYPE:
47
48This configuration option is a boolean feature define.
49
50.. rubric:: DEFAULT CONFIGURATION:
51
52If this configuration option is undefined, then a Clock Driver may be
53initialized during system initialization.
54
55.. rubric:: DESCRIPTION:
56
57In case this configuration option is defined, then **no** Clock Driver is
58initialized during system initialization.
59
60.. rubric:: NOTES:
61
62This configuration parameter is intended to prevent the common user error
63of using the Hello World example as the baseline for an application and
64leaving out a clock tick source.
65
66The application shall define exactly one of the following configuration options
67
68* :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
69
70* ``CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER``, or
71
72* :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`,
73
74otherwise a compile time error in the configuration file will occur.
75
76.. Generated from spec:/acfg/if/appl-extra-drivers
77
78.. raw:: latex
79
80    \clearpage
81
82.. index:: CONFIGURE_APPLICATION_EXTRA_DRIVERS
83
84.. _CONFIGURE_APPLICATION_EXTRA_DRIVERS:
85
86CONFIGURE_APPLICATION_EXTRA_DRIVERS
87-----------------------------------
88
89.. rubric:: CONSTANT:
90
91``CONFIGURE_APPLICATION_EXTRA_DRIVERS``
92
93.. rubric:: OPTION TYPE:
94
95This configuration option is an initializer define.
96
97.. rubric:: DEFAULT VALUE:
98
99The default value is the empty list.
100
101.. rubric:: DESCRIPTION:
102
103The value of this configuration option is used to initialize the Device
104Driver Table.
105
106.. rubric:: NOTES:
107
108The value of this configuration option is placed after the entries of other
109device driver configuration options.
110
111See :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS` for an alternative
112placement of application device driver initializers.
113
114.. rubric:: CONSTRAINTS:
115
116The value of the configuration option shall be a list of initializers for
117structures of type :c:type:`rtems_driver_address_table`.
118
119.. Generated from spec:/acfg/if/appl-needs-ata-driver
120
121.. raw:: latex
122
123    \clearpage
124
125.. index:: CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
126
127.. _CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER:
128
129CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER
130--------------------------------------
131
132.. rubric:: CONSTANT:
133
134``CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER``
135
136.. rubric:: OPTION TYPE:
137
138This configuration option is a boolean feature define.
139
140.. rubric:: DEFAULT CONFIGURATION:
141
142If this configuration option is undefined, then the described feature is not
143enabled.
144
145.. rubric:: DESCRIPTION:
146
147In case this configuration option is defined, then the ATA Driver is
148initialized during system initialization.
149
150.. rubric:: NOTES:
151
152Most BSPs do not include support for an ATA Driver.
153
154If this option is defined and the BSP does not have this device driver, then
155the user will get a link time error for an undefined symbol.
156
157.. Generated from spec:/acfg/if/appl-needs-clock-driver
158
159.. raw:: latex
160
161    \clearpage
162
163.. index:: CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
164
165.. _CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER:
166
167CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
168----------------------------------------
169
170.. rubric:: CONSTANT:
171
172``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``
173
174.. rubric:: OPTION TYPE:
175
176This configuration option is a boolean feature define.
177
178.. rubric:: DEFAULT CONFIGURATION:
179
180If this configuration option is undefined, then the described feature is not
181enabled.
182
183.. rubric:: DESCRIPTION:
184
185In case this configuration option is defined, then the Clock Driver is
186initialized during system initialization.
187
188.. rubric:: NOTES:
189
190The Clock Driver is responsible for providing a regular interrupt
191which invokes a clock tick directive.
192
193The application shall define exactly one of the following configuration options
194
195* ``CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER``,
196
197* :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
198
199* :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`,
200
201otherwise a compile time error in the configuration file will occur.
202
203.. Generated from spec:/acfg/if/appl-needs-console-driver
204
205.. raw:: latex
206
207    \clearpage
208
209.. index:: CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
210
211.. _CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER:
212
213CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
214------------------------------------------
215
216.. rubric:: CONSTANT:
217
218``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``
219
220.. rubric:: OPTION TYPE:
221
222This configuration option is a boolean feature define.
223
224.. rubric:: DEFAULT CONFIGURATION:
225
226If this configuration option is undefined, then the described feature is not
227enabled.
228
229.. rubric:: DESCRIPTION:
230
231In case this configuration option is defined, then the Console Driver is
232initialized during system initialization.
233
234.. rubric:: NOTES:
235
236The Console Driver is responsible for providing the :file:`/dev/console`
237device file.  This device is used to initialize the standard input, output,
238and error file descriptors.
239
240BSPs should be constructed in a manner that allows :c:func:`printk` to work
241properly without the need for the Console Driver to be configured.
242
243The
244
245* ``CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER``,
246
247* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
248
249* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
250
251configuration options are mutually exclusive.
252
253.. Generated from spec:/acfg/if/appl-needs-framebuffer-driver
254
255.. raw:: latex
256
257    \clearpage
258
259.. index:: CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
260
261.. _CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER:
262
263CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER
264-----------------------------------------------
265
266.. rubric:: CONSTANT:
267
268``CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER``
269
270.. rubric:: OPTION TYPE:
271
272This configuration option is a boolean feature define.
273
274.. rubric:: DEFAULT CONFIGURATION:
275
276If this configuration option is undefined, then the described feature is not
277enabled.
278
279.. rubric:: DESCRIPTION:
280
281In case this configuration option is defined, then the Frame Buffer Driver is
282initialized during system initialization.
283
284.. rubric:: NOTES:
285
286Most BSPs do not include support for a Frame Buffer Driver. This is
287because many boards do not include the required hardware.
288
289If this option is defined and the BSP does not have this device driver, then
290the user will get a link time error for an undefined symbol.
291
292.. Generated from spec:/acfg/if/appl-needs-ide-driver
293
294.. raw:: latex
295
296    \clearpage
297
298.. index:: CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
299
300.. _CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER:
301
302CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER
303--------------------------------------
304
305.. rubric:: CONSTANT:
306
307``CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER``
308
309.. rubric:: OPTION TYPE:
310
311This configuration option is a boolean feature define.
312
313.. rubric:: DEFAULT CONFIGURATION:
314
315If this configuration option is undefined, then the described feature is not
316enabled.
317
318.. rubric:: DESCRIPTION:
319
320In case this configuration option is defined, then the IDE Driver is
321initialized during system initialization.
322
323.. rubric:: NOTES:
324
325Most BSPs do not include support for an IDE Driver.
326
327If this option is defined and the BSP does not have this device driver, then
328the user will get a link time error for an undefined symbol.
329
330.. Generated from spec:/acfg/if/appl-needs-null-driver
331
332.. raw:: latex
333
334    \clearpage
335
336.. index:: CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
337.. index:: /dev/null
338
339.. _CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER:
340
341CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER
342---------------------------------------
343
344.. rubric:: CONSTANT:
345
346``CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER``
347
348.. rubric:: OPTION TYPE:
349
350This configuration option is a boolean feature define.
351
352.. rubric:: DEFAULT CONFIGURATION:
353
354If this configuration option is undefined, then the described feature is not
355enabled.
356
357.. rubric:: DESCRIPTION:
358
359In case this configuration option is defined, then the :file:`/dev/null`
360Driver is initialized during system initialization.
361
362.. rubric:: NOTES:
363
364This device driver is supported by all BSPs.
365
366.. Generated from spec:/acfg/if/appl-needs-rtc-driver
367
368.. raw:: latex
369
370    \clearpage
371
372.. index:: CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
373
374.. _CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER:
375
376CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER
377--------------------------------------
378
379.. rubric:: CONSTANT:
380
381``CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER``
382
383.. rubric:: OPTION TYPE:
384
385This configuration option is a boolean feature define.
386
387.. rubric:: DEFAULT CONFIGURATION:
388
389If this configuration option is undefined, then the described feature is not
390enabled.
391
392.. rubric:: DESCRIPTION:
393
394In case this configuration option is defined, then the Real-Time Clock Driver
395is initialized during system initialization.
396
397.. rubric:: NOTES:
398
399Most BSPs do not include support for a real-time clock (RTC). This is because
400many boards do not include the required hardware.
401
402If this is defined and the BSP does not have this device driver, then the
403user will get a link time error for an undefined symbol.
404
405.. Generated from spec:/acfg/if/appl-needs-simple-console-driver
406
407.. raw:: latex
408
409    \clearpage
410
411.. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
412
413.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER:
414
415CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
416-------------------------------------------------
417
418.. rubric:: CONSTANT:
419
420``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``
421
422.. rubric:: OPTION TYPE:
423
424This configuration option is a boolean feature define.
425
426.. rubric:: DEFAULT CONFIGURATION:
427
428If this configuration option is undefined, then the described feature is not
429enabled.
430
431.. rubric:: DESCRIPTION:
432
433In case this configuration option is defined, then the Simple Console Driver
434is initialized during system initialization.
435
436.. rubric:: NOTES:
437
438This device driver is responsible for providing the :file:`/dev/console`
439device file.  This device is used to initialize the standard input, output,
440and error file descriptors.
441
442This device driver reads via :c:func:`getchark`.
443
444This device driver writes via :c:func:`rtems_putc`.
445
446The Termios framework is not used.  There is no support to change device
447settings, e.g. baud, stop bits, parity, etc.
448
449The
450
451* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
452
453* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER``, and
454
455* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
456
457configuration options are mutually exclusive.
458
459.. Generated from spec:/acfg/if/appl-needs-simple-task-console-driver
460
461.. raw:: latex
462
463    \clearpage
464
465.. index:: CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
466
467.. _CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER:
468
469CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER
470------------------------------------------------------
471
472.. rubric:: CONSTANT:
473
474``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
475
476.. rubric:: OPTION TYPE:
477
478This configuration option is a boolean feature define.
479
480.. rubric:: DEFAULT CONFIGURATION:
481
482If this configuration option is undefined, then the described feature is not
483enabled.
484
485.. rubric:: DESCRIPTION:
486
487In case this configuration option is defined, then the Simple Task Console
488Driver is initialized during system initialization.
489
490.. rubric:: NOTES:
491
492This device driver is responsible for providing the :file:`/dev/console`
493device file.  This device is used to initialize the standard input, output,
494and error file descriptors.
495
496This device driver reads via :c:func:`getchark`.
497
498This device driver writes into a write buffer.  The count of characters
499written into the write buffer is returned.  It might be less than the
500requested count, in case the write buffer is full.  The write is
501non-blocking and may be called from interrupt context.  A dedicated task
502reads from the write buffer and outputs the characters via
503:c:func:`rtems_putc`.  This task runs with the least important priority.
504The write buffer size is 2047 characters and it is not configurable.
505
506Use ``fsync( STDOUT_FILENO )`` or ``fdatasync( STDOUT_FILENO )`` to drain the
507write buffer.
508
509The Termios framework is not used.  There is no support to change device
510settings, e.g.  baud, stop bits, parity, etc.
511
512The
513
514* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`,
515
516* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`, and
517
518* ``CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER``
519
520configuration options are mutually exclusive.
521
522.. Generated from spec:/acfg/if/appl-needs-stub-driver
523
524.. raw:: latex
525
526    \clearpage
527
528.. index:: CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
529
530.. _CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER:
531
532CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER
533---------------------------------------
534
535.. rubric:: CONSTANT:
536
537``CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER``
538
539.. rubric:: OPTION TYPE:
540
541This configuration option is a boolean feature define.
542
543.. rubric:: DEFAULT CONFIGURATION:
544
545If this configuration option is undefined, then the described feature is not
546enabled.
547
548.. rubric:: DESCRIPTION:
549
550In case this configuration option is defined, then the Stub Driver is
551initialized during system initialization.
552
553.. rubric:: NOTES:
554
555This device driver simply provides entry points that return successful and
556is primarily a test fixture. It is supported by all BSPs.
557
558.. Generated from spec:/acfg/if/appl-needs-timer-driver
559
560.. raw:: latex
561
562    \clearpage
563
564.. index:: CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
565
566.. _CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER:
567
568CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER
569----------------------------------------
570
571.. rubric:: CONSTANT:
572
573``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``
574
575.. rubric:: OPTION TYPE:
576
577This configuration option is a boolean feature define.
578
579.. rubric:: DEFAULT CONFIGURATION:
580
581If this configuration option is undefined, then the described feature is not
582enabled.
583
584.. rubric:: DESCRIPTION:
585
586In case this configuration option is defined, then the Benchmark Timer Driver is
587initialized during system initialization.
588
589.. rubric:: NOTES:
590
591The Benchmark Timer Driver is intended for the benchmark tests of the RTEMS
592Testsuite.  Applications should not use this driver.
593
594The application shall define exactly one of the following configuration options
595
596* :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`,
597
598* :ref:`CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER`, or
599
600* ``CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER``,
601
602otherwise a compile time error will occur.
603
604.. Generated from spec:/acfg/if/appl-needs-watchdog-driver
605
606.. raw:: latex
607
608    \clearpage
609
610.. index:: CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
611
612.. _CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER:
613
614CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER
615-------------------------------------------
616
617.. rubric:: CONSTANT:
618
619``CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER``
620
621.. rubric:: OPTION TYPE:
622
623This configuration option is a boolean feature define.
624
625.. rubric:: DEFAULT CONFIGURATION:
626
627If this configuration option is undefined, then the described feature is not
628enabled.
629
630.. rubric:: DESCRIPTION:
631
632In case this configuration option is defined, then the Watchdog Driver is
633initialized during system initialization.
634
635.. rubric:: NOTES:
636
637Most BSPs do not include support for a watchdog device driver. This is
638because many boards do not include the required hardware.
639
640If this is defined and the BSP does not have this device driver, then the
641user will get a link time error for an undefined symbol.
642
643.. Generated from spec:/acfg/if/appl-needs-zero-driver
644
645.. raw:: latex
646
647    \clearpage
648
649.. index:: CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
650.. index:: /dev/zero
651
652.. _CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER:
653
654CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER
655---------------------------------------
656
657.. rubric:: CONSTANT:
658
659``CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER``
660
661.. rubric:: OPTION TYPE:
662
663This configuration option is a boolean feature define.
664
665.. rubric:: DEFAULT CONFIGURATION:
666
667If this configuration option is undefined, then the described feature is not
668enabled.
669
670.. rubric:: DESCRIPTION:
671
672In case this configuration option is defined, then the :file:`/dev/zero`
673Driver is initialized during system initialization.
674
675.. rubric:: NOTES:
676
677This device driver is supported by all BSPs.
678
679.. Generated from spec:/acfg/if/appl-prerequisite-drivers
680
681.. raw:: latex
682
683    \clearpage
684
685.. index:: CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
686
687.. _CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS:
688
689CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS
690------------------------------------------
691
692.. rubric:: CONSTANT:
693
694``CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS``
695
696.. rubric:: OPTION TYPE:
697
698This configuration option is an initializer define.
699
700.. rubric:: DEFAULT VALUE:
701
702The default value is the empty list.
703
704.. rubric:: DESCRIPTION:
705
706The value of this configuration option is used to initialize the Device
707Driver Table.
708
709.. rubric:: NOTES:
710
711The value of this configuration option is placed after the entries defined by
712:ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS` and before all other device driver
713configuration options.
714
715See :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS` for an alternative placement
716of application device driver initializers.
717
718.. rubric:: CONSTRAINTS:
719
720The value of the configuration option shall be a list of initializers for
721structures of type :c:type:`rtems_driver_address_table`.
722
723.. Generated from spec:/acfg/if/ata-driver-task-priority
724
725.. raw:: latex
726
727    \clearpage
728
729.. index:: CONFIGURE_ATA_DRIVER_TASK_PRIORITY
730
731.. _CONFIGURE_ATA_DRIVER_TASK_PRIORITY:
732
733CONFIGURE_ATA_DRIVER_TASK_PRIORITY
734----------------------------------
735
736.. rubric:: CONSTANT:
737
738``CONFIGURE_ATA_DRIVER_TASK_PRIORITY``
739
740.. rubric:: OPTION TYPE:
741
742This configuration option is an integer define.
743
744.. rubric:: DEFAULT VALUE:
745
746The default value is 140.
747
748.. rubric:: DESCRIPTION:
749
750The value of this configuration option defines the ATA task priority.
751
752.. rubric:: NOTES:
753
754This configuration option is only evaluated if the configuration option
755:ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER` is defined.
756
757.. rubric:: CONSTRAINTS:
758
759The value of the configuration option shall be a valid Classic API task
760priority.  The set of valid task priorities depends on the scheduler
761configuration.
762
763.. Generated from spec:/acfg/if/exception-to-signal-mapping
764
765.. raw:: latex
766
767    \clearpage
768
769.. index:: CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
770
771.. _CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING:
772
773CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING
774-------------------------------------
775
776.. rubric:: CONSTANT:
777
778``CONFIGURE_EXCEPTION_TO_SIGNAL_MAPPING``
779
780.. rubric:: OPTION TYPE:
781
782This configuration option is a boolean feature define.
783
784.. rubric:: DEFAULT CONFIGURATION:
785
786If this configuration option is undefined, then the described feature is not
787enabled.
788
789.. rubric:: DESCRIPTION:
790
791In case this configuration option is defined, then the machine exception to
792POSIX signal mapping is configured during system initialization.
793
794.. rubric:: NOTES:
795
796This device driver is responsible for setting up a mapping from machine
797exceptions to POSIX signals so that applications may consume them and alter
798task execution as necessary.
799
800This is especially useful for applications written in Ada or C++.
801
802.. Generated from spec:/acfg/if/max-drivers
803
804.. raw:: latex
805
806    \clearpage
807
808.. index:: CONFIGURE_MAXIMUM_DRIVERS
809
810.. _CONFIGURE_MAXIMUM_DRIVERS:
811
812CONFIGURE_MAXIMUM_DRIVERS
813-------------------------
814
815.. rubric:: CONSTANT:
816
817``CONFIGURE_MAXIMUM_DRIVERS``
818
819.. rubric:: OPTION TYPE:
820
821This configuration option is an integer define.
822
823.. rubric:: DEFAULT VALUE:
824
825This is computed by default, and is set to the number of statically
826configured device drivers configured using the following configuration
827options:
828
829* :ref:`CONFIGURE_APPLICATION_EXTRA_DRIVERS`
830
831* :ref:`CONFIGURE_APPLICATION_NEEDS_ATA_DRIVER`
832
833* :ref:`CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER`
834
835* :ref:`CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER`
836
837* :ref:`CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER`
838
839* :ref:`CONFIGURE_APPLICATION_NEEDS_IDE_DRIVER`
840
841* :ref:`CONFIGURE_APPLICATION_NEEDS_LIBBLOCK`
842
843* :ref:`CONFIGURE_APPLICATION_NEEDS_NULL_DRIVER`
844
845* :ref:`CONFIGURE_APPLICATION_NEEDS_RTC_DRIVER`
846
847* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER`
848
849* :ref:`CONFIGURE_APPLICATION_NEEDS_SIMPLE_TASK_CONSOLE_DRIVER`
850
851* :ref:`CONFIGURE_APPLICATION_NEEDS_STUB_DRIVER`
852
853* :ref:`CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER`
854
855* :ref:`CONFIGURE_APPLICATION_NEEDS_WATCHDOG_DRIVER`
856
857* :ref:`CONFIGURE_APPLICATION_NEEDS_ZERO_DRIVER`
858
859* :ref:`CONFIGURE_APPLICATION_PREREQUISITE_DRIVERS`
860
861* :ref:`CONFIGURE_BSP_PREREQUISITE_DRIVERS`
862
863.. rubric:: DESCRIPTION:
864
865The value of this configuration option defines the number of device drivers.
866
867.. rubric:: NOTES:
868
869If the application will dynamically install device drivers, then the
870configuration option value shall be larger than the number of statically
871configured device drivers.
872
873.. rubric:: CONSTRAINTS:
874
875The following constraints apply to this configuration option:
876
877* The value of the configuration option shall be less than or equal to
878  `SIZE_MAX <https://en.cppreference.com/w/c/types/limits>`_.
879
880* The value of the configuration option shall be greater than or equal than the
881  number of statically configured device drivers.
882
883* The value of the configuration option shall be less than or equal to a
884  BSP-specific and application-specific value which depends on the size of the
885  memory available to the application.
Note: See TracBrowser for help on using the repository browser.