Kconfig 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593
  1. #
  2. # Please run the following command for opening a page with more information about this configuration file:
  3. # idf.py docs -sp api-reference/kconfig.html
  4. #
  5. mainmenu "Espressif IoT Development Framework Configuration"
  6. orsource "./components/soc/$IDF_TARGET/include/soc/Kconfig.soc_caps.in"
  7. config IDF_CMAKE
  8. bool
  9. default "y"
  10. config IDF_ENV_FPGA
  11. bool
  12. option env="IDF_ENV_FPGA"
  13. help
  14. - This option is for internal use only.
  15. - Enabling this option will help enable all FPGA support so as to
  16. run ESP-IDF on an FPGA. This can help reproduce some issues that
  17. only happens on FPGA condition, or when you have to burn some
  18. efuses multiple times.
  19. config IDF_ENV_BRINGUP
  20. bool
  21. default "y" if IDF_TARGET_ESP32P4
  22. help
  23. - This option is ONLY used when doing new chip bringup.
  24. - This option will only enable necessary hw / sw settings for running
  25. a hello_world application.
  26. config IDF_CI_BUILD
  27. bool
  28. default y if "$(IDF_CI_BUILD)" = "y" || "$(IDF_CI_BUILD)" = 1
  29. config IDF_DOC_BUILD
  30. bool
  31. default y if "$(IDF_DOC_BUILD)" = "y" || "$(IDF_DOC_BUILD)" = 1
  32. config IDF_TOOLCHAIN
  33. # This option records the IDF target when sdkconfig is generated the first time.
  34. # It is not updated if environment variable $IDF_TOOLCHAIN changes later, and
  35. # the build system is responsible for detecting the mismatch between
  36. # CONFIG_IDF_TOOLCHAIN and $IDF_TOOLCHAIN.
  37. string
  38. default "$IDF_TOOLCHAIN"
  39. config IDF_TOOLCHAIN_CLANG
  40. bool
  41. default "y" if IDF_TOOLCHAIN="clang"
  42. config IDF_TARGET_ARCH_RISCV
  43. bool
  44. default "n"
  45. config IDF_TARGET_ARCH_XTENSA
  46. bool
  47. default "n"
  48. config IDF_TARGET_ARCH
  49. string
  50. default "riscv" if IDF_TARGET_ARCH_RISCV
  51. default "xtensa" if IDF_TARGET_ARCH_XTENSA
  52. config IDF_TARGET
  53. # This option records the IDF target when sdkconfig is generated the first time.
  54. # It is not updated if environment variable $IDF_TARGET changes later, and
  55. # the build system is responsible for detecting the mismatch between
  56. # CONFIG_IDF_TARGET and $IDF_TARGET.
  57. string
  58. default "$IDF_TARGET"
  59. config IDF_INIT_VERSION
  60. # This option records the IDF version when sdkconfig is generated the first time.
  61. # It is not updated if environment variable $IDF_VERSION changes later
  62. string
  63. default "$IDF_INIT_VERSION"
  64. config IDF_TARGET_LINUX
  65. bool
  66. default "y" if IDF_TARGET="linux"
  67. config IDF_TARGET_ESP32
  68. bool
  69. default "y" if IDF_TARGET="esp32"
  70. select IDF_TARGET_ARCH_XTENSA
  71. config IDF_TARGET_ESP32S2
  72. bool
  73. default "y" if IDF_TARGET="esp32s2"
  74. select FREERTOS_UNICORE
  75. select IDF_TARGET_ARCH_XTENSA
  76. config IDF_TARGET_ESP32S3
  77. bool
  78. default "y" if IDF_TARGET="esp32s3"
  79. select IDF_TARGET_ARCH_XTENSA
  80. config IDF_TARGET_ESP32C3
  81. bool
  82. default "y" if IDF_TARGET="esp32c3"
  83. select FREERTOS_UNICORE
  84. select IDF_TARGET_ARCH_RISCV
  85. config IDF_TARGET_ESP32C2
  86. bool
  87. default "y" if IDF_TARGET="esp32c2"
  88. select FREERTOS_UNICORE
  89. select IDF_TARGET_ARCH_RISCV
  90. config IDF_TARGET_ESP32C6
  91. bool
  92. default "y" if IDF_TARGET="esp32c6"
  93. select FREERTOS_UNICORE
  94. select IDF_TARGET_ARCH_RISCV
  95. config IDF_TARGET_ESP32P4
  96. bool
  97. default "y" if IDF_TARGET="esp32p4"
  98. select IDF_TARGET_ARCH_RISCV
  99. config IDF_TARGET_ESP32H2
  100. bool
  101. default "y" if IDF_TARGET="esp32h2"
  102. select FREERTOS_UNICORE
  103. select IDF_TARGET_ARCH_RISCV
  104. config IDF_TARGET_LINUX
  105. bool
  106. default "y" if IDF_TARGET="linux"
  107. config IDF_FIRMWARE_CHIP_ID
  108. hex
  109. default 0x0000 if IDF_TARGET_ESP32
  110. default 0x0002 if IDF_TARGET_ESP32S2
  111. default 0x0005 if IDF_TARGET_ESP32C3
  112. default 0x0009 if IDF_TARGET_ESP32S3
  113. default 0x000C if IDF_TARGET_ESP32C2
  114. default 0x000D if IDF_TARGET_ESP32C6
  115. default 0x0010 if IDF_TARGET_ESP32H2
  116. default 0x0012 if IDF_TARGET_ESP32P4
  117. default 0xFFFF
  118. menu "Build type"
  119. choice APP_BUILD_TYPE
  120. prompt "Application build type"
  121. default APP_BUILD_TYPE_APP_2NDBOOT
  122. help
  123. Select the way the application is built.
  124. By default, the application is built as a binary file in a format compatible with
  125. the ESP-IDF bootloader. In addition to this application, 2nd stage bootloader is
  126. also built. Application and bootloader binaries can be written into flash and
  127. loaded/executed from there.
  128. Another option, useful for only very small and limited applications, is to only link
  129. the .elf file of the application, such that it can be loaded directly into RAM over
  130. JTAG or UART. Note that since IRAM and DRAM sizes are very limited, it is not possible
  131. to build any complex application this way. However for some kinds of testing and debugging,
  132. this option may provide faster iterations, since the application does not need to be
  133. written into flash.
  134. Note: when APP_BUILD_TYPE_RAM is selected and loaded with JTAG, ESP-IDF does not contain
  135. all the startup code required to initialize the CPUs and ROM memory (data/bss).
  136. Therefore it is necessary to execute a bit of ROM code prior to executing the application.
  137. A gdbinit file may look as follows (for ESP32):
  138. # Connect to a running instance of OpenOCD
  139. target remote :3333
  140. # Reset and halt the target
  141. mon reset halt
  142. # Run to a specific point in ROM code,
  143. # where most of initialization is complete.
  144. thb *0x40007d54
  145. c
  146. # Load the application into RAM
  147. load
  148. # Run till app_main
  149. tb app_main
  150. c
  151. Execute this gdbinit file as follows:
  152. xtensa-esp32-elf-gdb build/app-name.elf -x gdbinit
  153. Example gdbinit files for other targets can be found in tools/test_apps/system/gdb_loadable_elf/
  154. When loading the BIN with UART, the ROM will jump to ram and run the app after finishing the ROM
  155. startup code, so there's no additional startup initialization required. You can use the
  156. `load_ram` in esptool.py to load the generated .bin file into ram and execute.
  157. Example:
  158. esptool.py --chip {chip} -p {port} -b {baud} --no-stub load_ram {app.bin}
  159. Recommended sdkconfig.defaults for building loadable ELF files is as follows.
  160. CONFIG_APP_BUILD_TYPE_RAM is required, other options help reduce application
  161. memory footprint.
  162. CONFIG_APP_BUILD_TYPE_RAM=y
  163. CONFIG_VFS_SUPPORT_TERMIOS=
  164. CONFIG_NEWLIB_NANO_FORMAT=y
  165. CONFIG_ESP_SYSTEM_PANIC_PRINT_HALT=y
  166. CONFIG_ESP_DEBUG_STUBS_ENABLE=
  167. CONFIG_ESP_ERR_TO_NAME_LOOKUP=
  168. config APP_BUILD_TYPE_APP_2NDBOOT
  169. bool
  170. prompt "Default (binary application + 2nd stage bootloader)"
  171. depends on !IDF_TARGET_LINUX
  172. select APP_BUILD_GENERATE_BINARIES
  173. select APP_BUILD_BOOTLOADER
  174. select APP_BUILD_USE_FLASH_SECTIONS
  175. config APP_BUILD_TYPE_RAM
  176. bool
  177. prompt "Build app runs entirely in RAM (EXPERIMENTAL)"
  178. select APP_BUILD_GENERATE_BINARIES
  179. endchoice # APP_BUILD_TYPE
  180. # Hidden options, set according to the choice above
  181. config APP_BUILD_GENERATE_BINARIES
  182. bool # Whether to generate .bin files or not
  183. config APP_BUILD_BOOTLOADER
  184. bool # Whether to build the bootloader
  185. config APP_BUILD_TYPE_PURE_RAM_APP
  186. bool
  187. prompt "Build app without SPI_FLASH/PSRAM support (saves ram)"
  188. depends on APP_BUILD_TYPE_RAM
  189. help
  190. If this option is enabled, external memory and related peripherals, such as Cache, MMU,
  191. Flash and PSRAM, won't be initialized. Corresponding drivers won't be introduced either.
  192. Components that depend on the spi_flash component will also be unavailable, such as
  193. app_update, etc. When this option is enabled, about 26KB of RAM space can be saved.
  194. config APP_BUILD_USE_FLASH_SECTIONS
  195. bool # Whether to place code/data into memory-mapped flash sections
  196. config APP_REPRODUCIBLE_BUILD
  197. bool "Enable reproducible build"
  198. default n
  199. select COMPILER_HIDE_PATHS_MACROS
  200. help
  201. If enabled, all date, time, and path information would be eliminated. A .gdbinit file would be create
  202. automatically. (or will be append if you have one already)
  203. config APP_NO_BLOBS
  204. bool "No Binary Blobs"
  205. default n
  206. help
  207. If enabled, this disables the linking of binary libraries in the application build. Note
  208. that after enabling this Wi-Fi/Bluetooth will not work.
  209. config APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS
  210. bool "App compatible with bootloaders before ESP-IDF v2.1"
  211. select APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS
  212. depends on IDF_TARGET_ESP32
  213. default n
  214. help
  215. Bootloaders before ESP-IDF v2.1 did less initialisation of the
  216. system clock. This setting needs to be enabled to build an app
  217. which can be booted by these older bootloaders.
  218. If this setting is enabled, the app can be booted by any bootloader
  219. from IDF v1.0 up to the current version.
  220. If this setting is disabled, the app can only be booted by bootloaders
  221. from IDF v2.1 or newer.
  222. Enabling this setting adds approximately 1KB to the app's IRAM usage.
  223. config APP_COMPATIBLE_PRE_V3_1_BOOTLOADERS
  224. bool "App compatible with bootloader and partition table before ESP-IDF v3.1"
  225. depends on IDF_TARGET_ESP32
  226. default n
  227. help
  228. Partition tables before ESP-IDF V3.1 do not contain an MD5 checksum
  229. field, and the bootloader before ESP-IDF v3.1 cannot read a partition
  230. table that contains an MD5 checksum field.
  231. Enable this option only if your app needs to boot on a bootloader and/or
  232. partition table that was generated from a version *before* ESP-IDF v3.1.
  233. If this option and Flash Encryption are enabled at the same time, and any
  234. data partitions in the partition table are marked Encrypted, then the
  235. partition encrypted flag should be manually verified in the app before accessing
  236. the partition (see CVE-2021-27926).
  237. config APP_INIT_CLK
  238. bool
  239. depends on IDF_TARGET_ESP32
  240. default y if APP_COMPATIBLE_PRE_V2_1_BOOTLOADERS
  241. default y if APP_BUILD_TYPE_RAM
  242. endmenu # Build type
  243. source "$COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE"
  244. menu "Compiler options"
  245. choice COMPILER_OPTIMIZATION
  246. prompt "Optimization Level"
  247. default COMPILER_OPTIMIZATION_DEBUG
  248. help
  249. This option sets compiler optimization level (gcc -O argument) for the app.
  250. - The "Debug" setting will add the -0g flag to CFLAGS.
  251. - The "Size" setting will add the -0s flag to CFLAGS.
  252. - The "Performance" setting will add the -O2 flag to CFLAGS.
  253. - The "None" setting will add the -O0 flag to CFLAGS.
  254. The "Size" setting cause the compiled code to be smaller and faster, but
  255. may lead to difficulties of correlating code addresses to source file
  256. lines when debugging.
  257. The "Performance" setting causes the compiled code to be larger and faster,
  258. but will be easier to correlated code addresses to source file lines.
  259. "None" with -O0 produces compiled code without optimization.
  260. Note that custom optimization levels may be unsupported.
  261. Compiler optimization for the IDF bootloader is set separately,
  262. see the BOOTLOADER_COMPILER_OPTIMIZATION setting.
  263. config COMPILER_OPTIMIZATION_DEBUG
  264. bool "Debug (-Og)"
  265. config COMPILER_OPTIMIZATION_SIZE
  266. bool "Optimize for size (-Os)"
  267. config COMPILER_OPTIMIZATION_PERF
  268. bool "Optimize for performance (-O2)"
  269. config COMPILER_OPTIMIZATION_NONE
  270. bool "Debug without optimization (-O0)"
  271. endchoice
  272. choice COMPILER_OPTIMIZATION_ASSERTION_LEVEL
  273. prompt "Assertion level"
  274. default COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
  275. help
  276. Assertions can be:
  277. - Enabled. Failure will print verbose assertion details. This is the default.
  278. - Set to "silent" to save code size (failed assertions will abort() but user
  279. needs to use the aborting address to find the line number with the failed assertion.)
  280. - Disabled entirely (not recommended for most configurations.) -DNDEBUG is added
  281. to CPPFLAGS in this case.
  282. config COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
  283. prompt "Enabled"
  284. bool
  285. help
  286. Enable assertions. Assertion content and line number will be printed on failure.
  287. config COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
  288. prompt "Silent (saves code size)"
  289. bool
  290. help
  291. Enable silent assertions. Failed assertions will abort(), user needs to
  292. use the aborting address to find the line number with the failed assertion.
  293. config COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
  294. prompt "Disabled (sets -DNDEBUG)"
  295. bool
  296. help
  297. If assertions are disabled, -DNDEBUG is added to CPPFLAGS.
  298. endchoice # assertions
  299. choice COMPILER_FLOAT_LIB_FROM
  300. prompt "Compiler float lib source"
  301. default COMPILER_FLOAT_LIB_FROM_RVFPLIB if ESP_ROM_HAS_RVFPLIB
  302. default COMPILER_FLOAT_LIB_FROM_GCCLIB
  303. help
  304. In the soft-fp part of libgcc, riscv version is written in C,
  305. and handles all edge cases in IEEE754, which makes it larger
  306. and performance is slow.
  307. RVfplib is an optimized RISC-V library for FP arithmetic on 32-bit
  308. integer processors, for single and double-precision FP.
  309. RVfplib is "fast", but it has a few exceptions from IEEE 754 compliance.
  310. config COMPILER_FLOAT_LIB_FROM_GCCLIB
  311. bool "libgcc"
  312. config COMPILER_FLOAT_LIB_FROM_RVFPLIB
  313. depends on ESP_ROM_HAS_RVFPLIB
  314. bool "librvfp"
  315. endchoice # COMPILER_FLOAT_LIB_FROM
  316. config COMPILER_OPTIMIZATION_ASSERTION_LEVEL
  317. int
  318. default 0 if COMPILER_OPTIMIZATION_ASSERTIONS_DISABLE
  319. default 1 if COMPILER_OPTIMIZATION_ASSERTIONS_SILENT
  320. default 2 if COMPILER_OPTIMIZATION_ASSERTIONS_ENABLE
  321. config COMPILER_OPTIMIZATION_CHECKS_SILENT
  322. bool "Disable messages in ESP_RETURN_ON_* and ESP_EXIT_ON_* macros"
  323. default n
  324. help
  325. If enabled, the error messages will be discarded in following check macros:
  326. - ESP_RETURN_ON_ERROR
  327. - ESP_EXIT_ON_ERROR
  328. - ESP_RETURN_ON_FALSE
  329. - ESP_EXIT_ON_FALSE
  330. menuconfig COMPILER_HIDE_PATHS_MACROS
  331. bool "Replace ESP-IDF and project paths in binaries"
  332. default y
  333. help
  334. When expanding the __FILE__ and __BASE_FILE__ macros, replace paths inside ESP-IDF
  335. with paths relative to the placeholder string "IDF", and convert paths inside the
  336. project directory to relative paths.
  337. This allows building the project with assertions or other code that embeds file paths,
  338. without the binary containing the exact path to the IDF or project directories.
  339. This option passes -fmacro-prefix-map options to the GCC command line. To replace additional
  340. paths in your binaries, modify the project CMakeLists.txt file to pass custom -fmacro-prefix-map or
  341. -ffile-prefix-map arguments.
  342. menuconfig COMPILER_CXX_EXCEPTIONS
  343. bool "Enable C++ exceptions"
  344. default n
  345. help
  346. Enabling this option compiles all IDF C++ files with exception support enabled.
  347. Disabling this option disables C++ exception support in all compiled files, and any libstdc++ code
  348. which throws an exception will abort instead.
  349. Enabling this option currently adds an additional ~500 bytes of heap overhead
  350. when an exception is thrown in user code for the first time.
  351. config COMPILER_CXX_EXCEPTIONS_EMG_POOL_SIZE
  352. int "Emergency Pool Size"
  353. default 0
  354. depends on COMPILER_CXX_EXCEPTIONS
  355. help
  356. Size (in bytes) of the emergency memory pool for C++ exceptions. This pool will be used to allocate
  357. memory for thrown exceptions when there is not enough memory on the heap.
  358. config COMPILER_CXX_RTTI
  359. bool "Enable C++ run-time type info (RTTI)"
  360. default n
  361. help
  362. Enabling this option compiles all C++ files with RTTI support enabled.
  363. This increases binary size (typically by tens of kB) but allows using
  364. dynamic_cast conversion and typeid operator.
  365. choice COMPILER_STACK_CHECK_MODE
  366. prompt "Stack smashing protection mode"
  367. default COMPILER_STACK_CHECK_MODE_NONE
  368. help
  369. Stack smashing protection mode. Emit extra code to check for buffer overflows, such as stack
  370. smashing attacks. This is done by adding a guard variable to functions with vulnerable objects.
  371. The guards are initialized when a function is entered and then checked when the function exits.
  372. If a guard check fails, program is halted. Protection has the following modes:
  373. - In NORMAL mode (GCC flag: -fstack-protector) only functions that call alloca, and functions with
  374. buffers larger than 8 bytes are protected.
  375. - STRONG mode (GCC flag: -fstack-protector-strong) is like NORMAL, but includes additional functions
  376. to be protected -- those that have local array definitions, or have references to local frame
  377. addresses.
  378. - In OVERALL mode (GCC flag: -fstack-protector-all) all functions are protected.
  379. Modes have the following impact on code performance and coverage:
  380. - performance: NORMAL > STRONG > OVERALL
  381. - coverage: NORMAL < STRONG < OVERALL
  382. The performance impact includes increasing the amount of stack memory required for each task.
  383. config COMPILER_STACK_CHECK_MODE_NONE
  384. bool "None"
  385. config COMPILER_STACK_CHECK_MODE_NORM
  386. bool "Normal"
  387. config COMPILER_STACK_CHECK_MODE_STRONG
  388. bool "Strong"
  389. config COMPILER_STACK_CHECK_MODE_ALL
  390. bool "Overall"
  391. endchoice
  392. config COMPILER_STACK_CHECK
  393. bool
  394. default !COMPILER_STACK_CHECK_MODE_NONE
  395. help
  396. Stack smashing protection.
  397. config COMPILER_WARN_WRITE_STRINGS
  398. bool "Enable -Wwrite-strings warning flag"
  399. default "n"
  400. help
  401. Adds -Wwrite-strings flag for the C/C++ compilers.
  402. For C, this gives string constants the type ``const char[]`` so that
  403. copying the address of one into a non-const ``char *`` pointer
  404. produces a warning. This warning helps to find at compile time code
  405. that tries to write into a string constant.
  406. For C++, this warns about the deprecated conversion from string
  407. literals to ``char *``.
  408. config COMPILER_SAVE_RESTORE_LIBCALLS
  409. bool "Enable -msave-restore flag to reduce code size"
  410. depends on IDF_TARGET_ARCH_RISCV
  411. help
  412. Adds -msave-restore to C/C++ compilation flags.
  413. When this flag is enabled, compiler will call library functions to
  414. save/restore registers in function prologues/epilogues. This results
  415. in lower overall code size, at the expense of slightly reduced performance.
  416. This option can be enabled for RISC-V targets only.
  417. config COMPILER_DISABLE_GCC12_WARNINGS
  418. bool "Disable new warnings introduced in GCC 12"
  419. default "n"
  420. help
  421. Enable this option if use GCC 12 or newer, and want to disable warnings which don't appear with
  422. GCC 11.
  423. config COMPILER_DISABLE_GCC13_WARNINGS
  424. bool "Disable new warnings introduced in GCC 13"
  425. default "n"
  426. help
  427. Enable this option if use GCC 13 or newer, and want to disable warnings which don't appear with
  428. GCC 12.
  429. config COMPILER_DUMP_RTL_FILES
  430. bool "Dump RTL files during compilation"
  431. help
  432. If enabled, RTL files will be produced during compilation. These files
  433. can be used by other tools, for example to calculate call graphs.
  434. choice COMPILER_RT_LIB
  435. prompt "Compiler runtime library"
  436. default COMPILER_RT_LIB_CLANGRT if IDF_TOOLCHAIN_CLANG
  437. default COMPILER_RT_LIB_HOST if IDF_TARGET_LINUX
  438. default COMPILER_RT_LIB_GCCLIB
  439. help
  440. Select runtime library to be used by compiler.
  441. - GCC toolchain supports libgcc only.
  442. - Clang allows to choose between libgcc or libclang_rt.
  443. - For host builds ("linux" target), uses the default library.
  444. config COMPILER_RT_LIB_GCCLIB
  445. depends on !IDF_TARGET_LINUX
  446. bool "libgcc"
  447. config COMPILER_RT_LIB_CLANGRT
  448. depends on IDF_TOOLCHAIN_CLANG && !IDF_TARGET_LINUX
  449. bool "libclang_rt"
  450. config COMPILER_RT_LIB_HOST
  451. depends on IDF_TARGET_LINUX
  452. bool "Host"
  453. endchoice
  454. config COMPILER_RT_LIB_NAME
  455. string
  456. default "clang_rt.builtins" if COMPILER_RT_LIB_CLANGRT
  457. default "gcc" if COMPILER_RT_LIB_GCCLIB
  458. default "" if COMPILER_RT_LIB_HOST
  459. endmenu # Compiler Options
  460. menu "Component config"
  461. source "$COMPONENT_KCONFIGS_SOURCE_FILE"
  462. endmenu
  463. config IDF_EXPERIMENTAL_FEATURES
  464. bool "Make experimental features visible"
  465. default "n"
  466. help
  467. By enabling this option, ESP-IDF experimental feature options will be visible.
  468. Note you should still enable a certain experimental feature option to use it, and you
  469. should read the corresponding risk warning and known issue list carefully.
  470. Current experimental feature list:
  471. - CONFIG_ESPTOOLPY_FLASHFREQ_120M && CONFIG_ESPTOOLPY_FLASH_SAMPLE_MODE_DTR
  472. - CONFIG_SPIRAM_SPEED_120M && CONFIG_SPIRAM_MODE_OCT
  473. - CONFIG_BOOTLOADER_CACHE_32BIT_ADDR_QUAD_FLASH
  474. - CONFIG_MBEDTLS_USE_CRYPTO_ROM_IMPL