forked from apache/nuttx
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Kconfig
2614 lines (2121 loc) · 61.6 KB
/
Kconfig
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#
mainmenu "NuttX/$ARCH Configuration"
config APPSDIR
string
option env="APPSDIR"
config APPSBINDIR
string
option env="APPSBINDIR"
---help---
Output path of Kconfig which dynamically generated by NuttX Apps
This option is consistent with the APPSDIR by default, and will
be changed when out-of-tree compilation is supported
config BINDIR
string
option env="BINDIR"
---help---
Output path of Kconfig which dynamically generated by NuttX Kernel
This option is consistent with the TOPDIR by default, and will
be changed when out-of-tree compilation is supported
menu "License Setup"
config ALLOW_BSD_COMPONENTS
bool "Use components that have BSD licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have BSD licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
NOTE: If this option is not set the following components
are not included in the setup menu:
Crypto
AES cypher support
FS
NFS client file system
SPIFFS File System
Wireless
Bluetooth LE support
config ALLOW_GPL_COMPONENTS
bool "Use components that have GPL/LGPL licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have GPL/LGPL licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_MIT_COMPONENTS
bool "Use components that have MIT licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have MIT licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_BSDNORDIC_COMPONENTS
bool "Use components that have 5-Clause Nordic licenses"
depends on ARCH_CHIP_NRF52 || ARCH_CHIP_NRF53 || ARCH_CHIP_NRF91
default n
---help---
When this option is enabled the project will allow the use
of components that have 5-Clause Nordic licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_ECLIPSE_COMPONENTS
bool "Use components that have Eclipse Public Licenses"
default n
---help---
When this option is enabled the project will allow the use
of components that have EPL licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
config ALLOW_ICS_COMPONENTS
bool "Use components that have ICS license"
default n
---help---
When this option is enabled the project will allow the use
of components that have ICS licenses.
NOTE: Please check that the license for each enabled
component matches your project license.
endmenu # License Setup
menu "Build Setup"
config EXPERIMENTAL
bool "Show experimental options"
---help---
Some features and drivers are considered "experimental" or
development/work-in-progress status. By default, these options are
hidden in the Kconfig menus. Enabling "Show experimental options"
makes these options visible and makes it possible to enable them.
config DEFAULT_SMALL
bool "Default to smallest size"
default n
---help---
When options are present, the default value for certain options will
be the one the results in the smallest size (at a loss of features).
The default is a fuller feature set at a larger size.
NOTE: This option does not prevent you from overriding the default
to select another alternative. Nor does it affect the settings that
have already been selected in your configuration file. This applies
only to new settings that require a default value.
choice
prompt "Build Host Platform"
default HOST_LINUX
config HOST_LINUX
bool "Linux"
config HOST_MACOS
bool "macOS"
config HOST_WINDOWS
bool "Windows"
config HOST_OTHER
bool "Other"
endchoice # Build Host Platform
config TOOLCHAIN_WINDOWS
bool
default n
depends on HOST_WINDOWS
---help---
Selected internally if the selected Windows environment is compatible
with the use of Windows native toolchains.
config CYGWIN_WINTOOL
bool
default n
depends on WINDOWS_CYGWIN
---help---
Selected internally if Cygwin environment with the use of Windows
native toolchains.
choice
prompt "Windows Build Environment"
default WINDOWS_CYGWIN
depends on HOST_WINDOWS
config WINDOWS_NATIVE
bool "Windows Native"
select TOOLCHAIN_WINDOWS
depends on EXPERIMENTAL
---help---
Build natively in a CMD.exe environment with Windows style paths
(like C:\cygwin\home)
The Windows native build is complete and available, but not often
used or verified. As a consequence, it cannot be assured to be
fully functional at any given time. Hence, it is marked here as
EXPERIMENTAL so that the end user will be aware of this state.
config WINDOWS_CYGWIN
bool "Cygwin"
select TOOLCHAIN_WINDOWS
---help---
Build natively in a Cygwin environment with POSIX style paths (like
/cygdrive/c/Program Files)
config WINDOWS_MSYS
bool "MSYS or MSYS2"
select TOOLCHAIN_WINDOWS
---help---
Build natively in a Cygwin environment with POSIX style paths (like
/cygdrive/c/cygwin/home)
config WINDOWS_OTHER
bool "Windows POSIX-like environment"
select TOOLCHAIN_WINDOWS
---help---
Build natively in another POSIX-like environment. Additional
support may be necessary
endchoice # Windows Build Environment
config WINDOWS_MKLINK
bool "Use mklink"
default n
depends on WINDOWS_NATIVE
---help---
Use the mklink command to set up symbolic links when NuttX is
configured. Otherwise, configuration directories will be copied to
establish the configuration.
If directories are copied, then some confusion can result ("Which
version of the file did I modify?"). In that case, it is recommended
that you re-build using 'make clean_context all'. That will cause the
configured directories to be recopied on each build.
NOTE: This option also (1) that you have administrator privileges, (2)
that you are using Windows 2000 or better, and (3) that you are using
the NTFS file system. Select 'n' is that is not the case.
menu "Build Configuration"
config APPS_DIR
string "Application directory"
default "../apps" if !WINDOWS_NATIVE
default "..\apps" if WINDOWS_NATIVE
---help---
Identifies the directory that builds the
application to link with NuttX. Default: ../apps This symbol must
be assigned to the path to the application build directory
*relative* to the NuttX top build directory. If you had an
application directory and the NuttX directory each in separate
directory trees like this:
build
|-nuttx
| |
| `- Makefile
`-application
|
`- Makefile
Then you would set APPS_DIR=../application.
The application direction must contain Makefile and this make
file must support the following targets:
1)libapps$(LIBEXT) (usually libapps.a). libapps.a is a static
library ( an archive) that contains all of application object
files.
2)clean. Do whatever is appropriate to clean the application
directories for a fresh build.
3)distclean. Clean everything -- auto-generated files, symbolic
links etc. -- so that the directory contents are the same as
the contents in your configuration management system.
This is only done when you change the NuttX configuration.
4)depend. Make or update the application build dependencies.
When this application is invoked it will receive the setting TOPDIR like:
$(MAKE) -C $(CONFIG_APPS_DIR) TOPDIR="$(TOPDIR)" <target>
TOPDIR is the full path to the NuttX directory. It can be used, for
example, to include makefile fragments (e.g., .config or Make.defs)
or to set up include file paths.
config BASE_DEFCONFIG
string "Base Configuration"
default ""
---help---
This will be automatically be updated by the configuration
script. This is the base configuration file that was used to create the
current configuration. It is useful for getting the current configuration
on runtime.
config BUILD_LOADABLE
bool
option modules
---help---
Automatically selected if KERNEL build is selected.
This selection only effects the behavior of the 'make export'
target and currently has no effect unless you wish to build
loadable applications in a FLAT build.
choice
prompt "Memory organization"
default BUILD_FLAT
config BUILD_FLAT
bool "Flat address space"
---help---
Build NuttX as one large, executable "blob". All of the code
within the blob can interrupt with all of the other code within
the blob. There are no special privileges, protections, or
restraints.
config BUILD_PROTECTED
bool "NuttX protected build"
depends on ARCH_USE_MPU
select LIB_SYSCALL
select BUILD_2PASS
---help---
Builds NuttX and selected applications as two "blobs": A protected,
privileged kernel blob and a separate unprivileged, user blob. This
requires use of the two pass build with each blob being build on
each pass.
NOTE: This build configuration requires that the platform support
a memory protection unit (MPU). Support, however, may not be
implemented on all platforms.
config BUILD_KERNEL
bool "NuttX kernel build"
depends on ARCH_USE_MMU && ARCH_ADDRENV
select BUILD_LOADABLE
select LIB_SYSCALL
---help---
Builds NuttX as a separately compiled kernel. No applications are
built. All user applications must reside in a file system where
they can be loaded into memory for execution.
NOTE: This build configuration requires that the platform support
a memory management unit (MMU) and address environments. Support,
however, may not be implemented on all platforms.
endchoice # Build configuration
config BUILD_2PASS
bool "Two pass build"
default n
---help---
Enables the two pass build options.
Two-pass build options. If the 2 pass build option is selected, then these
options configure the make system build a extra link object. This link object
is assumed to be an incremental (relative) link object, but could be a static
library (archive) (some modification to this Makefile would be required if
PASS1_TARGET generates an archive). Pass 1 1ncremental (relative) link
objects should be put into the processor-specific source directory (where other
link objects will be created). If the pass1 object is an archive, it could
go anywhere.
if BUILD_2PASS
config PASS1_TARGET
string "Pass one target"
default "all"
---help---
The name of the first pass build target. This
can be specific build target, a special build target (all, default, etc.)
or may just be left undefined.
config PASS1_BUILDIR
string "Pass one build directory"
default "build"
---help---
The path, relative to the top NuttX build
directory to directory that contains the Makefile to build the
first pass object. The Makefile must support the following targets:
The special target PASS1_TARGET (if defined)
and the usual depend, clean, and distclean targets.
config PASS1_OBJECT
string "Pass one object"
default ""
---help---
May be used to include an extra, pass1 object
into the final link. This would probably be the object generated
from the PASS1_TARGET. It may be available at link time
in the arch/<architecture>/src directory.
config NUTTX_USERSPACE
hex "Beginning of user-space blob"
default 0x0
depends on BUILD_PROTECTED
---help---
In the kernel build, the NuttX kernel and the user-space blob are
built separately linked objects. NUTTX_USERSPACE provides the
address where the user-space blob is loaded into memory. NuttX will
expect to find and instance of struct userspace_s at this location.
endif # Build 2-pass
endmenu # Build Setup
menu "Binary Output Formats"
config INTELHEX_BINARY
bool "Intel HEX binary format"
default n
---help---
Create the nuttx.hex in the Intel HEX binary format that is
used with many different loaders. This option will use the GNU objcopy
program and should not be selected if you are not using the GNU
toolchain.
config MOTOROLA_SREC
bool "Motorola S-Record binary format"
default n
---help---
Create the nuttx.srec in the Motorola S-Record binary format that is
used with many different loaders. This option will use the GNU objcopy
program and should not be selected if you are not using the GNU
toolchain.
config RAW_BINARY
bool "Raw binary format"
default n
---help---
Create the nuttx.bin in the raw binary format that is used with many
different loaders using the GNU objcopy program. This option
should not be selected if you are not using the GNU toolchain.
config RAW_DISASSEMBLY
bool "Create a disassembly file"
default n
---help---
Create the nuttx.asm in the disassembly format using the objdump program.
menuconfig UBOOT_UIMAGE
bool "U-Boot uImage"
select RAW_BINARY
depends on !WINDOWS_NATIVE
---help---
Create the uImage binary used with U-Boot.
if UBOOT_UIMAGE
config UIMAGE_LOAD_ADDRESS
hex "uImage load address"
default 0x0
config UIMAGE_ENTRY_POINT
hex "uImage entry point"
default 0x0
endif # UBOOT_UIMAGE
menuconfig DFU_BINARY
bool "DFU binary format"
select RAW_BINARY
---help---
Create the dfu binary used with dfu-utils.
if DFU_BINARY
config DFU_BASE
hex "Address DFU image is loaded to"
config DFU_VID
hex "VID to use for DFU image"
config DFU_PID
hex "PID to use for DFU image"
endif # DFU_BINARY
config OUTPUT_STRIP_PATHS
bool "Strip absolute paths from binaries"
default y
depends on ARCH_TOOLCHAIN_GNU
---help---
Cmake build provide absolute paths to compile files. If __FILE__
macros are used in the source code(ASSERT), the binary will contain
many invalid paths.
This saves some memory, stops exposing build systems locations in binaries,
make failure logs more deterministic and most importantly makes builds more
failure logs more deterministic and most importantly makes builds more
deterministic.
Debuggers usually have a path mapping feature to ensure the files are
still found.
endmenu # Binary Output Formats
menu "Customize Header Files"
config ARCH_HAVE_STDINT_H
bool
default n
---help---
Selected by architecture specific logic if the architecture provides
a stdint.h header file.
config ARCH_STDINT_H
bool "stdint.h"
default n
depends on ARCH_HAVE_STDINT_H
---help---
The stdint.h header file can be found at nuttx/include/stdint.h.
However, that header includes logic to redirect the inclusion of an
architecture specific header file like:
#ifdef CONFIG_ARCH_STDINT_H
# include <arch/stdint.h>
#else
...
#endif
Recall that that include path, include/arch, is a symbolic link and
will refer to a version of stdint.h at nuttx/arch/<architecture>/include/stdint.h.
config ARCH_HAVE_STDBOOL_H
bool
default n
---help---
Selected by architecture specific logic if the architecture provides
a stdbool.h header file.
config ARCH_STDBOOL_H
bool "stdbool.h"
default n
depends on ARCH_HAVE_STDBOOL_H
---help---
The stdbool.h header file can be found at nuttx/include/stdbool.h.
However, that header includes logic to redirect the inclusion of an
architecture specific header file like:
#ifdef CONFIG_ARCH_STDBOOL_H
# include <arch/stdbool.h>
#else
...
#endif
Recall that that include path, include/arch, is a symbolic link and
will refer to a version of stdbool.h at nuttx/arch/<architecture>/include/stdbool.h.
config ARCH_HAVE_MATH_H
bool
default n
---help---
Selected by architecture specific logic if the architecture provides
a math.h header file.
config ARCH_MATH_H
bool "math.h"
depends on ARCH_HAVE_MATH_H
default n
---help---
There is also a re-directing version of math.h in the source tree.
However, it resides out-of-the-way at include/nuttx/lib/math.h because it
conflicts too often with the system math.h. If ARCH_MATH_H=y is
defined, however, the top-level makefile will copy the redirecting
math.h header file from include/nuttx/lib/math.h to include/math.h. math.h
will then include the architecture-specific version of math.h that you
must provide at nuttx/arch/>architecture</include/math.h.
#ifdef CONFIG_ARCH_MATH_H
# include <arch/math.h>
#endif
So for the architectures that define ARCH_MATH_H=y, include/math.h
will be the redirecting math.h header file; for the architectures
that don't select ARCH_MATH_H, the redirecting math.h header file
will stay out-of-the-way in include/nuttx/.
config ARCH_FLOAT_H
bool "float.h"
default n
---help---
The float.h header file defines the properties of your floating
point implementation. It would always be best to use your
toolchain's float.h header file but if none is available, a default
float.h header file will provided if this option is selected. However
there is no assurance that the settings in this float.h are actually
correct for your platform!
config ARCH_HAVE_STDARG_H
bool
default n
---help---
Selected by architecture specific logic if the architecture provides
a math.h header file.
config ARCH_STDARG_H
bool "stdarg.h"
depends on ARCH_HAVE_STDARG_H
default n
---help---
There is a redirecting version of stdarg.h in the source tree. It
resides out-of-the-way at include/nuttx/lib/stdarg.h. This is
because you should normally use your toolchain's stdarg.h file. But
sometimes, your toolchain's stdarg.h file may have other header
file dependencies and so may not be usable in the NuttX build
environment. In those cases, you may have to create a architecture-
specific stdarg.h header file at nuttx/arch/<architecture>/include/stdarg.h
If ARCH_STDARG_H=y is defined, the top-level makefile will copy the
re-directing stdarg.h header file from include/nuttx/lib/stdarg.h to
include/stdarg.h. So for the architectures that cannot use their
toolchain's stdarg.h file, they can use this alternative by defining
ARCH_STDARG_H=y and providing. If ARCH_STDARG_H, is not defined, then
the stdarg.h header file will stay out-of-the-way in include/nuttx/.
config ARCH_HAVE_SETJMP
bool
default n
config ARCH_SETJMP_H
bool "setjmp.h"
default n
depends on ARCH_HAVE_SETJMP
---help---
There is a redirecting version of setjmp.h in the source tree. It
resides out-of-the-way at include/nuttx/lib/setjmp.h. This is
because you should normally use your toolchain's setjmp.h file. But
sometimes, your toolchain's setjmp.h file may have other header
file dependencies and so may not be usable in the NuttX build
environment. In those cases, you may have to create a architecture-
specific setjmp.h header file at nuttx/arch/<architecture>/include/setjmp.h
If ARCH_SETJMP_H=y is defined, the top-level makefile will copy the
re-directing setjmp.h header file from include/nuttx/lib/setjmp.h to
include/setjmp.h. So for the architectures that cannot use their
toolchain's setjmp.h file, they can use this alternative by defining
ARCH_SETJMP_H=y and providing. If ARCH_SETJMP_H, is not defined, then
the setjmp.h header file will stay out-of-the-way in include/nuttx/.
choice
prompt "debug.h selection"
default ARCH_NONE_DEBUG_H
config ARCH_NONE_DEBUG_H
bool "None"
---help---
No debug.h under include/arch/ and include/arch/chip.
config ARCH_DEBUG_H
bool "debug.h"
---help---
The debug.h under include/arch contains architecture dependent debugging primitives
config ARCH_CHIP_DEBUG_H
bool "chip debug.h"
---help---
The debug.h under include/arch/chip contains architecture dependent debugging primitives
config ARCH_BOARD_DEBUG_H
bool "board debug.h"
---help---
The debug.h under include/arch/board contains board dependent debugging primitives
endchoice # debug.h selection
endmenu # Customize Header Files
menu "Debug Options"
config FORTIFY_SOURCE
int "Fortify Source"
default 0
range 0 3
---help---
Detect overflows of buffers in common string and memory functions
where the compiler can determine and validate the buffer sizes.
0 does not have any checks.
1 will only check for out-of-bounds at compile time.
2 will only perform out-of-bounds checks on stack variables.
3 On the basis of 2, add an out-of-bounds check for dynamically allocated variables.
config NDEBUG
bool "Define NDEBUG globally"
default !DEBUG_ASSERTIONS
config ASSERTIONS_FILENAME
bool "Enable library call assert(3) show the file name"
default DEBUG_ASSERTIONS_FILENAME || !DEFAULT_SMALL
depends on !NDEBUG
---help---
This option can display the file information of the library call assert(3)
function when it is enabled. This option maybe will take up a lot
of space from applications.
config DEBUG_ALERT
bool
default n
config DEBUG_FEATURES
bool "Enable Debug Features"
default n
select DEBUG_ALERT
---help---
Enables built-in debug features. Selecting this option will (1) Enable
debug assertions in the code, (2) enable extended parameter testing in
many functions, and (3) enable support for debug output to the SYSLOG.
Note that enabling this option by itself does not produce debug output.
Debug output must also be selected on a subsystem-by-subsystem basis.
if DEBUG_FEATURES
comment "Debug SYSLOG Output Controls"
config DEBUG_ERROR
bool "Enable Error Output"
default y
---help---
Enables output from [a-z]err() statements. Errors are significant system
exceptions that require immediate attention.
config DEBUG_WARN
bool "Enable Warnings Output"
default y
depends on DEBUG_ERROR
---help---
Enables output from [a-z]warn() statements. Warnings are considered to
be various unexpected conditions, potential errors or errors that will
not have serious consequences.
config DEBUG_INFO
bool "Enable Informational Debug Output"
default y
depends on DEBUG_WARN
---help---
Enables verbose "informational" debug output. If you enable
CONFIG_DEBUG_INFO, then very chatty (and often annoying) output
will be generated.
config DEBUG_ASSERTIONS
bool "Enable Debug Assertions"
default n
---help---
Enables the DEBUGASSERT() macro. When CONFIG_DEBUG_ASSERTIONS is
defined, DEBUGASSERT() will cause the system to halt if the
assertion fails. If CONFIG_DEBUG_ASSERTIONS is not defined
DEBUGASSERT() compiled out of the system. In general, you would
set CONFIG_DEBUG_ASSERTIONS=y during debug, but disable the
assertions on a final, buckled up system.
config DEBUG_ASSERTIONS_EXPRESSION
bool "Enable Debug Assertions show expression"
default n
depends on DEBUG_ASSERTIONS
---help---
This option can display the content information of the ASSERT()
function when it is triggered. This option maybe will take up a lot
of space.
config DEBUG_ASSERTIONS_FILENAME
bool "Enable Debug Assertions show file name"
default !DEFAULT_SMALL
depends on DEBUG_ASSERTIONS
---help---
This option can display the file information of the ASSERT()
function when it is enabled. This option maybe will take up a lot
of space.
comment "Subsystem Debug Options"
config DEBUG_AUDIO
bool "Audio Device Debug Features"
default n
depends on AUDIO
---help---
Enable audio device debug features.
Enable low level debug features for the audio subsystem and for audio
device drivers. (disabled by default). Support for this debug option
is architecture-specific and may not be available for some MCUs.
if DEBUG_AUDIO
config DEBUG_AUDIO_ERROR
bool "Audio Device Error Output"
default n
depends on DEBUG_ERROR
---help---
Enable audio device error output to SYSLOG.
config DEBUG_AUDIO_WARN
bool "Audio Device Warnings Output"
default n
depends on DEBUG_WARN
---help---
Enable audio device warning output to SYSLOG.
config DEBUG_AUDIO_INFO
bool "Audio Device Informational Output"
default n
depends on DEBUG_INFO
---help---
Enable audio device informational output to SYSLOG.
endif # DEBUG_AUDIO
config DEBUG_BINFMT
bool "Binary Loader Debug Features"
default n
depends on !BINFMT_DISABLE || LIBC_MODLIB
---help---
Enable binary loader debug features.
if DEBUG_BINFMT
config DEBUG_BINFMT_ERROR
bool "Binary Loader Error Output"
default n
depends on DEBUG_ERROR
---help---
Enable binary loader error output to SYSLOG.
config DEBUG_BINFMT_WARN
bool "Binary Loader Warnings Output"
default n
depends on DEBUG_WARN
---help---
Enable binary loader warning output to SYSLOG.
config DEBUG_BINFMT_INFO
bool "Binary Loader Informational Output"
default n
depends on DEBUG_INFO
---help---
Enable binary loader informational output to SYSLOG.
endif # DEBUG_BINFMT
config DEBUG_CONTACTLESS
bool "Contactless Debug Features"
default n
depends on DRIVERS_CONTACTLESS
---help---
Enable debug features for contactless (aka RFID) subsystem.
if DEBUG_CONTACTLESS
config DEBUG_CONTACTLESS_ERROR
bool "Contactless Error Output"
default n
depends on DEBUG_ERROR
---help---
Enable contactless (aka RFID) subsystem error output to
SYSLOG.
config DEBUG_CONTACTLESS_WARN
bool "Contactless Warnings Output"
default n
depends on DEBUG_ERROR
---help---
Enable contactless (aka RFID) subsystem warning output to
SYSLOG.
config DEBUG_CONTACTLESS_INFO
bool "Contactless Informational Output"
default n
depends on DEBUG_ERROR
---help---
Enable contactless (aka RFID) subsystem informational output
to SYSLOG.
endif # DEBUG_CONTACTLESS
config DEBUG_CRYPTO
bool "Crypto Debug Features"
default n
depends on CRYPTO
---help---
Enable cryptographic debug features.
if DEBUG_CRYPTO
config DEBUG_CRYPTO_ERROR
bool "Crypto Error Output"
default n
depends on DEBUG_ERROR
---help---
Enable cryptographic error output to SYSLOG.
config DEBUG_CRYPTO_WARN
bool "Crypto Warnings Output"
default n
depends on DEBUG_WARN
---help---
Enable cryptographic warning output to SYSLOG.
config DEBUG_CRYPTO_INFO
bool "Crypto Informational Output"
default n
depends on DEBUG_INFO
---help---
Enable cryptographic informational output to SYSLOG.
endif # DEBUG_CRYPTO
config DEBUG_FS
bool "File System Debug Features"
default n
---help---
Enable file system debug features.
if DEBUG_FS
config DEBUG_FS_ERROR
bool "File System Error Output"
default n
depends on DEBUG_ERROR
---help---
Enable file system error output to SYSLOG.
config DEBUG_FS_WARN
bool "File System Warnings Output"
default n
depends on DEBUG_WARN
---help---
Enable file system warning output to SYSLOG.
config DEBUG_FS_INFO
bool "File System Informational Output"
default n
depends on DEBUG_INFO
---help---
Enable file system informational output to SYSLOG.
endif # DEBUG_FS
config DEBUG_GRAPHICS
bool "Graphics Debug Features"
default n
---help---
Enable NX graphics subsystem debug features.
if DEBUG_GRAPHICS
config DEBUG_GRAPHICS_ERROR
bool "Graphics Error Output"
default n
depends on DEBUG_ERROR
---help---
Enable NX graphics subsystem error output to SYSLOG.
config DEBUG_GRAPHICS_WARN
bool "Graphics Warnings Output"
default n
depends on DEBUG_WARN
---help---
Enable NX graphics subsystem warning output to SYSLOG.
config DEBUG_GRAPHICS_INFO
bool "Graphics Informational Output"
default n
depends on DEBUG_INFO
---help---
Enable NX graphics subsystem informational output to SYSLOG.
endif # DEBUG_GRAPHICS
config DEBUG_LIB
bool "C Library Debug Features"
default n
---help---
Enable C library debug features.
if DEBUG_LIB
config DEBUG_LIB_ERROR
bool "C Library Error Output"
default n
depends on DEBUG_ERROR
---help---
Enable C library error output to SYSLOG.
config DEBUG_LIB_WARN
bool "C Library Warnings Output"
default n
depends on DEBUG_WARN
---help---
Enable C library warning output to SYSLOG.
config DEBUG_LIB_INFO
bool "C Library Informational Output"
default n
depends on DEBUG_INFO
---help---
Enable C library informational output to SYSLOG.
config DEBUG_SYS_QUEUE
bool "Queue Debug option"
default n
---help---
Enable sys queue debug.
endif # DEBUG_LIB
config DEBUG_MM
bool "Memory Manager Debug Features"
default n
---help---
Enable memory management debug features.
if DEBUG_MM
config DEBUG_MM_ERROR
bool "Memory Manager Error Output"
default n
depends on DEBUG_ERROR
---help---
Enable memory management error output to SYSLOG.
config DEBUG_MM_WARN
bool "Memory Manager Warnings Output"
default n
depends on DEBUG_WARN
---help---
Enable memory management warning output to SYSLOG.