Kconfig 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. menu "Newlib"
  2. choice NEWLIB_STDOUT_LINE_ENDING
  3. prompt "Line ending for UART output"
  4. default NEWLIB_STDOUT_LINE_ENDING_CRLF
  5. help
  6. This option allows configuring the desired line endings sent to UART
  7. when a newline ('\n', LF) appears on stdout.
  8. Three options are possible:
  9. CRLF: whenever LF is encountered, prepend it with CR
  10. LF: no modification is applied, stdout is sent as is
  11. CR: each occurence of LF is replaced with CR
  12. This option doesn't affect behavior of the UART driver (drivers/uart.h).
  13. config NEWLIB_STDOUT_LINE_ENDING_CRLF
  14. bool "CRLF"
  15. config NEWLIB_STDOUT_LINE_ENDING_LF
  16. bool "LF"
  17. config NEWLIB_STDOUT_LINE_ENDING_CR
  18. bool "CR"
  19. endchoice
  20. choice NEWLIB_STDIN_LINE_ENDING
  21. prompt "Line ending for UART input"
  22. default NEWLIB_STDIN_LINE_ENDING_CR
  23. help
  24. This option allows configuring which input sequence on UART produces
  25. a newline ('\n', LF) on stdin.
  26. Three options are possible:
  27. CRLF: CRLF is converted to LF
  28. LF: no modification is applied, input is sent to stdin as is
  29. CR: each occurence of CR is replaced with LF
  30. This option doesn't affect behavior of the UART driver (drivers/uart.h).
  31. config NEWLIB_STDIN_LINE_ENDING_CRLF
  32. bool "CRLF"
  33. config NEWLIB_STDIN_LINE_ENDING_LF
  34. bool "LF"
  35. config NEWLIB_STDIN_LINE_ENDING_CR
  36. bool "CR"
  37. endchoice
  38. config NEWLIB_NANO_FORMAT
  39. bool "Enable 'nano' formatting options for printf/scanf family"
  40. default y if IDF_TARGET_ESP32C2
  41. help
  42. ESP32 ROM contains parts of newlib C library, including printf/scanf family
  43. of functions. These functions have been compiled with so-called "nano"
  44. formatting option. This option doesn't support 64-bit integer formats and C99
  45. features, such as positional arguments.
  46. For more details about "nano" formatting option, please see newlib readme file,
  47. search for '--enable-newlib-nano-formatted-io':
  48. https://sourceware.org/newlib/README
  49. If this option is enabled, build system will use functions available in
  50. ROM, reducing the application binary size. Functions available in ROM run
  51. faster than functions which run from flash. Functions available in ROM can
  52. also run when flash instruction cache is disabled.
  53. If you need 64-bit integer formatting support or C99 features, keep this
  54. option disabled.
  55. choice NEWLIB_TIME_SYSCALL
  56. prompt "Timers used for gettimeofday function"
  57. default NEWLIB_TIME_SYSCALL_USE_RTC_HRT
  58. help
  59. This setting defines which hardware timers are used to
  60. implement 'gettimeofday' and 'time' functions in C library.
  61. - If both high-resolution (systimer for all targets except ESP32)
  62. and RTC timers are used, timekeeping will continue in deep sleep.
  63. Time will be reported at 1 microsecond resolution.
  64. This is the default, and the recommended option.
  65. - If only high-resolution timer (systimer) is used, gettimeofday will
  66. provide time at microsecond resolution.
  67. Time will not be preserved when going into deep sleep mode.
  68. - If only RTC timer is used, timekeeping will continue in
  69. deep sleep, but time will be measured at 6.(6) microsecond
  70. resolution. Also the gettimeofday function itself may take
  71. longer to run.
  72. - If no timers are used, gettimeofday and time functions
  73. return -1 and set errno to ENOSYS.
  74. - When RTC is used for timekeeping, two RTC_STORE registers are
  75. used to keep time in deep sleep mode.
  76. config NEWLIB_TIME_SYSCALL_USE_RTC_HRT
  77. bool "RTC and high-resolution timer"
  78. select ESP_TIME_FUNCS_USE_RTC_TIMER
  79. select ESP_TIME_FUNCS_USE_ESP_TIMER
  80. config NEWLIB_TIME_SYSCALL_USE_RTC
  81. bool "RTC"
  82. select ESP_TIME_FUNCS_USE_RTC_TIMER
  83. config NEWLIB_TIME_SYSCALL_USE_HRT
  84. bool "High-resolution timer"
  85. select ESP_TIME_FUNCS_USE_ESP_TIMER
  86. config NEWLIB_TIME_SYSCALL_USE_NONE
  87. bool "None"
  88. select ESP_TIME_FUNCS_USE_NONE
  89. endchoice
  90. endmenu # Newlib