Kconfig 45 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see the file kconfig-language.txt in the NuttX tools repository.
  4. #
  5. mainmenu "NuttX/$ARCH Configuration"
  6. config APPSDIR
  7. string
  8. option env="APPSDIR"
  9. menu "Build Setup"
  10. config EXPERIMENTAL
  11. bool "Prompt for development and/or incomplete code/drivers"
  12. config DEFAULT_SMALL
  13. bool "Default to smallest size"
  14. default n
  15. ---help---
  16. When options are present, the default value for certain options will
  17. be the one the results in the smallest size (at a loss of features).
  18. The default is a fuller feature set at a larger size.
  19. NOTE: This option does not prevent you from overriding the default
  20. to select another alternative. Nor does it affect the settings that
  21. have already been selected in your configuration file. This applies
  22. only to new settings that require a default value.
  23. choice
  24. prompt "Build Host Platform"
  25. default HOST_LINUX
  26. config HOST_LINUX
  27. bool "Linux"
  28. config HOST_MACOS
  29. bool "macOS"
  30. config HOST_WINDOWS
  31. bool "Windows"
  32. config HOST_OTHER
  33. bool "Other"
  34. endchoice
  35. config TOOLCHAIN_WINDOWS
  36. bool
  37. default n
  38. depends on HOST_WINDOWS
  39. ---help---
  40. Selected internally if the selected Windows environment is compatible
  41. with the use of Windows native toolchains.
  42. config CYGWIN_WINTOOL
  43. bool
  44. default n
  45. depends on WINDOWS_CYGWIN
  46. ---help---
  47. Selected internally if Cygwin environment with the use of Windows
  48. native toolchains.
  49. choice
  50. prompt "Windows Build Environment"
  51. default WINDOWS_CYGWIN
  52. depends on HOST_WINDOWS
  53. config WINDOWS_NATIVE
  54. bool "Windows Native"
  55. select TOOLCHAIN_WINDOWS
  56. depends on EXPERIMENTAL
  57. ---help---
  58. Build natively in a CMD.exe environment with Windows style paths
  59. (like C:\cygwin\home)
  60. The Windows native build is complete and available, but not often
  61. used or verified. As a consequence, it cannot be assured to be
  62. fully functional at any given time. Hence, it is marked here as
  63. EXPERIMENTAL so that the end user will be aware of this state.
  64. config WINDOWS_CYGWIN
  65. bool "Cygwin"
  66. select TOOLCHAIN_WINDOWS
  67. ---help---
  68. Build natively in a Cygwin environment with POSIX style paths (like
  69. /cygdrive/c/Program Files)
  70. config WINDOWS_MSYS
  71. bool "MSYS or MSYS2"
  72. select TOOLCHAIN_WINDOWS
  73. ---help---
  74. Build natively in a Cygwin environment with POSIX style paths (like
  75. /cygdrive/c/cygwin/home)
  76. config WINDOWS_OTHER
  77. bool "Windows POSIX-like environment"
  78. select TOOLCHAIN_WINDOWS
  79. ---help---
  80. Build natively in another POSIX-like environment. Additional
  81. support may be necessary
  82. endchoice
  83. config WINDOWS_MKLINK
  84. bool "Use mklink"
  85. default n
  86. depends on WINDOWS_NATIVE
  87. ---help---
  88. Use the mklink command to set up symbolic links when NuttX is
  89. configured. Otherwise, configuration directories will be copied to
  90. establish the configuration.
  91. If directories are copied, then some confusion can result ("Which
  92. version of the file did I modify?"). In that case, it is recommended
  93. that you re-build using 'make clean_context all'. That will cause the
  94. configured directories to be recopied on each build.
  95. NOTE: This option also (1) that you have administrator privileges, (2)
  96. that you are using Windows 2000 or better, and (3) that you are using
  97. the NTFS file system. Select 'n' is that is not the case.
  98. menu "Build Configuration"
  99. config APPS_DIR
  100. string "Application directory"
  101. default "../apps" if !WINDOWS_NATIVE
  102. default "..\apps" if WINDOWS_NATIVE
  103. ---help---
  104. Identifies the directory that builds the
  105. application to link with NuttX. Default: ../apps This symbol must
  106. be assigned to the path to the application build directory
  107. *relative* to the NuttX top build directory. If you had an
  108. application directory and the NuttX directory each in separate
  109. directory trees like this:
  110. build
  111. |-nuttx
  112. | |
  113. | `- Makefile
  114. `-application
  115. |
  116. `- Makefile
  117. Then you would set APPS_DIR=../application.
  118. The application direction must contain Makefile and this make
  119. file must support the following targets:
  120. 1)libapps$(LIBEXT) (usually libapps.a). libapps.a is a static
  121. library ( an archive) that contains all of application object
  122. files.
  123. 2)clean. Do whatever is appropriate to clean the application
  124. directories for a fresh build.
  125. 3)distclean. Clean everything -- auto-generated files, symbolic
  126. links etc. -- so that the directory contents are the same as
  127. the contents in your configuration management system.
  128. This is only done when you change the NuttX configuration.
  129. 4)depend. Make or update the application build dependencies.
  130. When this application is invoked it will receive the setting TOPDIR like:
  131. $(MAKE) -C $(CONFIG_APPS_DIR) TOPDIR="$(TOPDIR)" <target>
  132. TOPDIR is the full path to the NuttX directory. It can be used, for
  133. example, to include makefile fragments (e.g., .config or Make.defs)
  134. or to set up include file paths.
  135. config BUILD_LOADABLE
  136. bool
  137. option modules
  138. ---help---
  139. Automatically selected if KERNEL build is selected.
  140. This selection only effects the behavior of the 'make export'
  141. target and currently has no effect unless you wish to build
  142. loadable applications in a FLAT build.
  143. choice
  144. prompt "Memory organization"
  145. default BUILD_FLAT
  146. config BUILD_FLAT
  147. bool "Flat address space"
  148. ---help---
  149. Build NuttX as one large, executable "blob". All of the code
  150. within the blob can interrupt with all of the other code within
  151. the blob. There are no special privileges, protections, or
  152. restraints.
  153. config BUILD_PROTECTED
  154. bool "NuttX protected build"
  155. depends on ARCH_USE_MPU
  156. select LIB_SYSCALL
  157. select BUILD_2PASS
  158. ---help---
  159. Builds NuttX and selected applications as two "blobs": A protected,
  160. privileged kernel blob and a separate unprivileged, user blob. This
  161. requires use of the two pass build with each blob being build on
  162. each pass.
  163. NOTE: This build configuration requires that the platform support
  164. a memory protection unit (MPU). Support, however, may not be
  165. implemented on all platforms.
  166. config BUILD_KERNEL
  167. bool "NuttX kernel build"
  168. depends on ARCH_USE_MMU && ARCH_ADDRENV
  169. select BUILD_LOADABLE
  170. select LIB_SYSCALL
  171. ---help---
  172. Builds NuttX as a separately compiled kernel. No applications are
  173. built. All user applications must reside in a file system where
  174. they can be loaded into memory for execution.
  175. NOTE: This build configuration requires that the platform support
  176. a memory management unit (MMU) and address environments. Support,
  177. however, may not be implemented on all platforms.
  178. endchoice # Build configuration
  179. config BUILD_2PASS
  180. bool "Two pass build"
  181. default n
  182. ---help---
  183. Enables the two pass build options.
  184. Two-pass build options. If the 2 pass build option is selected, then these
  185. options configure the make system build a extra link object. This link object
  186. is assumed to be an incremental (relative) link object, but could be a static
  187. library (archive) (some modification to this Makefile would be required if
  188. PASS1_TARGET generates an archive). Pass 1 1ncremental (relative) link
  189. objects should be put into the processor-specific source directory (where other
  190. link objects will be created). If the pass1 object is an archive, it could
  191. go anywhere.
  192. if BUILD_2PASS
  193. config PASS1_TARGET
  194. string "Pass one target"
  195. default "all"
  196. ---help---
  197. The name of the first pass build target. This
  198. can be specific build target, a special build target (all, default, etc.)
  199. or may just be left undefined.
  200. config PASS1_BUILDIR
  201. string "Pass one build directory"
  202. default "build"
  203. ---help---
  204. The path, relative to the top NuttX build
  205. directory to directory that contains the Makefile to build the
  206. first pass object. The Makefile must support the following targets:
  207. The special target PASS1_TARGET (if defined)
  208. and the usual depend, clean, and distclean targets.
  209. config PASS1_OBJECT
  210. string "Pass one object"
  211. default ""
  212. ---help---
  213. May be used to include an extra, pass1 object
  214. into the final link. This would probably be the object generated
  215. from the PASS1_TARGET. It may be available at link time
  216. in the arch/<architecture>/src directory.
  217. config NUTTX_USERSPACE
  218. hex "Beginning of user-space blob"
  219. default 0x0
  220. depends on BUILD_PROTECTED
  221. ---help---
  222. In the kernel build, the NuttX kernel and the user-space blob are
  223. built separately linked objects. NUTTX_USERSPACE provides the
  224. address where the user-space blob is loaded into memory. NuttX will
  225. expect to find and instance of struct userspace_s at this location.
  226. endif # Build 2-pass
  227. endmenu # Build Setup
  228. menu "Binary Output Formats"
  229. config INTELHEX_BINARY
  230. bool "Intel HEX binary format"
  231. default n
  232. ---help---
  233. Create the nuttx.hex in the Intel HEX binary format that is
  234. used with many different loaders. This option will use the GNU objcopy
  235. program and should not be selected if you are not using the GNU
  236. toolchain.
  237. config MOTOROLA_SREC
  238. bool "Motorola S-Record binary format"
  239. default n
  240. ---help---
  241. Create the nuttx.srec in the Motorola S-Record binary format that is
  242. used with many different loaders. This option will use the GNU objcopy
  243. program and should not be selected if you are not using the GNU
  244. toolchain.
  245. config RAW_BINARY
  246. bool "Raw binary format"
  247. default n
  248. ---help---
  249. Create the nuttx.bin in the raw binary format that is used with many
  250. different loaders using the GNU objcopy program. This option
  251. should not be selected if you are not using the GNU toolchain.
  252. menuconfig UBOOT_UIMAGE
  253. bool "U-Boot uImage"
  254. select RAW_BINARY
  255. depends on !WINDOWS_NATIVE
  256. ---help---
  257. Create the uImage binary used with U-Boot.
  258. if UBOOT_UIMAGE
  259. config UIMAGE_LOAD_ADDRESS
  260. hex "uImage load address"
  261. default 0x0
  262. config UIMAGE_ENTRY_POINT
  263. hex "uImage entry point"
  264. default 0x0
  265. endif
  266. menuconfig DFU_BINARY
  267. bool "DFU binary format"
  268. select RAW_BINARY
  269. ---help---
  270. Create the dfu binary used with dfu-utils.
  271. if DFU_BINARY
  272. config DFU_BASE
  273. hex "Address DFU image is loaded to"
  274. config DFU_VID
  275. hex "VID to use for DFU image"
  276. config DFU_PID
  277. hex "PID to use for DFU image"
  278. endif
  279. endmenu # Binary Output Formats
  280. menu "Customize Header Files"
  281. config ARCH_HAVE_STDINT_H
  282. bool
  283. default n
  284. ---help---
  285. Selected by architecture specific logic if the architecture provides
  286. a stdint.h header file.
  287. config ARCH_STDINT_H
  288. bool "stdint.h"
  289. default n
  290. depends on ARCH_HAVE_STDINT_H
  291. ---help---
  292. The stdint.h header file can be found at nuttx/include/stdint.h.
  293. However, that header includes logic to redirect the inclusion of an
  294. architecture specific header file like:
  295. #ifdef CONFIG_ARCH_STDINT_H
  296. # include <arch/stdint.h>
  297. #else
  298. ...
  299. #endif
  300. Recall that that include path, include/arch, is a symbolic link and
  301. will refer to a version of stdint.h at nuttx/arch/<architecture>/include/stdint.h.
  302. config ARCH_HAVE_STDBOOL_H
  303. bool
  304. default n
  305. ---help---
  306. Selected by architecture specific logic if the architecture provides
  307. a stdbool.h header file.
  308. config ARCH_STDBOOL_H
  309. bool "stdbool.h"
  310. default n
  311. depends on ARCH_HAVE_STDBOOL_H
  312. ---help---
  313. The stdbool.h header file can be found at nuttx/include/stdbool.h.
  314. However, that header includes logic to redirect the inclusion of an
  315. architecture specific header file like:
  316. #ifdef CONFIG_ARCH_STDBOOL_H
  317. # include <arch/stdbool.h>
  318. #else
  319. ...
  320. #endif
  321. Recall that that include path, include/arch, is a symbolic link and
  322. will refer to a version of stdbool.h at nuttx/arch/<architecture>/include/stdbool.h.
  323. config ARCH_HAVE_MATH_H
  324. bool
  325. default n
  326. ---help---
  327. Selected by architecture specific logic if the architecture provides
  328. a math.h header file.
  329. config ARCH_MATH_H
  330. bool "math.h"
  331. depends on ARCH_HAVE_MATH_H
  332. default n
  333. ---help---
  334. There is also a re-directing version of math.h in the source tree.
  335. However, it resides out-of-the-way at include/nuttx/lib/math.h because it
  336. conflicts too often with the system math.h. If ARCH_MATH_H=y is
  337. defined, however, the top-level makefile will copy the redirecting
  338. math.h header file from include/nuttx/lib/math.h to include/math.h. math.h
  339. will then include the architecture-specific version of math.h that you
  340. must provide at nuttx/arch/>architecture</include/math.h.
  341. #ifdef CONFIG_ARCH_MATH_H
  342. # include <arch/math.h>
  343. #endif
  344. So for the architectures that define ARCH_MATH_H=y, include/math.h
  345. will be the redirecting math.h header file; for the architectures
  346. that don't select ARCH_MATH_H, the redirecting math.h header file
  347. will stay out-of-the-way in include/nuttx/.
  348. config ARCH_FLOAT_H
  349. bool "float.h"
  350. default n
  351. ---help---
  352. The float.h header file defines the properties of your floating
  353. point implementation. It would always be best to use your
  354. toolchain's float.h header file but if none is available, a default
  355. float.h header file will provided if this option is selected. However
  356. there is no assurance that the settings in this float.h are actually
  357. correct for your platform!
  358. config ARCH_HAVE_STDARG_H
  359. bool
  360. default n
  361. ---help---
  362. Selected by architecture specific logic if the architecture provides
  363. a math.h header file.
  364. config ARCH_STDARG_H
  365. bool "stdarg.h"
  366. depends on ARCH_HAVE_STDARG_H
  367. default n
  368. ---help---
  369. There is a redirecting version of stdarg.h in the source tree. It
  370. resides out-of-the-way at include/nuttx/lib/stdarg.h. This is
  371. because you should normally use your toolchain's stdarg.h file. But
  372. sometimes, your toolchain's stdarg.h file may have other header
  373. file dependencies and so may not be usable in the NuttX build
  374. environment. In those cases, you may have to create a architecture-
  375. specific stdarg.h header file at nuttx/arch/<architecture>/include/stdarg.h
  376. If ARCH_STDARG_H=y is defined, the top-level makefile will copy the
  377. re-directing stdarg.h header file from include/nuttx/lib/stdarg.h to
  378. include/stdarg.h. So for the architectures that cannot use their
  379. toolchain's stdarg.h file, they can use this alternative by defining
  380. ARCH_STDARG_H=y and providing. If ARCH_STDARG_H, is not defined, then
  381. the stdarg.h header file will stay out-of-the-way in include/nuttx/.
  382. config ARCH_HAVE_SETJMP
  383. bool
  384. default n
  385. config ARCH_SETJMP_H
  386. bool "setjmp.h"
  387. default n
  388. depends on ARCH_HAVE_SETJMP
  389. ---help---
  390. There is a redirecting version of setjmp.h in the source tree. It
  391. resides out-of-the-way at include/nuttx/lib/setjmp.h. This is
  392. because you should normally use your toolchain's setjmp.h file. But
  393. sometimes, your toolchain's setjmp.h file may have other header
  394. file dependencies and so may not be usable in the NuttX build
  395. environment. In those cases, you may have to create a architecture-
  396. specific setjmp.h header file at nuttx/arch/<architecture>/include/setjmp.h
  397. If ARCH_SETJMP_H=y is defined, the top-level makefile will copy the
  398. re-directing setjmp.h header file from include/nuttx/lib/setjmp.h to
  399. include/setjmp.h. So for the architectures that cannot use their
  400. toolchain's setjmp.h file, they can use this alternative by defining
  401. ARCH_SETJMP_H=y and providing. If ARCH_SETJMP_H, is not defined, then
  402. the setjmp.h header file will stay out-of-the-way in include/nuttx/.
  403. choice
  404. prompt "debug.h selection"
  405. default ARCH_NONE_DEBUG_H
  406. config ARCH_NONE_DEBUG_H
  407. bool "None"
  408. ---help---
  409. No debug.h under include/arch/ and include/arch/chip.
  410. config ARCH_DEBUG_H
  411. bool "debug.h"
  412. ---help---
  413. The debug.h under include/arch contains architecture dependent debugging primitives
  414. config ARCH_CHIP_DEBUG_H
  415. bool "chip debug.h"
  416. ---help---
  417. The debug.h under include/arch/chip contains architecture dependent debugging primitives
  418. endchoice # debug.h selection
  419. endmenu # Customize Header Files
  420. menu "Debug Options"
  421. config DEBUG_ALERT
  422. bool
  423. default n
  424. config DEBUG_FEATURES
  425. bool "Enable Debug Features"
  426. default n
  427. select DEBUG_ALERT
  428. ---help---
  429. Enables built-in debug features. Selecting this option will (1) Enable
  430. debug assertions in the code, (2) enable extended parameter testing in
  431. many functions, and (3) enable support for debug output to the SYSLOG.
  432. Note that enabling this option by itself does not produce debug output.
  433. Debug output must also be selected on a subsystem-by-subsystem basis.
  434. if DEBUG_FEATURES
  435. comment "Debug SYSLOG Output Controls"
  436. config DEBUG_ERROR
  437. bool "Enable Error Output"
  438. default n
  439. ---help---
  440. Enables output from [a-z]err() statements. Errors are significant system
  441. exceptions that require immediate attention.
  442. config DEBUG_WARN
  443. bool "Enable Warnings Output"
  444. default n
  445. depends on DEBUG_ERROR
  446. ---help---
  447. Enables output from [a-z]warn() statements. Warnings are considered to
  448. be various unexpected conditions, potential errors or errors that will
  449. not have serious consequences.
  450. config DEBUG_INFO
  451. bool "Enable Informational Debug Output"
  452. default n
  453. depends on DEBUG_WARN
  454. ---help---
  455. Enables verbose "informational" debug output. If you enable
  456. CONFIG_DEBUG_INFO, then very chatty (and often annoying) output
  457. will be generated.
  458. config DEBUG_ASSERTIONS
  459. bool "Enable Debug Assertions"
  460. default n
  461. ---help---
  462. Enables the DEBUGASSERT() macro. When CONFIG_DEBUG_ASSERTIONS is
  463. defined, DEBUGASSERT() will cause the system to halt if the
  464. assertion fails. If CONFIG_DEBUG_ASSERTIONS is not defined
  465. DEBUGASSERT() compiled out of the system. In general, you would
  466. set CONFIG_DEBUG_ASSERTIONS=y during debug, but disable the
  467. assertions on a final, buckled up system.
  468. comment "Subsystem Debug Options"
  469. config DEBUG_AUDIO
  470. bool "Audio Device Debug Features"
  471. default n
  472. depends on AUDIO
  473. ---help---
  474. Enable audio device debug features.
  475. Enable low level debug features for the audio subsystem and for audio
  476. device drivers. (disabled by default). Support for this debug option
  477. is architecture-specific and may not be available for some MCUs.
  478. if DEBUG_AUDIO
  479. config DEBUG_AUDIO_ERROR
  480. bool "Audio Device Error Output"
  481. default n
  482. depends on DEBUG_ERROR
  483. ---help---
  484. Enable audio device error output to SYSLOG.
  485. config DEBUG_AUDIO_WARN
  486. bool "Audio Device Warnings Output"
  487. default n
  488. depends on DEBUG_WARN
  489. ---help---
  490. Enable audio device warning output to SYSLOG.
  491. config DEBUG_AUDIO_INFO
  492. bool "Audio Device Informational Output"
  493. default n
  494. depends on DEBUG_INFO
  495. ---help---
  496. Enable audio device informational output to SYSLOG.
  497. endif # DEBUG_AUDIO
  498. config DEBUG_BINFMT
  499. bool "Binary Loader Debug Features"
  500. default n
  501. depends on !BINFMT_DISABLE || LIBC_MODLIB
  502. ---help---
  503. Enable binary loader debug features.
  504. if DEBUG_BINFMT
  505. config DEBUG_BINFMT_ERROR
  506. bool "Binary Loader Error Output"
  507. default n
  508. depends on DEBUG_ERROR
  509. ---help---
  510. Enable binary loader error output to SYSLOG.
  511. config DEBUG_BINFMT_WARN
  512. bool "Binary Loader Warnings Output"
  513. default n
  514. depends on DEBUG_WARN
  515. ---help---
  516. Enable binary loader warning output to SYSLOG.
  517. config DEBUG_BINFMT_INFO
  518. bool "Binary Loader Informational Output"
  519. default n
  520. depends on DEBUG_INFO
  521. ---help---
  522. Enable binary loader informational output to SYSLOG.
  523. endif # DEBUG_BINFMT
  524. config DEBUG_CONTACTLESS
  525. bool "Contactless Debug Features"
  526. default n
  527. depends on DRIVERS_CONTACTLESS
  528. ---help---
  529. Enable debug features for contactless (aka RFID) subsystem.
  530. if DEBUG_CONTACTLESS
  531. config DEBUG_CONTACTLESS_ERROR
  532. bool "Contactless Error Output"
  533. default n
  534. depends on DEBUG_ERROR
  535. ---help---
  536. Enable contactless (aka RFID) subsystem error output to
  537. SYSLOG.
  538. config DEBUG_CONTACTLESS_WARN
  539. bool "Contactless Warnings Output"
  540. default n
  541. depends on DEBUG_ERROR
  542. ---help---
  543. Enable contactless (aka RFID) subsystem warning output to
  544. SYSLOG.
  545. config DEBUG_CONTACTLESS_INFO
  546. bool "Contactless Informational Output"
  547. default n
  548. depends on DEBUG_ERROR
  549. ---help---
  550. Enable contactless (aka RFID) subsystem informational output
  551. to SYSLOG.
  552. endif # DEBUG_CONTACTLESS
  553. config DEBUG_CRYPTO
  554. bool "Crypto Debug Features"
  555. default n
  556. depends on CRYPTO
  557. ---help---
  558. Enable cryptographic debug features.
  559. if DEBUG_CRYPTO
  560. config DEBUG_CRYPTO_ERROR
  561. bool "Crypto Error Output"
  562. default n
  563. depends on DEBUG_ERROR
  564. ---help---
  565. Enable cryptographic error output to SYSLOG.
  566. config DEBUG_CRYPTO_WARN
  567. bool "Crypto Warnings Output"
  568. default n
  569. depends on DEBUG_WARN
  570. ---help---
  571. Enable cryptographic warning output to SYSLOG.
  572. config DEBUG_CRYPTO_INFO
  573. bool "Crypto Informational Output"
  574. default n
  575. depends on DEBUG_INFO
  576. ---help---
  577. Enable cryptographic informational output to SYSLOG.
  578. endif # DEBUG_CRYPTO
  579. config DEBUG_FS
  580. bool "File System Debug Features"
  581. default n
  582. ---help---
  583. Enable file system debug features.
  584. if DEBUG_FS
  585. config DEBUG_FS_ERROR
  586. bool "File System Error Output"
  587. default n
  588. depends on DEBUG_ERROR
  589. ---help---
  590. Enable file system error output to SYSLOG.
  591. config DEBUG_FS_WARN
  592. bool "File System Warnings Output"
  593. default n
  594. depends on DEBUG_WARN
  595. ---help---
  596. Enable file system warning output to SYSLOG.
  597. config DEBUG_FS_INFO
  598. bool "File System Informational Output"
  599. default n
  600. depends on DEBUG_INFO
  601. ---help---
  602. Enable file system informational output to SYSLOG.
  603. endif # DEBUG_FS
  604. config DEBUG_GRAPHICS
  605. bool "Graphics Debug Features"
  606. default n
  607. ---help---
  608. Enable NX graphics subsystem debug features.
  609. if DEBUG_GRAPHICS
  610. config DEBUG_GRAPHICS_ERROR
  611. bool "Graphics Error Output"
  612. default n
  613. depends on DEBUG_ERROR
  614. ---help---
  615. Enable NX graphics subsystem error output to SYSLOG.
  616. config DEBUG_GRAPHICS_WARN
  617. bool "Graphics Warnings Output"
  618. default n
  619. depends on DEBUG_WARN
  620. ---help---
  621. Enable NX graphics subsystem warning output to SYSLOG.
  622. config DEBUG_GRAPHICS_INFO
  623. bool "Graphics Informational Output"
  624. default n
  625. depends on DEBUG_INFO
  626. ---help---
  627. Enable NX graphics subsystem informational output to SYSLOG.
  628. endif # DEBUG_GRAPHICS
  629. config DEBUG_LIB
  630. bool "C Library Debug Features"
  631. default n
  632. ---help---
  633. Enable C library debug features.
  634. if DEBUG_LIB
  635. config DEBUG_LIB_ERROR
  636. bool "C Library Error Output"
  637. default n
  638. depends on DEBUG_ERROR
  639. ---help---
  640. Enable C library error output to SYSLOG.
  641. config DEBUG_LIB_WARN
  642. bool "C Library Warnings Output"
  643. default n
  644. depends on DEBUG_WARN
  645. ---help---
  646. Enable C library warning output to SYSLOG.
  647. config DEBUG_LIB_INFO
  648. bool "C Library Informational Output"
  649. default n
  650. depends on DEBUG_INFO
  651. ---help---
  652. Enable C library informational output to SYSLOG.
  653. endif # DEBUG_LIB
  654. config DEBUG_MM
  655. bool "Memory Manager Debug Features"
  656. default n
  657. ---help---
  658. Enable memory management debug features.
  659. if DEBUG_MM
  660. config DEBUG_MM_ERROR
  661. bool "Memory Manager Error Output"
  662. default n
  663. depends on DEBUG_ERROR
  664. ---help---
  665. Enable memory management error output to SYSLOG.
  666. config DEBUG_MM_WARN
  667. bool "Memory Manager Warnings Output"
  668. default n
  669. depends on DEBUG_WARN
  670. ---help---
  671. Enable memory management warning output to SYSLOG.
  672. config DEBUG_MM_INFO
  673. bool "Memory Manager Informational Output"
  674. default n
  675. depends on DEBUG_INFO
  676. ---help---
  677. Enable memory management informational output to SYSLOG.
  678. endif # DEBUG_MM
  679. config DEBUG_SHM
  680. bool "Shared Memory Debug Output"
  681. default n
  682. depends on MM_SHM
  683. ---help---
  684. Enable shared memory management debug SYSLOG output (disabled by default)
  685. config DEBUG_NET
  686. bool "Network Debug Features"
  687. default n
  688. depends on ARCH_HAVE_NET
  689. ---help---
  690. Enable network debug features.
  691. if DEBUG_NET
  692. config DEBUG_NET_ERROR
  693. bool "Network Error Output"
  694. default n
  695. depends on DEBUG_ERROR
  696. ---help---
  697. Enable network error output to SYSLOG.
  698. config DEBUG_NET_WARN
  699. bool "Network Warnings Output"
  700. default n
  701. depends on DEBUG_WARN
  702. ---help---
  703. Enable network warning output to SYSLOG.
  704. config DEBUG_NET_INFO
  705. bool "Network Informational Output"
  706. default n
  707. depends on DEBUG_INFO
  708. ---help---
  709. Enable network informational output to SYSLOG.
  710. endif # DEBUG_NET
  711. config DEBUG_POWER
  712. bool "Power-related Debug Features"
  713. default n
  714. ---help---
  715. Enable power-related debug features.
  716. if DEBUG_POWER
  717. config DEBUG_POWER_ERROR
  718. bool "Power-related Error Output"
  719. default n
  720. depends on DEBUG_ERROR
  721. ---help---
  722. Enable power-related error output to SYSLOG.
  723. config DEBUG_POWER_WARN
  724. bool "Power-related Warnings Output"
  725. default n
  726. depends on DEBUG_WARN
  727. ---help---
  728. Enable power-related warning output to SYSLOG.
  729. config DEBUG_POWER_INFO
  730. bool "Power-related Informational Output"
  731. default n
  732. depends on DEBUG_INFO
  733. ---help---
  734. Enable power-related informational output to SYSLOG.
  735. endif # DEBUG_POWER
  736. config DEBUG_WIRELESS
  737. bool "Wireless Debug Features"
  738. default n
  739. depends on WIRELESS || DRIVERS_WIRELESS
  740. ---help---
  741. Enable wireless debug features.
  742. if DEBUG_WIRELESS
  743. config DEBUG_WIRELESS_ERROR
  744. bool "Wireless Error Output"
  745. default n
  746. depends on DEBUG_ERROR
  747. ---help---
  748. Enable wireless error output to SYSLOG.
  749. config DEBUG_WIRELESS_WARN
  750. bool "Wireless Warnings Output"
  751. default n
  752. depends on DEBUG_WARN
  753. ---help---
  754. Enable wireless warning output to SYSLOG.
  755. config DEBUG_WIRELESS_INFO
  756. bool "Wireless Informational Output"
  757. default n
  758. depends on DEBUG_INFO
  759. ---help---
  760. Enable wireless informational output to SYSLOG.
  761. endif # DEBUG_WIRELESS
  762. config DEBUG_SCHED
  763. bool "Scheduler Debug Features"
  764. default n
  765. ---help---
  766. Enable OS scheduler debug features.
  767. if DEBUG_SCHED
  768. config DEBUG_SCHED_ERROR
  769. bool "Scheduler Error Output"
  770. default n
  771. depends on DEBUG_ERROR
  772. ---help---
  773. Enable OS scheduler error output to SYSLOG.
  774. config DEBUG_SCHED_WARN
  775. bool "Scheduler Warnings Output"
  776. default n
  777. depends on DEBUG_WARN
  778. ---help---
  779. Enable OS scheduler warning output to SYSLOG.
  780. config DEBUG_SCHED_INFO
  781. bool "Scheduler Informational Output"
  782. default n
  783. depends on DEBUG_INFO
  784. ---help---
  785. Enable OS scheduler informational output to SYSLOG.
  786. endif # DEBUG_SCHED
  787. config DEBUG_SYSCALL
  788. bool "SYSCALL Debug Features"
  789. default n
  790. depends on LIB_SYSCALL
  791. ---help---
  792. Enable very low level features related to system calls. If SYSCAL
  793. output is enabled, this gives you basically a poor man's version of
  794. strace.
  795. if DEBUG_SYSCALL
  796. config DEBUG_SYSCALL_ERROR
  797. bool "SYSCALL Error Output"
  798. default n
  799. depends on DEBUG_ERROR
  800. ---help---
  801. Enable OS SYSCALL error output to SYSLOG.
  802. config DEBUG_SYSCALL_WARN
  803. bool "SYSCALL Warnings Output"
  804. default n
  805. depends on DEBUG_WARN
  806. ---help---
  807. Enable OS SYSCALL warning output to SYSLOG.
  808. config DEBUG_SYSCALL_INFO
  809. bool "SYSCALL Informational Output"
  810. default n
  811. depends on DEBUG_INFO
  812. ---help---
  813. Enable OS SYSCALL informational output to SYSLOG.
  814. endif # DEBUG_SYSCALL
  815. comment "OS Function Debug Options"
  816. config DEBUG_DMA
  817. bool "DMA Debug Features"
  818. default n
  819. depends on ARCH_DMA
  820. ---help---
  821. Enable DMA debug features.
  822. Support for this debug option is architecture-specific and may not
  823. be available for some MCUs.
  824. if DEBUG_DMA
  825. config DEBUG_DMA_ERROR
  826. bool "DMA Error Output"
  827. default n
  828. depends on DEBUG_ERROR
  829. ---help---
  830. Enable DMA error output to SYSLOG.
  831. config DEBUG_DMA_WARN
  832. bool "DMA Warnings Output"
  833. default n
  834. depends on DEBUG_WARN
  835. ---help---
  836. Enable DMA warning output to SYSLOG.
  837. config DEBUG_DMA_INFO
  838. bool "DMA Informational Output"
  839. default n
  840. depends on DEBUG_INFO
  841. ---help---
  842. Enable DMA informational output to SYSLOG.
  843. endif # DEBUG_DMA
  844. config DEBUG_IRQ
  845. bool "Interrupt Controller Debug Features"
  846. default n
  847. ---help---
  848. Enable interrupt controller debug features.
  849. Some (but not all) architectures support debug output to verify
  850. interrupt controller logic. If supported, then option will enable
  851. that output. This may interfere with normal operations! You
  852. should *not* enable interrupt controller debug unless you suspect
  853. that here is a problem with that logic. On some platforms, this
  854. option may even cause crashes! Use with care!
  855. if DEBUG_IRQ
  856. config DEBUG_IRQ_ERROR
  857. bool "Interrupt Controller Error Output"
  858. default n
  859. depends on DEBUG_ERROR
  860. ---help---
  861. Enable interrupt controller error output to SYSLOG.
  862. config DEBUG_IRQ_WARN
  863. bool "Interrupt Controller Warnings Output"
  864. default n
  865. depends on DEBUG_WARN
  866. ---help---
  867. Enable interrupt controller warning output to SYSLOG.
  868. config DEBUG_IRQ_INFO
  869. bool "Interrupt Controller Informational Output"
  870. default n
  871. depends on DEBUG_INFO
  872. ---help---
  873. Enable interrupt controller informational output to SYSLOG.
  874. endif # DEBUG_IRQ
  875. config DEBUG_PAGING
  876. bool "Paging Debug Features"
  877. default n
  878. depends on PAGING
  879. ---help---
  880. Enable OS demand paging debug features.
  881. if DEBUG_PAGING
  882. config DEBUG_PAGING_ERROR
  883. bool "Paging Error Output"
  884. default n
  885. depends on DEBUG_ERROR
  886. ---help---
  887. Enable OS demand paging error output to SYSLOG.
  888. config DEBUG_PAGING_WARN
  889. bool "Paging Warnings Output"
  890. default n
  891. depends on DEBUG_WARN
  892. ---help---
  893. Enable OS demand paging warning output to SYSLOG.
  894. config DEBUG_PAGING_INFO
  895. bool "Paging Informational Output"
  896. default n
  897. depends on DEBUG_INFO
  898. ---help---
  899. Enable OS demand paging informational output to SYSLOG.
  900. endif # DEBUG_PAGING
  901. comment "Driver Debug Options"
  902. config DEBUG_LCD
  903. bool "Low-level LCD Debug Features"
  904. default n
  905. depends on LCD
  906. ---help---
  907. Enable LCD driver debug features.
  908. Support for this debug option is board-specific and may not
  909. be available for some boards.
  910. if DEBUG_LCD
  911. config DEBUG_LCD_ERROR
  912. bool "LCD Driver Error Output"
  913. default n
  914. depends on DEBUG_ERROR
  915. ---help---
  916. Enable LCD driver error output to SYSLOG.
  917. config DEBUG_LCD_WARN
  918. bool "LCD Driver Warnings Output"
  919. default n
  920. depends on DEBUG_WARN
  921. ---help---
  922. Enable LCD driver warning output to SYSLOG.
  923. config DEBUG_LCD_INFO
  924. bool "LCD Driver Informational Output"
  925. default n
  926. depends on DEBUG_INFO
  927. ---help---
  928. Enable LCD driver informational output to SYSLOG.
  929. endif # DEBUG_LCD
  930. config DEBUG_LEDS
  931. bool "Low-level LED Debug Features"
  932. default n
  933. depends on ARCH_HAVE_LEDS
  934. ---help---
  935. Enable LED driver debug features.
  936. Support for this debug option is board-specific and may not
  937. be available for some boards.
  938. if DEBUG_LEDS
  939. config DEBUG_LEDS_ERROR
  940. bool "LED Driver Error Output"
  941. default n
  942. depends on DEBUG_ERROR
  943. ---help---
  944. Enable LED driver error output to SYSLOG.
  945. config DEBUG_LEDS_WARN
  946. bool "LED Driver Warnings Output"
  947. default n
  948. depends on DEBUG_WARN
  949. ---help---
  950. Enable LED driver warning output to SYSLOG.
  951. config DEBUG_LEDS_INFO
  952. bool "LED Driver Informational Output"
  953. default n
  954. depends on DEBUG_INFO
  955. ---help---
  956. Enable LED driver informational output to SYSLOG.
  957. endif # DEBUG_LEDS
  958. config DEBUG_INPUT
  959. bool "Input Device Debug Features"
  960. default n
  961. depends on INPUT
  962. ---help---
  963. Enable input d.
  964. Enable low level device debug features for the input device drivers
  965. such as mice and touchscreens (disabled by default). Support for
  966. this debug option is board-specific and may not be available for
  967. some boards.
  968. if DEBUG_INPUT
  969. config DEBUG_INPUT_ERROR
  970. bool "Input Device Error Output"
  971. default n
  972. depends on DEBUG_ERROR
  973. ---help---
  974. Enable input device error output to SYSLOG.
  975. config DEBUG_INPUT_WARN
  976. bool "Input Device Warnings Output"
  977. default n
  978. depends on DEBUG_WARN
  979. ---help---
  980. Enable input device warning output to SYSLOG.
  981. config DEBUG_INPUT_INFO
  982. bool "Input Device Informational Output"
  983. default n
  984. depends on DEBUG_INFO
  985. ---help---
  986. Enable input device informational output to SYSLOG.
  987. endif # DEBUG_INPUT
  988. config DEBUG_ANALOG
  989. bool "Analog Device Debug Features"
  990. default n
  991. depends on ANALOG
  992. ---help---
  993. Enable analog device debug features.
  994. Enable low level debug features the analog device drivers such as
  995. A/D and D/A converters (disabled by default). Support for this
  996. debug option is architecture-specific and may not be available for
  997. some MCUs.
  998. if DEBUG_ANALOG
  999. config DEBUG_ANALOG_ERROR
  1000. bool "Analog Device Error Output"
  1001. default n
  1002. depends on DEBUG_ERROR
  1003. ---help---
  1004. Enable analog device error output to SYSLOG.
  1005. config DEBUG_ANALOG_WARN
  1006. bool "Analog Device Warnings Output"
  1007. default n
  1008. depends on DEBUG_WARN
  1009. ---help---
  1010. Enable analog device warning output to SYSLOG.
  1011. config DEBUG_ANALOG_INFO
  1012. bool "Analog Device Informational Output"
  1013. default n
  1014. depends on DEBUG_INFO
  1015. ---help---
  1016. Enable CAN driver informational output to SYSLOG.
  1017. endif # DEBUG_ANALOG
  1018. config DEBUG_CAN
  1019. bool "CAN Debug Features"
  1020. default n
  1021. depends on CAN
  1022. ---help---
  1023. Enable CAN driver debug features.
  1024. Support for this debug option is architecture-specific and may not
  1025. be available for some MCUs.
  1026. if DEBUG_CAN
  1027. config DEBUG_CAN_ERROR
  1028. bool "CAN Error Output"
  1029. default n
  1030. depends on DEBUG_ERROR
  1031. ---help---
  1032. Enable CAN driver error output to SYSLOG.
  1033. config DEBUG_CAN_WARN
  1034. bool "CAN Warnings Output"
  1035. default n
  1036. depends on DEBUG_WARN
  1037. ---help---
  1038. Enable CAN driver warning output to SYSLOG.
  1039. config DEBUG_CAN_INFO
  1040. bool "CAN Informational Output"
  1041. default n
  1042. depends on DEBUG_INFO
  1043. ---help---
  1044. Enable CAN driver informational output to SYSLOG.
  1045. endif # DEBUG_CAN
  1046. config DEBUG_GPIO
  1047. bool "GPIO Debug Features"
  1048. default n
  1049. ---help---
  1050. Enable GPIO debug features.
  1051. Support for this debug option is architecture-specific and may not
  1052. be available for some MCUs.
  1053. if DEBUG_GPIO
  1054. config DEBUG_GPIO_ERROR
  1055. bool "GPIO Error Output"
  1056. default n
  1057. depends on DEBUG_ERROR
  1058. ---help---
  1059. Enable GPIO error output to SYSLOG.
  1060. config DEBUG_GPIO_WARN
  1061. bool "GPIO Warnings Output"
  1062. default n
  1063. depends on DEBUG_WARN
  1064. ---help---
  1065. Enable GPIO warning output to SYSLOG.
  1066. config DEBUG_GPIO_INFO
  1067. bool "GPIO Informational Output"
  1068. default n
  1069. depends on DEBUG_INFO
  1070. ---help---
  1071. Enable GPIO informational output to SYSLOG.
  1072. endif # DEBUG_GPIO
  1073. config DEBUG_I2C
  1074. bool "I2C Debug Features"
  1075. default n
  1076. depends on I2C
  1077. ---help---
  1078. Enable I2C debug features.
  1079. Support for this debug option is architecture-specific and may not
  1080. be available for some MCUs.
  1081. if DEBUG_I2C
  1082. config DEBUG_I2C_ERROR
  1083. bool "I2C Error Output"
  1084. default n
  1085. depends on DEBUG_ERROR
  1086. ---help---
  1087. Enable I2C driver error output to SYSLOG.
  1088. config DEBUG_I2C_WARN
  1089. bool "I2C Warnings Output"
  1090. default n
  1091. depends on DEBUG_WARN
  1092. ---help---
  1093. Enable I2C driver warning output to SYSLOG.
  1094. config DEBUG_I2C_INFO
  1095. bool "I2C Informational Output"
  1096. default n
  1097. depends on DEBUG_INFO
  1098. ---help---
  1099. Enable I2C driver informational output to SYSLOG.
  1100. endif # DEBUG_I2C
  1101. config DEBUG_I2S
  1102. bool "I2S Debug Features"
  1103. default n
  1104. depends on I2S
  1105. ---help---
  1106. Enable I2S debug features.
  1107. Support for this debug option is architecture-specific and may not
  1108. be available for some MCUs.
  1109. if DEBUG_I2S
  1110. config DEBUG_I2S_ERROR
  1111. bool "I2S Error Output"
  1112. default n
  1113. depends on DEBUG_ERROR
  1114. ---help---
  1115. Enable I2S driver error output to SYSLOG.
  1116. Support for this debug option is architecture-specific and may not
  1117. be available for some MCUs.
  1118. config DEBUG_I2S_WARN
  1119. bool "I2S Warnings Output"
  1120. default n
  1121. depends on DEBUG_WARN
  1122. ---help---
  1123. Enable I2S driver warning output to SYSLOG.
  1124. config DEBUG_I2S_INFO
  1125. bool "I2S Informational Output"
  1126. default n
  1127. depends on DEBUG_INFO
  1128. ---help---
  1129. Enable I2S driver informational output to SYSLOG.
  1130. endif # DEBUG_I2S
  1131. config DEBUG_PWM
  1132. bool "PWM Debug Features"
  1133. default n
  1134. depends on PWM
  1135. ---help---
  1136. Enable PWM debug features.
  1137. Support for this debug option is architecture-specific and may not
  1138. be available for some MCUs.
  1139. if DEBUG_PWM
  1140. config DEBUG_PWM_ERROR
  1141. bool "PWM Error Output"
  1142. default n
  1143. depends on DEBUG_ERROR
  1144. ---help---
  1145. Enable PWM driver error output to SYSLOG.
  1146. Support for this debug option is architecture-specific and may not
  1147. be available for some MCUs.
  1148. config DEBUG_PWM_WARN
  1149. bool "PWM Warnings Output"
  1150. default n
  1151. depends on DEBUG_WARN
  1152. ---help---
  1153. Enable PWM driver warning output to SYSLOG.
  1154. config DEBUG_PWM_INFO
  1155. bool "PWM Informational Output"
  1156. default n
  1157. depends on DEBUG_INFO
  1158. ---help---
  1159. Enable PWM driver informational output to SYSLOG.
  1160. endif # DEBUG_PWM
  1161. config DEBUG_RC
  1162. bool "RC Debug Features"
  1163. default n
  1164. depends on DRIVERS_RC
  1165. ---help---
  1166. Enable RC debug features.
  1167. Support for this debug option is architecture-specific and may not
  1168. be available for some MCUs.
  1169. if DEBUG_RC
  1170. config DEBUG_RC_ERROR
  1171. bool "RC Error Output"
  1172. default n
  1173. depends on DEBUG_ERROR
  1174. ---help---
  1175. Enable RC driver error output to SYSLOG.
  1176. Support for this debug option is architecture-specific and may not
  1177. be available for some MCUs.
  1178. config DEBUG_RC_WARN
  1179. bool "RC Warnings Output"
  1180. default n
  1181. depends on DEBUG_WARN
  1182. ---help---
  1183. Enable RC driver warning output to SYSLOG.
  1184. config DEBUG_RC_INFO
  1185. bool "RC Informational Output"
  1186. default n
  1187. depends on DEBUG_INFO
  1188. ---help---
  1189. Enable RC driver informational output to SYSLOG.
  1190. endif # DEBUG_RC
  1191. config DEBUG_RTC
  1192. bool "RTC Debug Features"
  1193. default n
  1194. depends on RTC
  1195. ---help---
  1196. Enable RTC debug features.
  1197. Support for this debug option is architecture-specific and may not
  1198. be available for some MCUs.
  1199. if DEBUG_RTC
  1200. config DEBUG_RTC_ERROR
  1201. bool "RTC Error Output"
  1202. default n
  1203. depends on DEBUG_ERROR
  1204. ---help---
  1205. Enable RTC driver error output to SYSLOG.
  1206. Support for this debug option is architecture-specific and may not
  1207. be available for some MCUs.
  1208. config DEBUG_RTC_WARN
  1209. bool "RTC Warnings Output"
  1210. default n
  1211. depends on DEBUG_WARN
  1212. ---help---
  1213. Enable RTC driver warning output to SYSLOG.
  1214. config DEBUG_RTC_INFO
  1215. bool "RTC Informational Output"
  1216. default n
  1217. depends on DEBUG_INFO
  1218. ---help---
  1219. Enable RTC driver informational output to SYSLOG.
  1220. endif # DEBUG_RTC
  1221. config DEBUG_MEMCARD
  1222. bool "Memory Card Driver Debug Features"
  1223. default n
  1224. depends on MMCSD
  1225. ---help---
  1226. Enable MMC/SD memory card Driver debug features.
  1227. Support for this debug option is architecture-specific and may not
  1228. be available for some MCUs.
  1229. if DEBUG_MEMCARD
  1230. config DEBUG_MEMCARD_ERROR
  1231. bool "Memory Card Driver Error Output"
  1232. default n
  1233. depends on DEBUG_ERROR
  1234. ---help---
  1235. Enable MMC/SD memory card driver error output to SYSLOG.
  1236. Support for this debug option is architecture-specific and may not
  1237. be available for some MCUs.
  1238. config DEBUG_MEMCARD_WARN
  1239. bool "Memory Card Driver Warnings Output"
  1240. default n
  1241. depends on DEBUG_WARN
  1242. ---help---
  1243. Enable MMC/SD memory card driver warning output to SYSLOG.
  1244. config DEBUG_MEMCARD_INFO
  1245. bool "Memory Card Driver Informational Output"
  1246. default n
  1247. depends on DEBUG_INFO
  1248. ---help---
  1249. Enable MMC/SD memory card driver informational output to SYSLOG.
  1250. endif # DEBUG_MEMCARD
  1251. config DEBUG_SENSORS
  1252. bool "Sensor Debug Features"
  1253. default n
  1254. depends on SENSORS
  1255. ---help---
  1256. Enable sensor driver debug features.
  1257. Support for this debug option is architecture-specific and may not
  1258. be available for some MCUs.
  1259. if DEBUG_SENSORS
  1260. config DEBUG_SENSORS_ERROR
  1261. bool "Sensor Error Output"
  1262. default n
  1263. depends on DEBUG_ERROR
  1264. ---help---
  1265. Enable sensor driver error output to SYSLOG.
  1266. config DEBUG_SENSORS_WARN
  1267. bool "Sensor Warnings Output"
  1268. default n
  1269. depends on DEBUG_WARN
  1270. ---help---
  1271. Enable sensor driver warning output to SYSLOG.
  1272. config DEBUG_SENSORS_INFO
  1273. bool "Sensor Informational Output"
  1274. default n
  1275. depends on DEBUG_INFO
  1276. ---help---
  1277. Enable sensor driver informational output to SYSLOG.
  1278. endif # DEBUG_SENSORS
  1279. config DEBUG_SPI
  1280. bool "SPI Debug Features"
  1281. default n
  1282. depends on SPI
  1283. ---help---
  1284. Enable SPI debug features.
  1285. Support for this debug option is architecture-specific and may not
  1286. be available for some MCUs.
  1287. if DEBUG_SPI
  1288. config DEBUG_SPI_ERROR
  1289. bool "SPI Error Output"
  1290. default n
  1291. depends on DEBUG_ERROR
  1292. ---help---
  1293. Enable SPI error output to SYSLOG.
  1294. config DEBUG_SPI_WARN
  1295. bool "SPI Warnings Output"
  1296. default n
  1297. depends on DEBUG_WARN
  1298. ---help---
  1299. Enable SPI warning output to SYSLOG.
  1300. config DEBUG_SPI_INFO
  1301. bool "SPI Informational Output"
  1302. default n
  1303. depends on DEBUG_INFO
  1304. ---help---
  1305. Enable SPI informational output to SYSLOG.
  1306. endif # DEBUG_SPI
  1307. config DEBUG_TIMER
  1308. bool "Timer Debug Features"
  1309. default n
  1310. ---help---
  1311. Enable timer debug features.
  1312. Support for this debug option is architecture-specific and may not
  1313. be available for some MCUs.
  1314. if DEBUG_TIMER
  1315. config DEBUG_TIMER_ERROR
  1316. bool "Timer Error Output"
  1317. default n
  1318. depends on DEBUG_ERROR
  1319. ---help---
  1320. Enable timer error output to SYSLOG.
  1321. config DEBUG_TIMER_WARN
  1322. bool "Timer Warnings Output"
  1323. default n
  1324. depends on DEBUG_WARN
  1325. ---help---
  1326. Enable timer warning output to SYSLOG.
  1327. config DEBUG_TIMER_INFO
  1328. bool "Timer Informational Output"
  1329. default n
  1330. depends on DEBUG_INFO
  1331. ---help---
  1332. Enable timer informational output to SYSLOG.
  1333. endif # DEBUG_TIMER
  1334. config DEBUG_USB
  1335. bool "USB Debug Features"
  1336. default n
  1337. depends on USBDEV || USBHOST
  1338. ---help---
  1339. Enable USB debug features.
  1340. if DEBUG_USB
  1341. config DEBUG_USB_ERROR
  1342. bool "USB Error Output"
  1343. default n
  1344. depends on DEBUG_ERROR
  1345. ---help---
  1346. Enable USB error output to SYSLOG.
  1347. config DEBUG_USB_WARN
  1348. bool "USB Warnings Output"
  1349. default n
  1350. depends on DEBUG_WARN
  1351. ---help---
  1352. Enable USB warning output to SYSLOG.
  1353. config DEBUG_USB_INFO
  1354. bool "USB Informational Output"
  1355. default n
  1356. depends on DEBUG_INFO
  1357. ---help---
  1358. Enable USB informational output to SYSLOG.
  1359. endif # DEBUG_USB
  1360. config DEBUG_WATCHDOG
  1361. bool "Watchdog Timer Debug Features"
  1362. default n
  1363. depends on WATCHDOG
  1364. ---help---
  1365. Enable watchdog timer debug features.
  1366. Support for this debug option is architecture-specific and may not
  1367. be available for some MCUs.
  1368. if DEBUG_WATCHDOG
  1369. config DEBUG_WATCHDOG_ERROR
  1370. bool "Watchdog Timer Error Output"
  1371. default n
  1372. depends on DEBUG_ERROR
  1373. ---help---
  1374. Enable watchdog time error output to SYSLOG.
  1375. config DEBUG_WATCHDOG_WARN
  1376. bool "Watchdog Timer Warnings Output"
  1377. default n
  1378. depends on DEBUG_WARN
  1379. ---help---
  1380. Enable watchdog time warning output to SYSLOG.
  1381. config DEBUG_WATCHDOG_INFO
  1382. bool "Watchdog Timer Informational Output"
  1383. default n
  1384. depends on DEBUG_INFO
  1385. ---help---
  1386. Enable watchdog time informational output to SYSLOG.
  1387. endif # DEBUG_WATCHDOG
  1388. config DEBUG_MOTOR
  1389. bool "Motor Debug Features"
  1390. default n
  1391. depends on MOTOR
  1392. ---help---
  1393. Enable motor debug features.
  1394. if DEBUG_MOTOR
  1395. config DEBUG_MOTOR_ERROR
  1396. bool "Motor Error Output"
  1397. default n
  1398. depends on DEBUG_ERROR
  1399. ---help---
  1400. Enable motor error output to SYSLOG.
  1401. config DEBUG_MOTOR_WARN
  1402. bool "Motor Warnings Output"
  1403. default n
  1404. depends on DEBUG_WARN
  1405. ---help---
  1406. Enable motor warning output to SYSLOG.
  1407. config DEBUG_MOTOR_INFO
  1408. bool "Motor Informational Output"
  1409. default n
  1410. depends on DEBUG_INFO
  1411. ---help---
  1412. Enable motor informational output to SYSLOG.
  1413. endif # DEBUG_MOTOR
  1414. endif # DEBUG_FEATURES
  1415. config ARCH_HAVE_STACKCHECK
  1416. bool
  1417. default n
  1418. config STACK_COLORATION
  1419. bool "Stack coloration"
  1420. default n
  1421. depends on ARCH_HAVE_STACKCHECK
  1422. ---help---
  1423. Enable stack coloration to initialize the stack memory to the value
  1424. of STACK_COLOR and enable the stack checking APIs that can be used
  1425. to monitor the level of stack usage.
  1426. Only supported by a few architectures.
  1427. config STACK_USAGE_SAFE_PERCENT
  1428. int "Stack usage safe percent"
  1429. default 0
  1430. range 0 100
  1431. depends on STACK_COLORATION
  1432. ---help---
  1433. Stack usage percent = up_check_tcbstack() * 100 / tcb->adj_stack_size,
  1434. this should be lower than STACK_USAGE_SAFE_PERCENT.
  1435. Idle thread will periodically check stack usage when this macro
  1436. value > 0.
  1437. N.B. This feature should not be used in production code.
  1438. config STACK_CANARIES
  1439. bool "Compiler stack canaries"
  1440. depends on ARCH_HAVE_STACKCHECK
  1441. default n
  1442. ---help---
  1443. This option enables compiler stack canaries.
  1444. If stack canaries are supported by the compiler, it will emit
  1445. extra code that inserts a canary value into the stack frame when
  1446. a function is entered and validates this value upon exit.
  1447. Stack corruption (such as that caused by buffer overflow) results
  1448. in a fatal error condition for the running entity.
  1449. Enabling this option can result in a significant increase
  1450. in footprint and an associated decrease in performance.
  1451. config ARCH_HAVE_HEAPCHECK
  1452. bool
  1453. default n
  1454. config HEAP_COLORATION
  1455. bool "Heap coloration"
  1456. default n
  1457. depends on ARCH_HAVE_HEAPCHECK
  1458. ---help---
  1459. Enable heap coloration to check heap usage. Only supported by a few
  1460. architectures.
  1461. config DEBUG_SYMBOLS
  1462. bool "Generate Debug Symbols"
  1463. default n
  1464. ---help---
  1465. Build with debug symbols (needed for use with a debugger).
  1466. endmenu # Debug Options
  1467. config ARCH_HAVE_CUSTOMOPT
  1468. bool
  1469. default n
  1470. choice
  1471. prompt "Optimization Level"
  1472. default DEBUG_NOOPT if DEBUG_SYMBOLS
  1473. default DEBUG_FULLOPT if !DEBUG_SYMBOLS
  1474. config DEBUG_NOOPT
  1475. bool "Suppress Optimization"
  1476. ---help---
  1477. Build without optimization. This is often helpful when debugging code.
  1478. config DEBUG_CUSTOMOPT
  1479. bool "Custom Optimization"
  1480. depends on ARCH_HAVE_CUSTOMOPT
  1481. ---help---
  1482. Select a custom debug level. This is often helpful if you suspect an
  1483. optimization level error and want to lower the level of optimization.
  1484. config DEBUG_FULLOPT
  1485. bool "Normal, Full optimization"
  1486. ---help---
  1487. Build full optimization. This is the normal case for production
  1488. firmware.
  1489. endchoice # Optimization Level
  1490. config DEBUG_OPTLEVEL
  1491. string "Custom Optimization Level"
  1492. default "-O2"
  1493. depends on DEBUG_CUSTOMOPT
  1494. ---help---
  1495. This string represents the custom optimization level that will be
  1496. used if DEBUG_CUSTOMOPT.
  1497. endmenu # Build Setup
  1498. menu "System Type"
  1499. source "arch/Kconfig"
  1500. endmenu
  1501. menu "Board Selection"
  1502. source "boards/Kconfig"
  1503. endmenu
  1504. menu "RTOS Features"
  1505. source sched/Kconfig
  1506. source syscall/Kconfig
  1507. endmenu
  1508. menu "Device Drivers"
  1509. source drivers/Kconfig
  1510. endmenu
  1511. menu "Networking Support"
  1512. source net/Kconfig
  1513. endmenu
  1514. menu "Crypto API"
  1515. source crypto/Kconfig
  1516. endmenu
  1517. menu "File Systems"
  1518. source fs/Kconfig
  1519. endmenu
  1520. menu "Graphics Support"
  1521. source graphics/Kconfig
  1522. source libs/libnx/Kconfig
  1523. endmenu
  1524. menu "Memory Management"
  1525. source mm/Kconfig
  1526. endmenu
  1527. menu "Audio Support"
  1528. source audio/Kconfig
  1529. endmenu
  1530. menu "Video Support"
  1531. source video/Kconfig
  1532. endmenu
  1533. menu "Wireless Support"
  1534. source wireless/Kconfig
  1535. endmenu
  1536. menu "Binary Loader"
  1537. source binfmt/Kconfig
  1538. endmenu
  1539. menu "Library Routines"
  1540. source libs/libc/Kconfig
  1541. source libs/libxx/Kconfig
  1542. source libs/libdsp/Kconfig
  1543. endmenu
  1544. menu "Open Asymmetric Multi Processing"
  1545. source openamp/Kconfig
  1546. endmenu
  1547. menu "Application Configuration"
  1548. source "$APPSDIR/Kconfig"
  1549. endmenu
  1550. # Support optionally including external code
  1551. # into the OS build. EXTERNALDIR will be used
  1552. # to either point to 'nuttx/external' or
  1553. # 'nuttx/dummy', if 'nuttx/external'
  1554. # does not contain a Kconfig file
  1555. config EXTERNALDIR
  1556. string
  1557. option env="EXTERNALDIR"
  1558. source "$EXTERNALDIR/Kconfig"