Correct Kconfigs according to the coding style
This commit is contained in:
@@ -1,26 +1,25 @@
|
||||
menu "Application manager"
|
||||
|
||||
config APP_COMPILE_TIME_DATE
|
||||
bool "Use time/date stamp for app"
|
||||
default y
|
||||
help
|
||||
If set, then the app will be built with the current time/date stamp. It is stored in the app description structure.
|
||||
If not set, time/date stamp will be excluded from app image.
|
||||
This can be useful for getting the same binary image files made from the same source,
|
||||
but at different times.
|
||||
config APP_COMPILE_TIME_DATE
|
||||
bool "Use time/date stamp for app"
|
||||
default y
|
||||
help
|
||||
If set, then the app will be built with the current time/date stamp. It is stored in the app description
|
||||
structure. If not set, time/date stamp will be excluded from app image. This can be useful for getting the
|
||||
same binary image files made from the same source, but at different times.
|
||||
|
||||
config APP_EXCLUDE_PROJECT_VER_VAR
|
||||
bool "Exclude PROJECT_VER from firmware image"
|
||||
default n
|
||||
help
|
||||
The PROJECT_VER variable from the build system will not affect the firmware image.
|
||||
This value will not be contained in the esp_app_desc structure.
|
||||
config APP_EXCLUDE_PROJECT_VER_VAR
|
||||
bool "Exclude PROJECT_VER from firmware image"
|
||||
default n
|
||||
help
|
||||
The PROJECT_VER variable from the build system will not affect the firmware image.
|
||||
This value will not be contained in the esp_app_desc structure.
|
||||
|
||||
config APP_EXCLUDE_PROJECT_NAME_VAR
|
||||
bool "Exclude PROJECT_NAME from firmware image"
|
||||
default n
|
||||
help
|
||||
The PROJECT_NAME variable from the build system will not affect the firmware image.
|
||||
This value will not be contained in the esp_app_desc structure.
|
||||
config APP_EXCLUDE_PROJECT_NAME_VAR
|
||||
bool "Exclude PROJECT_NAME from firmware image"
|
||||
default n
|
||||
help
|
||||
The PROJECT_NAME variable from the build system will not affect the firmware image.
|
||||
This value will not be contained in the esp_app_desc structure.
|
||||
|
||||
endmenu # "Application manager"
|
||||
endmenu # "Application manager"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
menuconfig AWS_IOT_SDK
|
||||
bool "Amazon Web Services IoT Platform"
|
||||
help
|
||||
Select this option to enable support for the AWS IoT platform,
|
||||
via the esp-idf component for the AWS IoT Device C SDK.
|
||||
Select this option to enable support for the AWS IoT platform,
|
||||
via the esp-idf component for the AWS IoT Device C SDK.
|
||||
|
||||
config AWS_IOT_MQTT_HOST
|
||||
string "AWS IoT Endpoint Hostname"
|
||||
@@ -86,74 +86,79 @@ config AWS_IOT_MQTT_MAX_RECONNECT_WAIT_INTERVAL
|
||||
menu "Thing Shadow"
|
||||
depends on AWS_IOT_SDK
|
||||
|
||||
config AWS_IOT_OVERRIDE_THING_SHADOW_RX_BUFFER
|
||||
bool "Override Shadow RX buffer size"
|
||||
depends on AWS_IOT_SDK
|
||||
default n
|
||||
help
|
||||
Allows setting a different Thing Shadow RX buffer
|
||||
size. This is the maximum size of a Thing Shadow
|
||||
message in bytes, plus one.
|
||||
config AWS_IOT_OVERRIDE_THING_SHADOW_RX_BUFFER
|
||||
bool "Override Shadow RX buffer size"
|
||||
depends on AWS_IOT_SDK
|
||||
default n
|
||||
help
|
||||
Allows setting a different Thing Shadow RX buffer
|
||||
size. This is the maximum size of a Thing Shadow
|
||||
message in bytes, plus one.
|
||||
|
||||
If not overridden, the default value is the MQTT RX Buffer length plus one. If overriden, do not set higher than the default value.
|
||||
If not overridden, the default value is the MQTT RX Buffer length plus one. If overriden, do not set
|
||||
higher than the default value.
|
||||
|
||||
config AWS_IOT_SHADOW_MAX_SIZE_OF_RX_BUFFER
|
||||
int "Maximum RX Buffer (bytes)"
|
||||
depends on AWS_IOT_OVERRIDE_THING_SHADOW_RX_BUFFER
|
||||
default 513
|
||||
range 32 65536
|
||||
help
|
||||
Allows setting a different Thing Shadow RX buffer size.
|
||||
This is the maximum size of a Thing Shadow message in bytes,
|
||||
plus one.
|
||||
config AWS_IOT_SHADOW_MAX_SIZE_OF_RX_BUFFER
|
||||
int "Maximum RX Buffer (bytes)"
|
||||
depends on AWS_IOT_OVERRIDE_THING_SHADOW_RX_BUFFER
|
||||
default 513
|
||||
range 32 65536
|
||||
help
|
||||
Allows setting a different Thing Shadow RX buffer size.
|
||||
This is the maximum size of a Thing Shadow message in bytes,
|
||||
plus one.
|
||||
|
||||
|
||||
config AWS_IOT_SHADOW_MAX_SIZE_OF_UNIQUE_CLIENT_ID_BYTES
|
||||
int "Maximum unique client ID size (bytes)"
|
||||
depends on AWS_IOT_SDK
|
||||
default 80
|
||||
range 4 1000
|
||||
help
|
||||
Maximum size of the Unique Client Id.
|
||||
config AWS_IOT_SHADOW_MAX_SIZE_OF_UNIQUE_CLIENT_ID_BYTES
|
||||
int "Maximum unique client ID size (bytes)"
|
||||
depends on AWS_IOT_SDK
|
||||
default 80
|
||||
range 4 1000
|
||||
help
|
||||
Maximum size of the Unique Client Id.
|
||||
|
||||
config AWS_IOT_SHADOW_MAX_SIMULTANEOUS_ACKS
|
||||
int "Maximum simultaneous responses"
|
||||
depends on AWS_IOT_SDK
|
||||
default 10
|
||||
range 1 100
|
||||
help
|
||||
At any given time we will wait for this many responses. This will correlate to the rate at which the shadow actions are requested
|
||||
config AWS_IOT_SHADOW_MAX_SIMULTANEOUS_ACKS
|
||||
int "Maximum simultaneous responses"
|
||||
depends on AWS_IOT_SDK
|
||||
default 10
|
||||
range 1 100
|
||||
help
|
||||
At any given time we will wait for this many responses. This will correlate to the rate at which the
|
||||
shadow actions are requested
|
||||
|
||||
config AWS_IOT_SHADOW_MAX_SIMULTANEOUS_THINGNAMES
|
||||
int "Maximum simultaneous Thing Name operations"
|
||||
depends on AWS_IOT_SDK
|
||||
default 10
|
||||
range 1 100
|
||||
help
|
||||
We could perform shadow action on any thing Name and this is maximum Thing Names we can act on at any given time
|
||||
config AWS_IOT_SHADOW_MAX_SIMULTANEOUS_THINGNAMES
|
||||
int "Maximum simultaneous Thing Name operations"
|
||||
depends on AWS_IOT_SDK
|
||||
default 10
|
||||
range 1 100
|
||||
help
|
||||
We could perform shadow action on any thing Name and this is maximum Thing Names we can act on at any
|
||||
given time
|
||||
|
||||
config AWS_IOT_SHADOW_MAX_JSON_TOKEN_EXPECTED
|
||||
int "Maximum expected JSON tokens"
|
||||
depends on AWS_IOT_SDK
|
||||
default 120
|
||||
help
|
||||
These are the max tokens that is expected to be in the Shadow JSON document. Includes the metadata which is published
|
||||
config AWS_IOT_SHADOW_MAX_JSON_TOKEN_EXPECTED
|
||||
int "Maximum expected JSON tokens"
|
||||
depends on AWS_IOT_SDK
|
||||
default 120
|
||||
help
|
||||
These are the max tokens that is expected to be in the Shadow JSON document. Includes the metadata which
|
||||
is published
|
||||
|
||||
config AWS_IOT_SHADOW_MAX_SHADOW_TOPIC_LENGTH_WITHOUT_THINGNAME
|
||||
int "Maximum topic length (not including Thing Name)"
|
||||
depends on AWS_IOT_SDK
|
||||
default 60
|
||||
range 10 1000
|
||||
help
|
||||
All shadow actions have to be published or subscribed to a topic which is of the format $aws/things/{thingName}/shadow/update/accepted. This refers to the size of the topic without the Thing Name
|
||||
config AWS_IOT_SHADOW_MAX_SHADOW_TOPIC_LENGTH_WITHOUT_THINGNAME
|
||||
int "Maximum topic length (not including Thing Name)"
|
||||
depends on AWS_IOT_SDK
|
||||
default 60
|
||||
range 10 1000
|
||||
help
|
||||
All shadow actions have to be published or subscribed to a topic which is of the format
|
||||
$aws/things/{thingName}/shadow/update/accepted. This refers to the size of the topic without the Thing
|
||||
Name
|
||||
|
||||
config AWS_IOT_SHADOW_MAX_SIZE_OF_THING_NAME
|
||||
int "Maximum Thing Name length"
|
||||
depends on AWS_IOT_SDK
|
||||
default 20
|
||||
range 4 1000
|
||||
help
|
||||
Maximum length of a Thing Name.
|
||||
config AWS_IOT_SHADOW_MAX_SIZE_OF_THING_NAME
|
||||
int "Maximum Thing Name length"
|
||||
depends on AWS_IOT_SDK
|
||||
default 20
|
||||
range 4 1000
|
||||
help
|
||||
Maximum length of a Thing Name.
|
||||
|
||||
endmenu # Thing Shadow
|
||||
|
||||
|
||||
@@ -1,441 +1,474 @@
|
||||
menu "Bootloader config"
|
||||
choice LOG_BOOTLOADER_LEVEL
|
||||
bool "Bootloader log verbosity"
|
||||
default LOG_BOOTLOADER_LEVEL_INFO
|
||||
help
|
||||
Specify how much output to see in bootloader logs.
|
||||
choice LOG_BOOTLOADER_LEVEL
|
||||
bool "Bootloader log verbosity"
|
||||
default LOG_BOOTLOADER_LEVEL_INFO
|
||||
help
|
||||
Specify how much output to see in bootloader logs.
|
||||
|
||||
config LOG_BOOTLOADER_LEVEL_NONE
|
||||
bool "No output"
|
||||
config LOG_BOOTLOADER_LEVEL_ERROR
|
||||
bool "Error"
|
||||
config LOG_BOOTLOADER_LEVEL_WARN
|
||||
bool "Warning"
|
||||
config LOG_BOOTLOADER_LEVEL_INFO
|
||||
bool "Info"
|
||||
config LOG_BOOTLOADER_LEVEL_DEBUG
|
||||
bool "Debug"
|
||||
config LOG_BOOTLOADER_LEVEL_VERBOSE
|
||||
bool "Verbose"
|
||||
endchoice
|
||||
config LOG_BOOTLOADER_LEVEL_NONE
|
||||
bool "No output"
|
||||
config LOG_BOOTLOADER_LEVEL_ERROR
|
||||
bool "Error"
|
||||
config LOG_BOOTLOADER_LEVEL_WARN
|
||||
bool "Warning"
|
||||
config LOG_BOOTLOADER_LEVEL_INFO
|
||||
bool "Info"
|
||||
config LOG_BOOTLOADER_LEVEL_DEBUG
|
||||
bool "Debug"
|
||||
config LOG_BOOTLOADER_LEVEL_VERBOSE
|
||||
bool "Verbose"
|
||||
endchoice
|
||||
|
||||
config LOG_BOOTLOADER_LEVEL
|
||||
int
|
||||
default 0 if LOG_BOOTLOADER_LEVEL_NONE
|
||||
default 1 if LOG_BOOTLOADER_LEVEL_ERROR
|
||||
default 2 if LOG_BOOTLOADER_LEVEL_WARN
|
||||
default 3 if LOG_BOOTLOADER_LEVEL_INFO
|
||||
default 4 if LOG_BOOTLOADER_LEVEL_DEBUG
|
||||
default 5 if LOG_BOOTLOADER_LEVEL_VERBOSE
|
||||
config LOG_BOOTLOADER_LEVEL
|
||||
int
|
||||
default 0 if LOG_BOOTLOADER_LEVEL_NONE
|
||||
default 1 if LOG_BOOTLOADER_LEVEL_ERROR
|
||||
default 2 if LOG_BOOTLOADER_LEVEL_WARN
|
||||
default 3 if LOG_BOOTLOADER_LEVEL_INFO
|
||||
default 4 if LOG_BOOTLOADER_LEVEL_DEBUG
|
||||
default 5 if LOG_BOOTLOADER_LEVEL_VERBOSE
|
||||
|
||||
config BOOTLOADER_SPI_WP_PIN
|
||||
int "SPI Flash WP Pin when customising pins via efuse (read help)"
|
||||
range 0 33
|
||||
default 7
|
||||
depends on FLASHMODE_QIO || FLASHMODE_QOUT
|
||||
help
|
||||
This value is ignored unless flash mode is set to QIO or QOUT *and* the SPI flash pins have been
|
||||
overriden by setting the efuses SPI_PAD_CONFIG_xxx.
|
||||
config BOOTLOADER_SPI_WP_PIN
|
||||
int "SPI Flash WP Pin when customising pins via eFuse (read help)"
|
||||
range 0 33
|
||||
default 7
|
||||
depends on FLASHMODE_QIO || FLASHMODE_QOUT
|
||||
help
|
||||
This value is ignored unless flash mode is set to QIO or QOUT *and* the SPI flash pins have been
|
||||
overriden by setting the eFuses SPI_PAD_CONFIG_xxx.
|
||||
|
||||
When this is the case, the Efuse config only defines 3 of the 4 Quad I/O data pins. The WP pin (aka ESP32
|
||||
pin "SD_DATA_3" or SPI flash pin "IO2") is not specified in Efuse. That pin number is compiled into the bootloader
|
||||
instead.
|
||||
When this is the case, the eFuse config only defines 3 of the 4 Quad I/O data pins. The WP pin (aka ESP32
|
||||
pin "SD_DATA_3" or SPI flash pin "IO2") is not specified in eFuse. That pin number is compiled into the
|
||||
bootloader instead.
|
||||
|
||||
The default value (GPIO 7) is correct for WP pin on ESP32-D2WD integrated flash.
|
||||
The default value (GPIO 7) is correct for WP pin on ESP32-D2WD integrated flash.
|
||||
|
||||
choice BOOTLOADER_VDDSDIO_BOOST
|
||||
bool "VDDSDIO LDO voltage"
|
||||
default BOOTLOADER_VDDSDIO_BOOST_1_9V
|
||||
help
|
||||
If this option is enabled, and VDDSDIO LDO is set to 1.8V (using EFUSE
|
||||
or MTDI bootstrapping pin), bootloader will change LDO settings to
|
||||
output 1.9V instead. This helps prevent flash chip from browning out
|
||||
during flash programming operations.
|
||||
choice BOOTLOADER_VDDSDIO_BOOST
|
||||
bool "VDDSDIO LDO voltage"
|
||||
default BOOTLOADER_VDDSDIO_BOOST_1_9V
|
||||
help
|
||||
If this option is enabled, and VDDSDIO LDO is set to 1.8V (using eFuse
|
||||
or MTDI bootstrapping pin), bootloader will change LDO settings to
|
||||
output 1.9V instead. This helps prevent flash chip from browning out
|
||||
during flash programming operations.
|
||||
|
||||
This option has no effect if VDDSDIO is set to 3.3V, or if the internal
|
||||
VDDSDIO regulator is disabled via efuse.
|
||||
This option has no effect if VDDSDIO is set to 3.3V, or if the internal
|
||||
VDDSDIO regulator is disabled via eFuse.
|
||||
|
||||
config BOOTLOADER_VDDSDIO_BOOST_1_8V
|
||||
bool "1.8V"
|
||||
depends on !ESPTOOLPY_FLASHFREQ_80M
|
||||
config BOOTLOADER_VDDSDIO_BOOST_1_9V
|
||||
bool "1.9V"
|
||||
endchoice
|
||||
config BOOTLOADER_VDDSDIO_BOOST_1_8V
|
||||
bool "1.8V"
|
||||
depends on !ESPTOOLPY_FLASHFREQ_80M
|
||||
config BOOTLOADER_VDDSDIO_BOOST_1_9V
|
||||
bool "1.9V"
|
||||
endchoice
|
||||
|
||||
config BOOTLOADER_FACTORY_RESET
|
||||
bool "GPIO triggers factory reset"
|
||||
default N
|
||||
help
|
||||
Allows to reset the device to factory settings:
|
||||
- clear one or more data partitions;
|
||||
- boot from "factory" partition.
|
||||
The factory reset will occur if there is a GPIO input pulled low while device starts up.
|
||||
See settings below.
|
||||
config BOOTLOADER_FACTORY_RESET
|
||||
bool "GPIO triggers factory reset"
|
||||
default N
|
||||
help
|
||||
Allows to reset the device to factory settings:
|
||||
- clear one or more data partitions;
|
||||
- boot from "factory" partition.
|
||||
The factory reset will occur if there is a GPIO input pulled low while device starts up.
|
||||
See settings below.
|
||||
|
||||
config BOOTLOADER_NUM_PIN_FACTORY_RESET
|
||||
int "Number of the GPIO input for factory reset"
|
||||
depends on BOOTLOADER_FACTORY_RESET
|
||||
range 0 39
|
||||
default 4
|
||||
help
|
||||
The selected GPIO will be configured as an input with internal pull-up enabled.
|
||||
To trigger a factory reset, this GPIO must be pulled low on reset.
|
||||
Note that GPIO34-39 do not have an internal pullup and an external one must be provided.
|
||||
config BOOTLOADER_NUM_PIN_FACTORY_RESET
|
||||
int "Number of the GPIO input for factory reset"
|
||||
depends on BOOTLOADER_FACTORY_RESET
|
||||
range 0 39
|
||||
default 4
|
||||
help
|
||||
The selected GPIO will be configured as an input with internal pull-up enabled.
|
||||
To trigger a factory reset, this GPIO must be pulled low on reset.
|
||||
Note that GPIO34-39 do not have an internal pullup and an external one must be provided.
|
||||
|
||||
config BOOTLOADER_OTA_DATA_ERASE
|
||||
bool "Clear OTA data on factory reset (select factory partition)"
|
||||
depends on BOOTLOADER_FACTORY_RESET
|
||||
help
|
||||
The device will boot from "factory" partition (or OTA slot 0 if no factory partition is present) after a factory reset.
|
||||
config BOOTLOADER_OTA_DATA_ERASE
|
||||
bool "Clear OTA data on factory reset (select factory partition)"
|
||||
depends on BOOTLOADER_FACTORY_RESET
|
||||
help
|
||||
The device will boot from "factory" partition (or OTA slot 0 if no factory partition is present) after a
|
||||
factory reset.
|
||||
|
||||
config BOOTLOADER_DATA_FACTORY_RESET
|
||||
string "Comma-separated names of partitions to clear on factory reset"
|
||||
depends on BOOTLOADER_FACTORY_RESET
|
||||
default "nvs"
|
||||
help
|
||||
Allows customers to select which data partitions will be erased while factory reset.
|
||||
|
||||
Specify the names of partitions as a comma-delimited with optional spaces for readability. (Like this: "nvs, phy_init, ...")
|
||||
Make sure that the name specified in the partition table and here are the same.
|
||||
Partitions of type "app" cannot be specified here.
|
||||
config BOOTLOADER_DATA_FACTORY_RESET
|
||||
string "Comma-separated names of partitions to clear on factory reset"
|
||||
depends on BOOTLOADER_FACTORY_RESET
|
||||
default "nvs"
|
||||
help
|
||||
Allows customers to select which data partitions will be erased while factory reset.
|
||||
|
||||
config BOOTLOADER_APP_TEST
|
||||
bool "GPIO triggers boot from test app partition"
|
||||
default N
|
||||
help
|
||||
Allows to run the test app from "TEST" partition.
|
||||
A boot from "test" partition will occur if there is a GPIO input pulled low while device starts up.
|
||||
See settings below.
|
||||
Specify the names of partitions as a comma-delimited with optional spaces for readability. (Like this:
|
||||
"nvs, phy_init, ...")
|
||||
Make sure that the name specified in the partition table and here are the same.
|
||||
Partitions of type "app" cannot be specified here.
|
||||
|
||||
config BOOTLOADER_NUM_PIN_APP_TEST
|
||||
int "Number of the GPIO input to boot TEST partition"
|
||||
depends on BOOTLOADER_APP_TEST
|
||||
range 0 39
|
||||
default 18
|
||||
help
|
||||
The selected GPIO will be configured as an input with internal pull-up enabled.
|
||||
To trigger a test app, this GPIO must be pulled low on reset.
|
||||
After the GPIO input is deactivated and the device reboots, the old application will boot.
|
||||
(factory or OTA[x]).
|
||||
Note that GPIO34-39 do not have an internal pullup and an external one must be provided.
|
||||
config BOOTLOADER_APP_TEST
|
||||
bool "GPIO triggers boot from test app partition"
|
||||
default N
|
||||
help
|
||||
Allows to run the test app from "TEST" partition.
|
||||
A boot from "test" partition will occur if there is a GPIO input pulled low while device starts up.
|
||||
See settings below.
|
||||
|
||||
config BOOTLOADER_HOLD_TIME_GPIO
|
||||
int "Hold time of GPIO for reset/test mode (seconds)"
|
||||
depends on BOOTLOADER_FACTORY_RESET || BOOTLOADER_APP_TEST
|
||||
default 5
|
||||
help
|
||||
The GPIO must be held low continuously for this period of time after reset
|
||||
before a factory reset or test partition boot (as applicable) is performed.
|
||||
config BOOTLOADER_NUM_PIN_APP_TEST
|
||||
int "Number of the GPIO input to boot TEST partition"
|
||||
depends on BOOTLOADER_APP_TEST
|
||||
range 0 39
|
||||
default 18
|
||||
help
|
||||
The selected GPIO will be configured as an input with internal pull-up enabled.
|
||||
To trigger a test app, this GPIO must be pulled low on reset.
|
||||
After the GPIO input is deactivated and the device reboots, the old application will boot.
|
||||
(factory or OTA[x]).
|
||||
Note that GPIO34-39 do not have an internal pullup and an external one must be provided.
|
||||
|
||||
config BOOTLOADER_WDT_ENABLE
|
||||
bool "Use RTC watchdog in start code"
|
||||
default y
|
||||
help
|
||||
Tracks the execution time of startup code.
|
||||
If the execution time is exceeded, the RTC_WDT will restart system.
|
||||
It is also useful to prevent a lock up in start code caused by an unstable power source.
|
||||
NOTE: Tracks the execution time starts from the bootloader code - re-set timeout, while selecting the source for slow_clk - and ends calling app_main.
|
||||
Re-set timeout is needed due to WDT uses a SLOW_CLK clock source. After changing a frequency slow_clk a time of WDT needs to re-set for new frequency.
|
||||
slow_clk depends on ESP32_RTC_CLOCK_SOURCE (INTERNAL_RC or EXTERNAL_CRYSTAL).
|
||||
config BOOTLOADER_HOLD_TIME_GPIO
|
||||
int "Hold time of GPIO for reset/test mode (seconds)"
|
||||
depends on BOOTLOADER_FACTORY_RESET || BOOTLOADER_APP_TEST
|
||||
default 5
|
||||
help
|
||||
The GPIO must be held low continuously for this period of time after reset
|
||||
before a factory reset or test partition boot (as applicable) is performed.
|
||||
|
||||
config BOOTLOADER_WDT_DISABLE_IN_USER_CODE
|
||||
bool "Allows RTC watchdog disable in user code"
|
||||
depends on BOOTLOADER_WDT_ENABLE
|
||||
default n
|
||||
help
|
||||
If it is set, the client must itself reset or disable rtc_wdt in their code (app_main()).
|
||||
Otherwise rtc_wdt will be disabled before calling app_main function.
|
||||
Use function rtc_wdt_feed() for resetting counter of rtc_wdt.
|
||||
Use function rtc_wdt_disable() for disabling rtc_wdt.
|
||||
config BOOTLOADER_WDT_ENABLE
|
||||
bool "Use RTC watchdog in start code"
|
||||
default y
|
||||
help
|
||||
Tracks the execution time of startup code.
|
||||
If the execution time is exceeded, the RTC_WDT will restart system.
|
||||
It is also useful to prevent a lock up in start code caused by an unstable power source.
|
||||
NOTE: Tracks the execution time starts from the bootloader code - re-set timeout, while selecting the
|
||||
source for slow_clk - and ends calling app_main.
|
||||
Re-set timeout is needed due to WDT uses a SLOW_CLK clock source. After changing a frequency slow_clk a
|
||||
time of WDT needs to re-set for new frequency.
|
||||
slow_clk depends on ESP32_RTC_CLOCK_SOURCE (INTERNAL_RC or EXTERNAL_CRYSTAL).
|
||||
|
||||
config BOOTLOADER_WDT_TIME_MS
|
||||
int "Timeout for RTC watchdog (ms)"
|
||||
depends on BOOTLOADER_WDT_ENABLE
|
||||
default 9000
|
||||
range 0 120000
|
||||
help
|
||||
Verify that this parameter is correct and more then the execution time.
|
||||
Pay attention to options such as reset to factory, trigger test partition and encryption on boot
|
||||
- these options can increase the execution time.
|
||||
Note: RTC_WDT will reset while encryption operations will be performed.
|
||||
config BOOTLOADER_WDT_DISABLE_IN_USER_CODE
|
||||
bool "Allows RTC watchdog disable in user code"
|
||||
depends on BOOTLOADER_WDT_ENABLE
|
||||
default n
|
||||
help
|
||||
If it is set, the client must itself reset or disable rtc_wdt in their code (app_main()).
|
||||
Otherwise rtc_wdt will be disabled before calling app_main function.
|
||||
Use function rtc_wdt_feed() for resetting counter of rtc_wdt.
|
||||
Use function rtc_wdt_disable() for disabling rtc_wdt.
|
||||
|
||||
config APP_ROLLBACK_ENABLE
|
||||
bool "Enable app rollback support"
|
||||
default n
|
||||
help
|
||||
After updating the app, the bootloader runs a new app with the "ESP_OTA_IMG_PENDING_VERIFY" state set.
|
||||
This state prevents the re-run of this app.
|
||||
After the first boot of the new app in the user code, the function should be called to confirm
|
||||
the operability of the app or vice versa about its non-operability. If the app is working,
|
||||
then it is marked as valid. Otherwise, it is marked as not valid and rolls back to the previous working app.
|
||||
A reboot is performed, and the app is booted before the software update.
|
||||
Note: If during the first boot a new app the power goes out or the WDT works, then roll back will happen.
|
||||
config BOOTLOADER_WDT_TIME_MS
|
||||
int "Timeout for RTC watchdog (ms)"
|
||||
depends on BOOTLOADER_WDT_ENABLE
|
||||
default 9000
|
||||
range 0 120000
|
||||
help
|
||||
Verify that this parameter is correct and more then the execution time.
|
||||
Pay attention to options such as reset to factory, trigger test partition and encryption on boot
|
||||
- these options can increase the execution time.
|
||||
Note: RTC_WDT will reset while encryption operations will be performed.
|
||||
|
||||
config APP_ROLLBACK_ENABLE
|
||||
bool "Enable app rollback support"
|
||||
default n
|
||||
help
|
||||
After updating the app, the bootloader runs a new app with the "ESP_OTA_IMG_PENDING_VERIFY" state set.
|
||||
This state prevents the re-run of this app. After the first boot of the new app in the user code, the
|
||||
function should be called to confirm the operability of the app or vice versa about its non-operability.
|
||||
If the app is working, then it is marked as valid. Otherwise, it is marked as not valid and rolls back to
|
||||
the previous working app. A reboot is performed, and the app is booted before the software update.
|
||||
Note: If during the first boot a new app the power goes out or the WDT works, then roll back will happen.
|
||||
|
||||
endmenu # Bootloader
|
||||
|
||||
|
||||
menu "Security features"
|
||||
|
||||
# These three are the actual options to check in code,
|
||||
# selected by the displayed options
|
||||
config SECURE_SIGNED_ON_BOOT
|
||||
bool
|
||||
default y
|
||||
depends on SECURE_BOOT_ENABLED || SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT
|
||||
# These three are the actual options to check in code,
|
||||
# selected by the displayed options
|
||||
config SECURE_SIGNED_ON_BOOT
|
||||
bool
|
||||
default y
|
||||
depends on SECURE_BOOT_ENABLED || SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT
|
||||
|
||||
config SECURE_SIGNED_ON_UPDATE
|
||||
bool
|
||||
default y
|
||||
depends on SECURE_BOOT_ENABLED || SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
|
||||
|
||||
config SECURE_SIGNED_APPS
|
||||
bool
|
||||
default y
|
||||
depends on SECURE_SIGNED_ON_BOOT || SECURE_SIGNED_ON_UPDATE
|
||||
|
||||
|
||||
config SECURE_SIGNED_APPS_NO_SECURE_BOOT
|
||||
bool "Require signed app images"
|
||||
default n
|
||||
depends on !SECURE_BOOT_ENABLED
|
||||
help
|
||||
Require apps to be signed to verify their integrity.
|
||||
|
||||
This option uses the same app signature scheme as hardware secure boot, but unlike hardware secure boot it
|
||||
does not prevent the bootloader from being physically updated. This means that the device can be secured
|
||||
against remote network access, but not physical access. Compared to using hardware Secure Boot this option
|
||||
is much simpler to implement.
|
||||
|
||||
config SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT
|
||||
bool "Bootloader verifies app signatures"
|
||||
default n
|
||||
depends on SECURE_SIGNED_APPS_NO_SECURE_BOOT
|
||||
help
|
||||
If this option is set, the bootloader will be compiled with code to verify that an app is signed before
|
||||
booting it.
|
||||
|
||||
If hardware secure boot is enabled, this option is always enabled and cannot be disabled.
|
||||
If hardware secure boot is not enabled, this option doesn't add significant security by itself so most
|
||||
users will want to leave it disabled.
|
||||
|
||||
config SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
|
||||
bool "Verify app signature on update"
|
||||
default y
|
||||
depends on SECURE_SIGNED_APPS_NO_SECURE_BOOT
|
||||
help
|
||||
If this option is set, any OTA updated apps will have the signature verified before being considered valid.
|
||||
|
||||
When enabled, the signature is automatically checked whenever the esp_ota_ops.h APIs are used for OTA
|
||||
updates, or esp_image_format.h APIs are used to verify apps.
|
||||
|
||||
If hardware secure boot is enabled, this option is always enabled and cannot be disabled.
|
||||
If hardware secure boot is not enabled, this option still adds significant security against network-based
|
||||
attackers by preventing spoofing of OTA updates.
|
||||
|
||||
config SECURE_BOOT_ENABLED
|
||||
bool "Enable hardware secure boot in bootloader (READ DOCS FIRST)"
|
||||
default n
|
||||
help
|
||||
Build a bootloader which enables secure boot on first boot.
|
||||
|
||||
Once enabled, secure boot will not boot a modified bootloader. The bootloader will only load a partition
|
||||
table or boot an app if the data has a verified digital signature. There are implications for reflashing
|
||||
updated apps once secure boot is enabled.
|
||||
|
||||
When enabling secure boot, JTAG and ROM BASIC Interpreter are permanently disabled by default.
|
||||
|
||||
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
|
||||
|
||||
choice SECURE_BOOTLOADER_MODE
|
||||
bool "Secure bootloader mode"
|
||||
depends on SECURE_BOOT_ENABLED
|
||||
default SECURE_BOOTLOADER_ONE_TIME_FLASH
|
||||
|
||||
config SECURE_SIGNED_ON_UPDATE
|
||||
bool
|
||||
default y
|
||||
depends on SECURE_BOOT_ENABLED || SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
|
||||
config SECURE_BOOTLOADER_ONE_TIME_FLASH
|
||||
bool "One-time flash"
|
||||
help
|
||||
On first boot, the bootloader will generate a key which is not readable externally or by software. A
|
||||
digest is generated from the bootloader image itself. This digest will be verified on each subsequent
|
||||
boot.
|
||||
|
||||
Enabling this option means that the bootloader cannot be changed after the first time it is booted.
|
||||
|
||||
config SECURE_BOOTLOADER_REFLASHABLE
|
||||
bool "Reflashable"
|
||||
help
|
||||
Generate a reusable secure bootloader key, derived (via SHA-256) from the secure boot signing key.
|
||||
|
||||
This allows the secure bootloader to be re-flashed by anyone with access to the secure boot signing
|
||||
key.
|
||||
|
||||
This option is less secure than one-time flash, because a leak of the digest key from one device
|
||||
allows reflashing of any device that uses it.
|
||||
|
||||
endchoice
|
||||
|
||||
config SECURE_BOOT_BUILD_SIGNED_BINARIES
|
||||
bool "Sign binaries during build"
|
||||
depends on SECURE_SIGNED_APPS
|
||||
default y
|
||||
help
|
||||
Once secure boot or signed app requirement is enabled, app images are required to be signed.
|
||||
|
||||
config SECURE_SIGNED_APPS
|
||||
bool
|
||||
default y
|
||||
depends on SECURE_SIGNED_ON_BOOT || SECURE_SIGNED_ON_UPDATE
|
||||
If enabled (default), these binary files are signed as part of the build process. The file named in
|
||||
"Secure boot private signing key" will be used to sign the image.
|
||||
|
||||
If disabled, unsigned app/partition data will be built. They must be signed manually using espsecure.py
|
||||
(for example, on a remote signing server.)
|
||||
|
||||
config SECURE_SIGNED_APPS_NO_SECURE_BOOT
|
||||
bool "Require signed app images"
|
||||
default n
|
||||
depends on !SECURE_BOOT_ENABLED
|
||||
help
|
||||
Require apps to be signed to verify their integrity.
|
||||
config SECURE_BOOT_SIGNING_KEY
|
||||
string "Secure boot private signing key"
|
||||
depends on SECURE_BOOT_BUILD_SIGNED_BINARIES
|
||||
default secure_boot_signing_key.pem
|
||||
help
|
||||
Path to the key file used to sign app images.
|
||||
|
||||
This option uses the same app signature scheme as hardware secure boot, but unlike hardware secure boot it does not prevent the bootloader from being physically updated. This means that the device can be secured against remote network access, but not physical access. Compared to using hardware Secure Boot this option is much simpler to implement.
|
||||
Key file is an ECDSA private key (NIST256p curve) in PEM format.
|
||||
|
||||
Path is evaluated relative to the project directory.
|
||||
|
||||
You can generate a new signing key by running the following command:
|
||||
espsecure.py generate_signing_key secure_boot_signing_key.pem
|
||||
|
||||
config SECURE_SIGNED_ON_BOOT_NO_SECURE_BOOT
|
||||
bool "Bootloader verifies app signatures"
|
||||
default n
|
||||
depends on SECURE_SIGNED_APPS_NO_SECURE_BOOT
|
||||
help
|
||||
If this option is set, the bootloader will be compiled with code to verify that an app is signed before booting it.
|
||||
See https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html for details.
|
||||
|
||||
config SECURE_BOOT_VERIFICATION_KEY
|
||||
string "Secure boot public signature verification key"
|
||||
depends on SECURE_SIGNED_APPS && !SECURE_BOOT_BUILD_SIGNED_BINARIES
|
||||
default signature_verification_key.bin
|
||||
help
|
||||
Path to a public key file used to verify signed images. This key is compiled into the bootloader and/or
|
||||
app, to verify app images.
|
||||
|
||||
If hardware secure boot is enabled, this option is always enabled and cannot be disabled.
|
||||
If hardware secure boot is not enabled, this option doesn't add significant security by itself so most users will want to leave it disabled.
|
||||
Key file is in raw binary format, and can be extracted from a
|
||||
PEM formatted private key using the espsecure.py
|
||||
extract_public_key command.
|
||||
|
||||
config SECURE_SIGNED_ON_UPDATE_NO_SECURE_BOOT
|
||||
bool "Verify app signature on update"
|
||||
default y
|
||||
depends on SECURE_SIGNED_APPS_NO_SECURE_BOOT
|
||||
help
|
||||
If this option is set, any OTA updated apps will have the signature verified before being considered valid.
|
||||
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
|
||||
|
||||
When enabled, the signature is automatically checked whenever the esp_ota_ops.h APIs are used for OTA updates,
|
||||
or esp_image_format.h APIs are used to verify apps.
|
||||
choice SECURE_BOOTLOADER_KEY_ENCODING
|
||||
bool "Hardware Key Encoding"
|
||||
depends on SECURE_BOOTLOADER_REFLASHABLE
|
||||
default SECURE_BOOTLOADER_NO_ENCODING
|
||||
help
|
||||
|
||||
If hardware secure boot is enabled, this option is always enabled and cannot be disabled.
|
||||
If hardware secure boot is not enabled, this option still adds significant security against network-based attackers by preventing spoofing of OTA updates.
|
||||
In reflashable secure bootloader mode, a hardware key is derived from the signing key (with SHA-256) and
|
||||
can be written to eFuse with espefuse.py.
|
||||
|
||||
config SECURE_BOOT_ENABLED
|
||||
bool "Enable hardware secure boot in bootloader (READ DOCS FIRST)"
|
||||
default n
|
||||
help
|
||||
Build a bootloader which enables secure boot on first boot.
|
||||
Normally this is a 256-bit key, but if 3/4 Coding Scheme is used on the device then the eFuse key is
|
||||
truncated to 192 bits.
|
||||
|
||||
Once enabled, secure boot will not boot a modified bootloader. The bootloader will only load a partition table or boot an app if the data has a verified digital signature. There are implications for reflashing updated apps once secure boot is enabled.
|
||||
This configuration item doesn't change any firmware code, it only changes the size of key binary which is
|
||||
generated at build time.
|
||||
|
||||
config SECURE_BOOTLOADER_KEY_ENCODING_256BIT
|
||||
bool "No encoding (256 bit key)"
|
||||
|
||||
config SECURE_BOOTLOADER_KEY_ENCODING_192BIT
|
||||
bool "3/4 encoding (192 bit key)"
|
||||
|
||||
When enabling secure boot, JTAG and ROM BASIC Interpreter are permanently disabled by default.
|
||||
|
||||
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
|
||||
|
||||
choice SECURE_BOOTLOADER_MODE
|
||||
bool "Secure bootloader mode"
|
||||
depends on SECURE_BOOT_ENABLED
|
||||
default SECURE_BOOTLOADER_ONE_TIME_FLASH
|
||||
|
||||
config SECURE_BOOTLOADER_ONE_TIME_FLASH
|
||||
bool "One-time flash"
|
||||
help
|
||||
On first boot, the bootloader will generate a key which is not readable externally or by software. A digest is generated from the bootloader image itself. This digest will be verified on each subsequent boot.
|
||||
|
||||
Enabling this option means that the bootloader cannot be changed after the first time it is booted.
|
||||
|
||||
config SECURE_BOOTLOADER_REFLASHABLE
|
||||
bool "Reflashable"
|
||||
help
|
||||
Generate a reusable secure bootloader key, derived (via SHA-256) from the secure boot signing key.
|
||||
|
||||
This allows the secure bootloader to be re-flashed by anyone with access to the secure boot signing key.
|
||||
|
||||
This option is less secure than one-time flash, because a leak of the digest key from one device allows reflashing of any device that uses it.
|
||||
|
||||
endchoice
|
||||
|
||||
config SECURE_BOOT_BUILD_SIGNED_BINARIES
|
||||
bool "Sign binaries during build"
|
||||
depends on SECURE_SIGNED_APPS
|
||||
default y
|
||||
help
|
||||
Once secure boot or signed app requirement is enabled, app images are required to be signed.
|
||||
|
||||
If enabled (default), these binary files are signed as part of the build process. The file named in "Secure boot private signing key" will be used to sign the image.
|
||||
|
||||
If disabled, unsigned app/partition data will be built. They must be signed manually using espsecure.py (for example, on a remote signing server.)
|
||||
|
||||
config SECURE_BOOT_SIGNING_KEY
|
||||
string "Secure boot private signing key"
|
||||
depends on SECURE_BOOT_BUILD_SIGNED_BINARIES
|
||||
default secure_boot_signing_key.pem
|
||||
help
|
||||
Path to the key file used to sign app images.
|
||||
|
||||
Key file is an ECDSA private key (NIST256p curve) in PEM format.
|
||||
|
||||
Path is evaluated relative to the project directory.
|
||||
|
||||
You can generate a new signing key by running the following command:
|
||||
espsecure.py generate_signing_key secure_boot_signing_key.pem
|
||||
|
||||
See docs/security/secure-boot.rst for details.
|
||||
|
||||
config SECURE_BOOT_VERIFICATION_KEY
|
||||
string "Secure boot public signature verification key"
|
||||
depends on SECURE_SIGNED_APPS && !SECURE_BOOT_BUILD_SIGNED_BINARIES
|
||||
default signature_verification_key.bin
|
||||
help
|
||||
Path to a public key file used to verify signed images. This key is compiled into the bootloader and/or app,
|
||||
to verify app images.
|
||||
|
||||
Key file is in raw binary format, and can be extracted from a
|
||||
PEM formatted private key using the espsecure.py
|
||||
extract_public_key command.
|
||||
|
||||
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
|
||||
|
||||
choice SECURE_BOOTLOADER_KEY_ENCODING
|
||||
bool "Hardware Key Encoding"
|
||||
depends on SECURE_BOOTLOADER_REFLASHABLE
|
||||
default SECURE_BOOTLOADER_NO_ENCODING
|
||||
help
|
||||
|
||||
In reflashable secure bootloader mode, a hardware key is derived from the signing key (with SHA-256) and can be written to efuse
|
||||
with espefuse.py.
|
||||
|
||||
Normally this is a 256-bit key, but if 3/4 Coding Scheme is used on the device then the efuse key is truncated to 192 bits.
|
||||
|
||||
This configuration item doesn't change any firmware code, it only changes the size of key binary which is generated at build time.
|
||||
|
||||
config SECURE_BOOTLOADER_KEY_ENCODING_256BIT
|
||||
bool "No encoding (256 bit key)"
|
||||
|
||||
config SECURE_BOOTLOADER_KEY_ENCODING_192BIT
|
||||
bool "3/4 encoding (192 bit key)"
|
||||
|
||||
endchoice
|
||||
|
||||
config SECURE_BOOT_INSECURE
|
||||
bool "Allow potentially insecure options"
|
||||
depends on SECURE_BOOT_ENABLED
|
||||
default N
|
||||
help
|
||||
You can disable some of the default protections offered by secure boot, in order to enable testing or a custom combination of security features.
|
||||
|
||||
Only enable these options if you are very sure.
|
||||
|
||||
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
|
||||
|
||||
config FLASH_ENCRYPTION_ENABLED
|
||||
bool "Enable flash encryption on boot (READ DOCS FIRST)"
|
||||
default N
|
||||
help
|
||||
If this option is set, flash contents will be encrypted by the bootloader on first boot.
|
||||
|
||||
Note: After first boot, the system will be permanently encrypted. Re-flashing an encrypted
|
||||
system is complicated and not always possible.
|
||||
|
||||
Read https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html before enabling.
|
||||
|
||||
config FLASH_ENCRYPTION_INSECURE
|
||||
bool "Allow potentially insecure options"
|
||||
depends on FLASH_ENCRYPTION_ENABLED
|
||||
default N
|
||||
help
|
||||
You can disable some of the default protections offered by flash encryption, in order to enable testing or a custom combination of security features.
|
||||
|
||||
Only enable these options if you are very sure.
|
||||
|
||||
Refer to docs/security/secure-boot.rst and docs/security/flash-encryption.rst for details.
|
||||
|
||||
menu "Potentially insecure options"
|
||||
visible if FLASH_ENCRYPTION_INSECURE || SECURE_BOOT_INSECURE
|
||||
|
||||
# NOTE: Options in this menu NEED to have SECURE_BOOT_INSECURE
|
||||
# and/or FLASH_ENCRYPTION_INSECURE in "depends on", as the menu
|
||||
# itself doesn't enable/disable its children (if it's not set,
|
||||
# it's possible for the insecure menu to be disabled but the insecure option
|
||||
# to remain on which is very bad.)
|
||||
|
||||
config SECURE_BOOT_ALLOW_ROM_BASIC
|
||||
bool "Leave ROM BASIC Interpreter available on reset"
|
||||
depends on SECURE_BOOT_INSECURE || FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
By default, the BASIC ROM Console starts on reset if no valid bootloader is
|
||||
read from the flash.
|
||||
|
||||
When either flash encryption or secure boot are enabled, the default is to
|
||||
disable this BASIC fallback mode permanently via efuse.
|
||||
|
||||
If this option is set, this efuse is not burned and the BASIC ROM Console may
|
||||
remain accessible. Only set this option in testing environments.
|
||||
|
||||
config SECURE_BOOT_ALLOW_JTAG
|
||||
bool "Allow JTAG Debugging"
|
||||
depends on SECURE_BOOT_INSECURE || FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
If not set (default), the bootloader will permanently disable JTAG (across entire chip) on first boot when either secure boot or flash encryption is enabled.
|
||||
|
||||
Setting this option leaves JTAG on for debugging, which negates all protections of flash encryption and some of the protections of secure boot.
|
||||
|
||||
Only set this option in testing environments.
|
||||
|
||||
config SECURE_BOOT_ALLOW_SHORT_APP_PARTITION
|
||||
bool "Allow app partition length not 64KB aligned"
|
||||
depends on SECURE_BOOT_INSECURE
|
||||
help
|
||||
If not set (default), app partition size must be a multiple of 64KB. App images are padded to 64KB length, and the bootloader checks any trailing bytes after the signature (before the next 64KB boundary) have not been written. This is because flash cache maps entire 64KB pages into the address space. This prevents an attacker from appending unverified data after the app image in the flash, causing it to be mapped into the address space.
|
||||
|
||||
Setting this option allows the app partition length to be unaligned, and disables padding of the app image to this length. It is generally not recommended to set this option, unless you have a legacy partitioning scheme which doesn't support 64KB aligned partition lengths.
|
||||
|
||||
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_ENCRYPT
|
||||
bool "Leave UART bootloader encryption enabled"
|
||||
depends on FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
If not set (default), the bootloader will permanently disable UART bootloader encryption access on first boot. If set, the UART bootloader will still be able to access hardware encryption.
|
||||
|
||||
It is recommended to only set this option in testing environments.
|
||||
|
||||
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_DECRYPT
|
||||
bool "Leave UART bootloader decryption enabled"
|
||||
depends on FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
If not set (default), the bootloader will permanently disable UART bootloader decryption access on first boot. If set, the UART bootloader will still be able to access hardware decryption.
|
||||
|
||||
Only set this option in testing environments. Setting this option allows complete bypass of flash encryption.
|
||||
|
||||
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_CACHE
|
||||
bool "Leave UART bootloader flash cache enabled"
|
||||
depends on FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
If not set (default), the bootloader will permanently disable UART bootloader flash cache access on first boot. If set, the UART bootloader will still be able to access the flash cache.
|
||||
|
||||
Only set this option in testing environments.
|
||||
|
||||
config SECURE_BOOT_TEST_MODE
|
||||
bool "Secure boot test mode: don't permanently set any efuses"
|
||||
depends on SECURE_BOOT_INSECURE
|
||||
default N
|
||||
help
|
||||
If this option is set, all permanent secure boot changes (via Efuse) are disabled.
|
||||
|
||||
Log output will state changes which would be applied, but they will not be.
|
||||
|
||||
This option is for testing purposes only - it completely disables secure boot protection.
|
||||
|
||||
|
||||
endmenu # Potentially Insecure
|
||||
endchoice
|
||||
|
||||
config SECURE_BOOT_INSECURE
|
||||
bool "Allow potentially insecure options"
|
||||
depends on SECURE_BOOT_ENABLED
|
||||
default N
|
||||
help
|
||||
You can disable some of the default protections offered by secure boot, in order to enable testing or a
|
||||
custom combination of security features.
|
||||
|
||||
Only enable these options if you are very sure.
|
||||
|
||||
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html before enabling.
|
||||
|
||||
config FLASH_ENCRYPTION_ENABLED
|
||||
bool "Enable flash encryption on boot (READ DOCS FIRST)"
|
||||
default N
|
||||
help
|
||||
If this option is set, flash contents will be encrypted by the bootloader on first boot.
|
||||
|
||||
Note: After first boot, the system will be permanently encrypted. Re-flashing an encrypted
|
||||
system is complicated and not always possible.
|
||||
|
||||
Read https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html before enabling.
|
||||
|
||||
config FLASH_ENCRYPTION_INSECURE
|
||||
bool "Allow potentially insecure options"
|
||||
depends on FLASH_ENCRYPTION_ENABLED
|
||||
default N
|
||||
help
|
||||
You can disable some of the default protections offered by flash encryption, in order to enable testing or
|
||||
a custom combination of security features.
|
||||
|
||||
Only enable these options if you are very sure.
|
||||
|
||||
Refer to https://docs.espressif.com/projects/esp-idf/en/latest/security/secure-boot.html and
|
||||
https://docs.espressif.com/projects/esp-idf/en/latest/security/flash-encryption.html for details.
|
||||
|
||||
menu "Potentially insecure options"
|
||||
visible if FLASH_ENCRYPTION_INSECURE || SECURE_BOOT_INSECURE
|
||||
|
||||
# NOTE: Options in this menu NEED to have SECURE_BOOT_INSECURE
|
||||
# and/or FLASH_ENCRYPTION_INSECURE in "depends on", as the menu
|
||||
# itself doesn't enable/disable its children (if it's not set,
|
||||
# it's possible for the insecure menu to be disabled but the insecure option
|
||||
# to remain on which is very bad.)
|
||||
|
||||
config SECURE_BOOT_ALLOW_ROM_BASIC
|
||||
bool "Leave ROM BASIC Interpreter available on reset"
|
||||
depends on SECURE_BOOT_INSECURE || FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
By default, the BASIC ROM Console starts on reset if no valid bootloader is
|
||||
read from the flash.
|
||||
|
||||
When either flash encryption or secure boot are enabled, the default is to
|
||||
disable this BASIC fallback mode permanently via eFuse.
|
||||
|
||||
If this option is set, this eFuse is not burned and the BASIC ROM Console may
|
||||
remain accessible. Only set this option in testing environments.
|
||||
|
||||
config SECURE_BOOT_ALLOW_JTAG
|
||||
bool "Allow JTAG Debugging"
|
||||
depends on SECURE_BOOT_INSECURE || FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
If not set (default), the bootloader will permanently disable JTAG (across entire chip) on first boot
|
||||
when either secure boot or flash encryption is enabled.
|
||||
|
||||
Setting this option leaves JTAG on for debugging, which negates all protections of flash encryption
|
||||
and some of the protections of secure boot.
|
||||
|
||||
Only set this option in testing environments.
|
||||
|
||||
config SECURE_BOOT_ALLOW_SHORT_APP_PARTITION
|
||||
bool "Allow app partition length not 64KB aligned"
|
||||
depends on SECURE_BOOT_INSECURE
|
||||
help
|
||||
If not set (default), app partition size must be a multiple of 64KB. App images are padded to 64KB
|
||||
length, and the bootloader checks any trailing bytes after the signature (before the next 64KB
|
||||
boundary) have not been written. This is because flash cache maps entire 64KB pages into the address
|
||||
space. This prevents an attacker from appending unverified data after the app image in the flash,
|
||||
causing it to be mapped into the address space.
|
||||
|
||||
Setting this option allows the app partition length to be unaligned, and disables padding of the app
|
||||
image to this length. It is generally not recommended to set this option, unless you have a legacy
|
||||
partitioning scheme which doesn't support 64KB aligned partition lengths.
|
||||
|
||||
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_ENCRYPT
|
||||
bool "Leave UART bootloader encryption enabled"
|
||||
depends on FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
If not set (default), the bootloader will permanently disable UART bootloader encryption access on
|
||||
first boot. If set, the UART bootloader will still be able to access hardware encryption.
|
||||
|
||||
It is recommended to only set this option in testing environments.
|
||||
|
||||
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_DECRYPT
|
||||
bool "Leave UART bootloader decryption enabled"
|
||||
depends on FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
If not set (default), the bootloader will permanently disable UART bootloader decryption access on
|
||||
first boot. If set, the UART bootloader will still be able to access hardware decryption.
|
||||
|
||||
Only set this option in testing environments. Setting this option allows complete bypass of flash
|
||||
encryption.
|
||||
|
||||
config FLASH_ENCRYPTION_UART_BOOTLOADER_ALLOW_CACHE
|
||||
bool "Leave UART bootloader flash cache enabled"
|
||||
depends on FLASH_ENCRYPTION_INSECURE
|
||||
default N
|
||||
help
|
||||
If not set (default), the bootloader will permanently disable UART bootloader flash cache access on
|
||||
first boot. If set, the UART bootloader will still be able to access the flash cache.
|
||||
|
||||
Only set this option in testing environments.
|
||||
|
||||
config SECURE_BOOT_TEST_MODE
|
||||
bool "Secure boot test mode: don't permanently set any eFuses"
|
||||
depends on SECURE_BOOT_INSECURE
|
||||
default N
|
||||
help
|
||||
If this option is set, all permanent secure boot changes (via eFuse) are disabled.
|
||||
|
||||
Log output will state changes which would be applied, but they will not be.
|
||||
|
||||
This option is for testing purposes only - it completely disables secure boot protection.
|
||||
|
||||
endmenu # Potentially Insecure
|
||||
endmenu # Security features
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,73 +1,74 @@
|
||||
menu "Driver configurations"
|
||||
|
||||
menu "ADC configuration"
|
||||
menu "ADC configuration"
|
||||
|
||||
config ADC_FORCE_XPD_FSM
|
||||
bool "Use the FSM to control ADC power"
|
||||
default n
|
||||
help
|
||||
ADC power can be controlled by the FSM instead of software. This allows the ADC to
|
||||
be shut off when it is not working leading to lower power consumption. However
|
||||
using the FSM control ADC power will increase the noise of ADC.
|
||||
config ADC_FORCE_XPD_FSM
|
||||
bool "Use the FSM to control ADC power"
|
||||
default n
|
||||
help
|
||||
ADC power can be controlled by the FSM instead of software. This allows the ADC to
|
||||
be shut off when it is not working leading to lower power consumption. However
|
||||
using the FSM control ADC power will increase the noise of ADC.
|
||||
|
||||
config ADC2_DISABLE_DAC
|
||||
bool "Disable DAC when ADC2 is used on GPIO 25 and 26"
|
||||
default y
|
||||
help
|
||||
If this is set, the ADC2 driver will disables the output of the DAC corresponding to the specified channel. This is the default value.
|
||||
config ADC2_DISABLE_DAC
|
||||
bool "Disable DAC when ADC2 is used on GPIO 25 and 26"
|
||||
default y
|
||||
help
|
||||
If this is set, the ADC2 driver will disables the output of the DAC corresponding to the specified
|
||||
channel. This is the default value.
|
||||
|
||||
For testing, disable this option so that we can measure the output of DAC by internal ADC.
|
||||
For testing, disable this option so that we can measure the output of DAC by internal ADC.
|
||||
|
||||
endmenu # ADC Configuration
|
||||
endmenu # ADC Configuration
|
||||
|
||||
menu "SPI configuration"
|
||||
menu "SPI configuration"
|
||||
|
||||
config SPI_MASTER_IN_IRAM
|
||||
bool "Place transmitting functions of SPI master into IRAM"
|
||||
default n
|
||||
select SPI_MASTER_ISR_IN_IRAM
|
||||
help
|
||||
Normally only the ISR of SPI master is placed in the IRAM, so that it
|
||||
can work without the flash when interrupt is triggered.
|
||||
For other functions, there's some possibility that the flash cache
|
||||
miss when running inside and out of SPI functions, which may increase
|
||||
the interval of SPI transactions.
|
||||
Enable this to put ``queue_trans``, ``get_trans_result`` and
|
||||
``transmit`` functions into the IRAM to avoid possible cache miss.
|
||||
config SPI_MASTER_IN_IRAM
|
||||
bool "Place transmitting functions of SPI master into IRAM"
|
||||
default n
|
||||
select SPI_MASTER_ISR_IN_IRAM
|
||||
help
|
||||
Normally only the ISR of SPI master is placed in the IRAM, so that it
|
||||
can work without the flash when interrupt is triggered.
|
||||
For other functions, there's some possibility that the flash cache
|
||||
miss when running inside and out of SPI functions, which may increase
|
||||
the interval of SPI transactions.
|
||||
Enable this to put ``queue_trans``, ``get_trans_result`` and
|
||||
``transmit`` functions into the IRAM to avoid possible cache miss.
|
||||
|
||||
During unit test, this is enabled to measure the ideal case of api.
|
||||
During unit test, this is enabled to measure the ideal case of api.
|
||||
|
||||
config SPI_MASTER_ISR_IN_IRAM
|
||||
bool "Place SPI master ISR function into IRAM"
|
||||
default y
|
||||
help
|
||||
Place the SPI master ISR in to IRAM to avoid possible cache miss.
|
||||
config SPI_MASTER_ISR_IN_IRAM
|
||||
bool "Place SPI master ISR function into IRAM"
|
||||
default y
|
||||
help
|
||||
Place the SPI master ISR in to IRAM to avoid possible cache miss.
|
||||
|
||||
Also you can forbid the ISR being disabled during flash writing
|
||||
access, by add ESP_INTR_FLAG_IRAM when initializing the driver.
|
||||
Also you can forbid the ISR being disabled during flash writing
|
||||
access, by add ESP_INTR_FLAG_IRAM when initializing the driver.
|
||||
|
||||
config SPI_SLAVE_IN_IRAM
|
||||
bool "Place transmitting functions of SPI slave into IRAM"
|
||||
default n
|
||||
select SPI_SLAVE_ISR_IN_IRAM
|
||||
help
|
||||
Normally only the ISR of SPI slave is placed in the IRAM, so that it
|
||||
can work without the flash when interrupt is triggered.
|
||||
For other functions, there's some possibility that the flash cache
|
||||
miss when running inside and out of SPI functions, which may increase
|
||||
the interval of SPI transactions.
|
||||
Enable this to put ``queue_trans``, ``get_trans_result`` and
|
||||
``transmit`` functions into the IRAM to avoid possible cache miss.
|
||||
config SPI_SLAVE_IN_IRAM
|
||||
bool "Place transmitting functions of SPI slave into IRAM"
|
||||
default n
|
||||
select SPI_SLAVE_ISR_IN_IRAM
|
||||
help
|
||||
Normally only the ISR of SPI slave is placed in the IRAM, so that it
|
||||
can work without the flash when interrupt is triggered.
|
||||
For other functions, there's some possibility that the flash cache
|
||||
miss when running inside and out of SPI functions, which may increase
|
||||
the interval of SPI transactions.
|
||||
Enable this to put ``queue_trans``, ``get_trans_result`` and
|
||||
``transmit`` functions into the IRAM to avoid possible cache miss.
|
||||
|
||||
config SPI_SLAVE_ISR_IN_IRAM
|
||||
bool "Place SPI slave ISR function into IRAM"
|
||||
default y
|
||||
help
|
||||
Place the SPI slave ISR in to IRAM to avoid possible cache miss.
|
||||
config SPI_SLAVE_ISR_IN_IRAM
|
||||
bool "Place SPI slave ISR function into IRAM"
|
||||
default y
|
||||
help
|
||||
Place the SPI slave ISR in to IRAM to avoid possible cache miss.
|
||||
|
||||
Also you can forbid the ISR being disabled during flash writing
|
||||
access, by add ESP_INTR_FLAG_IRAM when initializing the driver.
|
||||
Also you can forbid the ISR being disabled during flash writing
|
||||
access, by add ESP_INTR_FLAG_IRAM when initializing the driver.
|
||||
|
||||
endmenu # SPI Configuration
|
||||
endmenu # SPI Configuration
|
||||
|
||||
endmenu # Driver configurations
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,27 +1,27 @@
|
||||
menu "ADC-Calibration"
|
||||
|
||||
config ADC_CAL_EFUSE_TP_ENABLE
|
||||
bool "Use Two Point Values"
|
||||
default "y"
|
||||
help
|
||||
Some ESP32s have Two Point calibration values burned into eFuse BLOCK3.
|
||||
This option will allow the ADC calibration component to characterize the
|
||||
ADC-Voltage curve using Two Point values if they are available.
|
||||
config ADC_CAL_EFUSE_TP_ENABLE
|
||||
bool "Use Two Point Values"
|
||||
default "y"
|
||||
help
|
||||
Some ESP32s have Two Point calibration values burned into eFuse BLOCK3.
|
||||
This option will allow the ADC calibration component to characterize the
|
||||
ADC-Voltage curve using Two Point values if they are available.
|
||||
|
||||
config ADC_CAL_EFUSE_VREF_ENABLE
|
||||
bool "Use eFuse Vref"
|
||||
default "y"
|
||||
help
|
||||
Some ESP32s have Vref burned into eFuse BLOCK0. This option will allow
|
||||
the ADC calibration component to characterize the ADC-Voltage curve using
|
||||
eFuse Vref if it is available.
|
||||
config ADC_CAL_EFUSE_VREF_ENABLE
|
||||
bool "Use eFuse Vref"
|
||||
default "y"
|
||||
help
|
||||
Some ESP32s have Vref burned into eFuse BLOCK0. This option will allow
|
||||
the ADC calibration component to characterize the ADC-Voltage curve using
|
||||
eFuse Vref if it is available.
|
||||
|
||||
config ADC_CAL_LUT_ENABLE
|
||||
bool "Use Lookup Tables"
|
||||
default "y"
|
||||
help
|
||||
This option will allow the ADC calibration component to use Lookup Tables
|
||||
to correct for non-linear behavior in 11db attenuation. Other attenuations
|
||||
do not exhibit non-linear behavior hence will not be affected by this option.
|
||||
config ADC_CAL_LUT_ENABLE
|
||||
bool "Use Lookup Tables"
|
||||
default "y"
|
||||
help
|
||||
This option will allow the ADC calibration component to use Lookup Tables
|
||||
to correct for non-linear behavior in 11db attenuation. Other attenuations
|
||||
do not exhibit non-linear behavior hence will not be affected by this option.
|
||||
|
||||
endmenu # ADC-Calibration
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
menu "Event Loop Library"
|
||||
|
||||
config EVENT_LOOP_PROFILING
|
||||
bool "Enable event loop profiling"
|
||||
default n
|
||||
help
|
||||
Enables collections of statistics in the event loop library such as the number of events posted to/recieved by an event loop, number of
|
||||
callbacks involved, number of events dropped to to a full event loop queue, run time of event handlers, and number of times/run
|
||||
time of each event handler.
|
||||
config EVENT_LOOP_PROFILING
|
||||
bool "Enable event loop profiling"
|
||||
default n
|
||||
help
|
||||
Enables collections of statistics in the event loop library such as the number of events posted
|
||||
to/recieved by an event loop, number of callbacks involved, number of events dropped to to a full event
|
||||
loop queue, run time of event handlers, and number of times/run time of each event handler.
|
||||
|
||||
endmenu
|
||||
endmenu
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
menu "ESP HTTP client"
|
||||
|
||||
|
||||
config ESP_HTTP_CLIENT_ENABLE_HTTPS
|
||||
bool "Enable https"
|
||||
default y
|
||||
help
|
||||
This option will enable https protocol by linking mbedtls library and initializing SSL transport
|
||||
config ESP_HTTP_CLIENT_ENABLE_HTTPS
|
||||
bool "Enable https"
|
||||
default y
|
||||
help
|
||||
This option will enable https protocol by linking mbedtls library and initializing SSL transport
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
menu "HTTP Server"
|
||||
|
||||
config HTTPD_MAX_REQ_HDR_LEN
|
||||
int "Max HTTP Request Header Length"
|
||||
default 512
|
||||
help
|
||||
This sets the maximum supported size of headers section in HTTP request packet to be processed by the server
|
||||
config HTTPD_MAX_REQ_HDR_LEN
|
||||
int "Max HTTP Request Header Length"
|
||||
default 512
|
||||
help
|
||||
This sets the maximum supported size of headers section in HTTP request packet to be processed by the
|
||||
server
|
||||
|
||||
config HTTPD_MAX_URI_LEN
|
||||
int "Max HTTP URI Length"
|
||||
default 512
|
||||
help
|
||||
This sets the maximum supported size of HTTP request URI to be processed by the server
|
||||
config HTTPD_MAX_URI_LEN
|
||||
int "Max HTTP URI Length"
|
||||
default 512
|
||||
help
|
||||
This sets the maximum supported size of HTTP request URI to be processed by the server
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,223 +1,223 @@
|
||||
menu "Serial flasher config"
|
||||
|
||||
config ESPTOOLPY_PORT
|
||||
string "Default serial port"
|
||||
depends on !IDF_CMAKE
|
||||
default "/dev/ttyUSB0"
|
||||
help
|
||||
The serial port that's connected to the ESP chip. This can be overridden by setting the ESPPORT
|
||||
environment variable.
|
||||
config ESPTOOLPY_PORT
|
||||
string "Default serial port"
|
||||
depends on !IDF_CMAKE
|
||||
default "/dev/ttyUSB0"
|
||||
help
|
||||
The serial port that's connected to the ESP chip. This can be overridden by setting the ESPPORT
|
||||
environment variable.
|
||||
|
||||
This value is ignored when using the CMake-based build system or idf.py.
|
||||
This value is ignored when using the CMake-based build system or idf.py.
|
||||
|
||||
choice ESPTOOLPY_BAUD
|
||||
prompt "Default baud rate"
|
||||
depends on !IDF_CMAKE
|
||||
default ESPTOOLPY_BAUD_115200B
|
||||
help
|
||||
Default baud rate to use while communicating with the ESP chip. Can be overridden by
|
||||
setting the ESPBAUD variable.
|
||||
choice ESPTOOLPY_BAUD
|
||||
prompt "Default baud rate"
|
||||
depends on !IDF_CMAKE
|
||||
default ESPTOOLPY_BAUD_115200B
|
||||
help
|
||||
Default baud rate to use while communicating with the ESP chip. Can be overridden by
|
||||
setting the ESPBAUD variable.
|
||||
|
||||
This value is ignored when using the CMake-based build system or idf.py.
|
||||
This value is ignored when using the CMake-based build system or idf.py.
|
||||
|
||||
config ESPTOOLPY_BAUD_115200B
|
||||
bool "115200 baud"
|
||||
config ESPTOOLPY_BAUD_230400B
|
||||
bool "230400 baud"
|
||||
config ESPTOOLPY_BAUD_921600B
|
||||
bool "921600 baud"
|
||||
config ESPTOOLPY_BAUD_2MB
|
||||
bool "2Mbaud"
|
||||
config ESPTOOLPY_BAUD_OTHER
|
||||
bool "Other baud rate"
|
||||
endchoice
|
||||
config ESPTOOLPY_BAUD_115200B
|
||||
bool "115200 baud"
|
||||
config ESPTOOLPY_BAUD_230400B
|
||||
bool "230400 baud"
|
||||
config ESPTOOLPY_BAUD_921600B
|
||||
bool "921600 baud"
|
||||
config ESPTOOLPY_BAUD_2MB
|
||||
bool "2Mbaud"
|
||||
config ESPTOOLPY_BAUD_OTHER
|
||||
bool "Other baud rate"
|
||||
endchoice
|
||||
|
||||
config ESPTOOLPY_BAUD_OTHER_VAL
|
||||
int "Other baud rate value" if ESPTOOLPY_BAUD_OTHER
|
||||
default 115200
|
||||
config ESPTOOLPY_BAUD_OTHER_VAL
|
||||
int "Other baud rate value" if ESPTOOLPY_BAUD_OTHER
|
||||
default 115200
|
||||
|
||||
config ESPTOOLPY_BAUD
|
||||
int
|
||||
depends on !IDF_CMAKE
|
||||
default 115200 if ESPTOOLPY_BAUD_115200B
|
||||
default 230400 if ESPTOOLPY_BAUD_230400B
|
||||
default 921600 if ESPTOOLPY_BAUD_921600B
|
||||
default 2000000 if ESPTOOLPY_BAUD_2MB
|
||||
default ESPTOOLPY_BAUD_OTHER_VAL if ESPTOOLPY_BAUD_OTHER
|
||||
config ESPTOOLPY_BAUD
|
||||
int
|
||||
depends on !IDF_CMAKE
|
||||
default 115200 if ESPTOOLPY_BAUD_115200B
|
||||
default 230400 if ESPTOOLPY_BAUD_230400B
|
||||
default 921600 if ESPTOOLPY_BAUD_921600B
|
||||
default 2000000 if ESPTOOLPY_BAUD_2MB
|
||||
default ESPTOOLPY_BAUD_OTHER_VAL if ESPTOOLPY_BAUD_OTHER
|
||||
|
||||
config ESPTOOLPY_COMPRESSED
|
||||
bool "Use compressed upload"
|
||||
depends on !IDF_CMAKE
|
||||
default "y"
|
||||
help
|
||||
The flasher tool can send data compressed using zlib, letting the ROM on the ESP chip
|
||||
decompress it on the fly before flashing it. For most payloads, this should result in a
|
||||
speed increase.
|
||||
config ESPTOOLPY_COMPRESSED
|
||||
bool "Use compressed upload"
|
||||
depends on !IDF_CMAKE
|
||||
default "y"
|
||||
help
|
||||
The flasher tool can send data compressed using zlib, letting the ROM on the ESP chip
|
||||
decompress it on the fly before flashing it. For most payloads, this should result in a
|
||||
speed increase.
|
||||
|
||||
choice FLASHMODE
|
||||
prompt "Flash SPI mode"
|
||||
default FLASHMODE_DIO
|
||||
help
|
||||
Mode the flash chip is flashed in, as well as the default mode for the
|
||||
binary to run in.
|
||||
choice FLASHMODE
|
||||
prompt "Flash SPI mode"
|
||||
default FLASHMODE_DIO
|
||||
help
|
||||
Mode the flash chip is flashed in, as well as the default mode for the
|
||||
binary to run in.
|
||||
|
||||
config FLASHMODE_QIO
|
||||
bool "QIO"
|
||||
config FLASHMODE_QOUT
|
||||
bool "QOUT"
|
||||
config FLASHMODE_DIO
|
||||
bool "DIO"
|
||||
config FLASHMODE_DOUT
|
||||
bool "DOUT"
|
||||
endchoice
|
||||
config FLASHMODE_QIO
|
||||
bool "QIO"
|
||||
config FLASHMODE_QOUT
|
||||
bool "QOUT"
|
||||
config FLASHMODE_DIO
|
||||
bool "DIO"
|
||||
config FLASHMODE_DOUT
|
||||
bool "DOUT"
|
||||
endchoice
|
||||
|
||||
# Note: we use esptool.py to flash bootloader in
|
||||
# dio mode for QIO/QOUT, bootloader then upgrades
|
||||
# itself to quad mode during initialisation
|
||||
config ESPTOOLPY_FLASHMODE
|
||||
string
|
||||
default "dio" if FLASHMODE_QIO
|
||||
default "dio" if FLASHMODE_QOUT
|
||||
default "dio" if FLASHMODE_DIO
|
||||
default "dout" if FLASHMODE_DOUT
|
||||
# Note: we use esptool.py to flash bootloader in
|
||||
# dio mode for QIO/QOUT, bootloader then upgrades
|
||||
# itself to quad mode during initialisation
|
||||
config ESPTOOLPY_FLASHMODE
|
||||
string
|
||||
default "dio" if FLASHMODE_QIO
|
||||
default "dio" if FLASHMODE_QOUT
|
||||
default "dio" if FLASHMODE_DIO
|
||||
default "dout" if FLASHMODE_DOUT
|
||||
|
||||
choice ESPTOOLPY_FLASHFREQ
|
||||
prompt "Flash SPI speed"
|
||||
default ESPTOOLPY_FLASHFREQ_40M
|
||||
help
|
||||
The SPI flash frequency to be used.
|
||||
choice ESPTOOLPY_FLASHFREQ
|
||||
prompt "Flash SPI speed"
|
||||
default ESPTOOLPY_FLASHFREQ_40M
|
||||
help
|
||||
The SPI flash frequency to be used.
|
||||
|
||||
config ESPTOOLPY_FLASHFREQ_80M
|
||||
bool "80 MHz"
|
||||
config ESPTOOLPY_FLASHFREQ_40M
|
||||
bool "40 MHz"
|
||||
config ESPTOOLPY_FLASHFREQ_26M
|
||||
bool "26 MHz"
|
||||
config ESPTOOLPY_FLASHFREQ_20M
|
||||
bool "20 MHz"
|
||||
endchoice
|
||||
config ESPTOOLPY_FLASHFREQ_80M
|
||||
bool "80 MHz"
|
||||
config ESPTOOLPY_FLASHFREQ_40M
|
||||
bool "40 MHz"
|
||||
config ESPTOOLPY_FLASHFREQ_26M
|
||||
bool "26 MHz"
|
||||
config ESPTOOLPY_FLASHFREQ_20M
|
||||
bool "20 MHz"
|
||||
endchoice
|
||||
|
||||
config ESPTOOLPY_FLASHFREQ
|
||||
string
|
||||
default "80m" if ESPTOOLPY_FLASHFREQ_80M
|
||||
default "40m" if ESPTOOLPY_FLASHFREQ_40M
|
||||
default "26m" if ESPTOOLPY_FLASHFREQ_26M
|
||||
default "20m" if ESPTOOLPY_FLASHFREQ_20M
|
||||
config ESPTOOLPY_FLASHFREQ
|
||||
string
|
||||
default "80m" if ESPTOOLPY_FLASHFREQ_80M
|
||||
default "40m" if ESPTOOLPY_FLASHFREQ_40M
|
||||
default "26m" if ESPTOOLPY_FLASHFREQ_26M
|
||||
default "20m" if ESPTOOLPY_FLASHFREQ_20M
|
||||
|
||||
|
||||
choice ESPTOOLPY_FLASHSIZE
|
||||
prompt "Flash size"
|
||||
default ESPTOOLPY_FLASHSIZE_2MB
|
||||
help
|
||||
SPI flash size, in megabytes
|
||||
choice ESPTOOLPY_FLASHSIZE
|
||||
prompt "Flash size"
|
||||
default ESPTOOLPY_FLASHSIZE_2MB
|
||||
help
|
||||
SPI flash size, in megabytes
|
||||
|
||||
config ESPTOOLPY_FLASHSIZE_1MB
|
||||
bool "1 MB"
|
||||
config ESPTOOLPY_FLASHSIZE_2MB
|
||||
bool "2 MB"
|
||||
config ESPTOOLPY_FLASHSIZE_4MB
|
||||
bool "4 MB"
|
||||
config ESPTOOLPY_FLASHSIZE_8MB
|
||||
bool "8 MB"
|
||||
config ESPTOOLPY_FLASHSIZE_16MB
|
||||
bool "16 MB"
|
||||
endchoice
|
||||
config ESPTOOLPY_FLASHSIZE_1MB
|
||||
bool "1 MB"
|
||||
config ESPTOOLPY_FLASHSIZE_2MB
|
||||
bool "2 MB"
|
||||
config ESPTOOLPY_FLASHSIZE_4MB
|
||||
bool "4 MB"
|
||||
config ESPTOOLPY_FLASHSIZE_8MB
|
||||
bool "8 MB"
|
||||
config ESPTOOLPY_FLASHSIZE_16MB
|
||||
bool "16 MB"
|
||||
endchoice
|
||||
|
||||
config ESPTOOLPY_FLASHSIZE
|
||||
string
|
||||
default "1MB" if ESPTOOLPY_FLASHSIZE_1MB
|
||||
default "2MB" if ESPTOOLPY_FLASHSIZE_2MB
|
||||
default "4MB" if ESPTOOLPY_FLASHSIZE_4MB
|
||||
default "8MB" if ESPTOOLPY_FLASHSIZE_8MB
|
||||
default "16MB" if ESPTOOLPY_FLASHSIZE_16MB
|
||||
config ESPTOOLPY_FLASHSIZE
|
||||
string
|
||||
default "1MB" if ESPTOOLPY_FLASHSIZE_1MB
|
||||
default "2MB" if ESPTOOLPY_FLASHSIZE_2MB
|
||||
default "4MB" if ESPTOOLPY_FLASHSIZE_4MB
|
||||
default "8MB" if ESPTOOLPY_FLASHSIZE_8MB
|
||||
default "16MB" if ESPTOOLPY_FLASHSIZE_16MB
|
||||
|
||||
config ESPTOOLPY_FLASHSIZE_DETECT
|
||||
bool "Detect flash size when flashing bootloader"
|
||||
default y
|
||||
help
|
||||
If this option is set, 'make flash' targets will automatically detect
|
||||
the flash size and update the bootloader image when flashing.
|
||||
config ESPTOOLPY_FLASHSIZE_DETECT
|
||||
bool "Detect flash size when flashing bootloader"
|
||||
default y
|
||||
help
|
||||
If this option is set, 'make flash' targets will automatically detect
|
||||
the flash size and update the bootloader image when flashing.
|
||||
|
||||
choice ESPTOOLPY_BEFORE
|
||||
prompt "Before flashing"
|
||||
default ESPTOOLPY_BEFORE_RESET
|
||||
help
|
||||
Configure whether esptool.py should reset the ESP32 before flashing.
|
||||
choice ESPTOOLPY_BEFORE
|
||||
prompt "Before flashing"
|
||||
default ESPTOOLPY_BEFORE_RESET
|
||||
help
|
||||
Configure whether esptool.py should reset the ESP32 before flashing.
|
||||
|
||||
Automatic resetting depends on the RTS & DTR signals being
|
||||
wired from the serial port to the ESP32. Most USB development
|
||||
boards do this internally.
|
||||
Automatic resetting depends on the RTS & DTR signals being
|
||||
wired from the serial port to the ESP32. Most USB development
|
||||
boards do this internally.
|
||||
|
||||
config ESPTOOLPY_BEFORE_RESET
|
||||
bool "Reset to bootloader"
|
||||
config ESPTOOLPY_BEFORE_NORESET
|
||||
bool "No reset"
|
||||
endchoice
|
||||
config ESPTOOLPY_BEFORE_RESET
|
||||
bool "Reset to bootloader"
|
||||
config ESPTOOLPY_BEFORE_NORESET
|
||||
bool "No reset"
|
||||
endchoice
|
||||
|
||||
config ESPTOOLPY_BEFORE
|
||||
string
|
||||
default "default_reset" if ESPTOOLPY_BEFORE_RESET
|
||||
default "no_reset" if ESPTOOLPY_BEFORE_NORESET
|
||||
config ESPTOOLPY_BEFORE
|
||||
string
|
||||
default "default_reset" if ESPTOOLPY_BEFORE_RESET
|
||||
default "no_reset" if ESPTOOLPY_BEFORE_NORESET
|
||||
|
||||
choice ESPTOOLPY_AFTER
|
||||
prompt "After flashing"
|
||||
default ESPTOOLPY_AFTER_RESET
|
||||
help
|
||||
Configure whether esptool.py should reset the ESP32 after flashing.
|
||||
choice ESPTOOLPY_AFTER
|
||||
prompt "After flashing"
|
||||
default ESPTOOLPY_AFTER_RESET
|
||||
help
|
||||
Configure whether esptool.py should reset the ESP32 after flashing.
|
||||
|
||||
Automatic resetting depends on the RTS & DTR signals being
|
||||
wired from the serial port to the ESP32. Most USB development
|
||||
boards do this internally.
|
||||
Automatic resetting depends on the RTS & DTR signals being
|
||||
wired from the serial port to the ESP32. Most USB development
|
||||
boards do this internally.
|
||||
|
||||
config ESPTOOLPY_AFTER_RESET
|
||||
bool "Reset after flashing"
|
||||
config ESPTOOLPY_AFTER_NORESET
|
||||
bool "Stay in bootloader"
|
||||
endchoice
|
||||
config ESPTOOLPY_AFTER_RESET
|
||||
bool "Reset after flashing"
|
||||
config ESPTOOLPY_AFTER_NORESET
|
||||
bool "Stay in bootloader"
|
||||
endchoice
|
||||
|
||||
config ESPTOOLPY_AFTER
|
||||
string
|
||||
default "hard_reset" if ESPTOOLPY_AFTER_RESET
|
||||
default "no_reset" if ESPTOOLPY_AFTER_NORESET
|
||||
config ESPTOOLPY_AFTER
|
||||
string
|
||||
default "hard_reset" if ESPTOOLPY_AFTER_RESET
|
||||
default "no_reset" if ESPTOOLPY_AFTER_NORESET
|
||||
|
||||
choice MONITOR_BAUD
|
||||
prompt "'make monitor' baud rate"
|
||||
default MONITOR_BAUD_115200B
|
||||
help
|
||||
Baud rate to use when running 'make monitor' to view serial output
|
||||
from a running chip.
|
||||
choice MONITOR_BAUD
|
||||
prompt "'make monitor' baud rate"
|
||||
default MONITOR_BAUD_115200B
|
||||
help
|
||||
Baud rate to use when running 'make monitor' to view serial output
|
||||
from a running chip.
|
||||
|
||||
Can override by setting the MONITORBAUD environment variable.
|
||||
Can override by setting the MONITORBAUD environment variable.
|
||||
|
||||
config MONITOR_BAUD_9600B
|
||||
bool "9600 bps"
|
||||
config MONITOR_BAUD_57600B
|
||||
bool "57600 bps"
|
||||
config MONITOR_BAUD_115200B
|
||||
bool "115200 bps"
|
||||
config MONITOR_BAUD_230400B
|
||||
bool "230400 bps"
|
||||
config MONITOR_BAUD_921600B
|
||||
bool "921600 bps"
|
||||
config MONITOR_BAUD_2MB
|
||||
bool "2 Mbps"
|
||||
config MONITOR_BAUD_OTHER
|
||||
bool "Custom baud rate"
|
||||
config MONITOR_BAUD_9600B
|
||||
bool "9600 bps"
|
||||
config MONITOR_BAUD_57600B
|
||||
bool "57600 bps"
|
||||
config MONITOR_BAUD_115200B
|
||||
bool "115200 bps"
|
||||
config MONITOR_BAUD_230400B
|
||||
bool "230400 bps"
|
||||
config MONITOR_BAUD_921600B
|
||||
bool "921600 bps"
|
||||
config MONITOR_BAUD_2MB
|
||||
bool "2 Mbps"
|
||||
config MONITOR_BAUD_OTHER
|
||||
bool "Custom baud rate"
|
||||
|
||||
endchoice
|
||||
endchoice
|
||||
|
||||
config MONITOR_BAUD_OTHER_VAL
|
||||
int "Custom baud rate value" if MONITOR_BAUD_OTHER
|
||||
default 115200
|
||||
config MONITOR_BAUD_OTHER_VAL
|
||||
int "Custom baud rate value" if MONITOR_BAUD_OTHER
|
||||
default 115200
|
||||
|
||||
config MONITOR_BAUD
|
||||
int
|
||||
default 9600 if MONITOR_BAUD_9600B
|
||||
default 57600 if MONITOR_BAUD_57600B
|
||||
default 115200 if MONITOR_BAUD_115200B
|
||||
default 230400 if MONITOR_BAUD_230400B
|
||||
default 921600 if MONITOR_BAUD_921600B
|
||||
default 2000000 if MONITOR_BAUD_2MB
|
||||
default MONITOR_BAUD_OTHER_VAL if MONITOR_BAUD_OTHER
|
||||
config MONITOR_BAUD
|
||||
int
|
||||
default 9600 if MONITOR_BAUD_9600B
|
||||
default 57600 if MONITOR_BAUD_57600B
|
||||
default 115200 if MONITOR_BAUD_115200B
|
||||
default 230400 if MONITOR_BAUD_230400B
|
||||
default 921600 if MONITOR_BAUD_921600B
|
||||
default 2000000 if MONITOR_BAUD_2MB
|
||||
default MONITOR_BAUD_OTHER_VAL if MONITOR_BAUD_OTHER
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,183 +1,183 @@
|
||||
menu "FAT Filesystem support"
|
||||
|
||||
choice FATFS_CHOOSE_CODEPAGE
|
||||
prompt "OEM Code Page"
|
||||
default FATFS_CODEPAGE_437
|
||||
help
|
||||
OEM code page used for file name encodings.
|
||||
|
||||
If "Dynamic" is selected, code page can be chosen at runtime using
|
||||
f_setcp function. Note that choosing this option will increase
|
||||
application size by ~480kB.
|
||||
choice FATFS_CHOOSE_CODEPAGE
|
||||
prompt "OEM Code Page"
|
||||
default FATFS_CODEPAGE_437
|
||||
help
|
||||
OEM code page used for file name encodings.
|
||||
|
||||
config FATFS_CODEPAGE_DYNAMIC
|
||||
bool "Dynamic (all code pages supported)"
|
||||
config FATFS_CODEPAGE_437
|
||||
bool "US (CP437)"
|
||||
config FATFS_CODEPAGE_720
|
||||
bool "Arabic (CP720)"
|
||||
config FATFS_CODEPAGE_737
|
||||
bool "Greek (CP737)"
|
||||
config FATFS_CODEPAGE_771
|
||||
bool "KBL (CP771)"
|
||||
config FATFS_CODEPAGE_775
|
||||
bool "Baltic (CP775)"
|
||||
config FATFS_CODEPAGE_850
|
||||
bool "Latin 1 (CP850)"
|
||||
config FATFS_CODEPAGE_852
|
||||
bool "Latin 2 (CP852)"
|
||||
config FATFS_CODEPAGE_855
|
||||
bool "Cyrillic (CP855)"
|
||||
config FATFS_CODEPAGE_857
|
||||
bool "Turkish (CP857)"
|
||||
config FATFS_CODEPAGE_860
|
||||
bool "Portugese (CP860)"
|
||||
config FATFS_CODEPAGE_861
|
||||
bool "Icelandic (CP861)"
|
||||
config FATFS_CODEPAGE_862
|
||||
bool "Hebrew (CP862)"
|
||||
config FATFS_CODEPAGE_863
|
||||
bool "Canadian French (CP863)"
|
||||
config FATFS_CODEPAGE_864
|
||||
bool "Arabic (CP864)"
|
||||
config FATFS_CODEPAGE_865
|
||||
bool "Nordic (CP865)"
|
||||
config FATFS_CODEPAGE_866
|
||||
bool "Russian (CP866)"
|
||||
config FATFS_CODEPAGE_869
|
||||
bool "Greek 2 (CP869)"
|
||||
config FATFS_CODEPAGE_932
|
||||
bool "Japanese (DBCS) (CP932)"
|
||||
config FATFS_CODEPAGE_936
|
||||
bool "Simplified Chinese (DBCS) (CP936)"
|
||||
config FATFS_CODEPAGE_949
|
||||
bool "Korean (DBCS) (CP949)"
|
||||
config FATFS_CODEPAGE_950
|
||||
bool "Traditional Chinese (DBCS) (CP950)"
|
||||
If "Dynamic" is selected, code page can be chosen at runtime using
|
||||
f_setcp function. Note that choosing this option will increase
|
||||
application size by ~480kB.
|
||||
|
||||
endchoice
|
||||
config FATFS_CODEPAGE_DYNAMIC
|
||||
bool "Dynamic (all code pages supported)"
|
||||
config FATFS_CODEPAGE_437
|
||||
bool "US (CP437)"
|
||||
config FATFS_CODEPAGE_720
|
||||
bool "Arabic (CP720)"
|
||||
config FATFS_CODEPAGE_737
|
||||
bool "Greek (CP737)"
|
||||
config FATFS_CODEPAGE_771
|
||||
bool "KBL (CP771)"
|
||||
config FATFS_CODEPAGE_775
|
||||
bool "Baltic (CP775)"
|
||||
config FATFS_CODEPAGE_850
|
||||
bool "Latin 1 (CP850)"
|
||||
config FATFS_CODEPAGE_852
|
||||
bool "Latin 2 (CP852)"
|
||||
config FATFS_CODEPAGE_855
|
||||
bool "Cyrillic (CP855)"
|
||||
config FATFS_CODEPAGE_857
|
||||
bool "Turkish (CP857)"
|
||||
config FATFS_CODEPAGE_860
|
||||
bool "Portugese (CP860)"
|
||||
config FATFS_CODEPAGE_861
|
||||
bool "Icelandic (CP861)"
|
||||
config FATFS_CODEPAGE_862
|
||||
bool "Hebrew (CP862)"
|
||||
config FATFS_CODEPAGE_863
|
||||
bool "Canadian French (CP863)"
|
||||
config FATFS_CODEPAGE_864
|
||||
bool "Arabic (CP864)"
|
||||
config FATFS_CODEPAGE_865
|
||||
bool "Nordic (CP865)"
|
||||
config FATFS_CODEPAGE_866
|
||||
bool "Russian (CP866)"
|
||||
config FATFS_CODEPAGE_869
|
||||
bool "Greek 2 (CP869)"
|
||||
config FATFS_CODEPAGE_932
|
||||
bool "Japanese (DBCS) (CP932)"
|
||||
config FATFS_CODEPAGE_936
|
||||
bool "Simplified Chinese (DBCS) (CP936)"
|
||||
config FATFS_CODEPAGE_949
|
||||
bool "Korean (DBCS) (CP949)"
|
||||
config FATFS_CODEPAGE_950
|
||||
bool "Traditional Chinese (DBCS) (CP950)"
|
||||
|
||||
config FATFS_CODEPAGE
|
||||
int
|
||||
default 0 if FATFS_CODEPAGE_DYNAMIC
|
||||
default 437 if FATFS_CODEPAGE_437
|
||||
default 720 if FATFS_CODEPAGE_720
|
||||
default 737 if FATFS_CODEPAGE_737
|
||||
default 771 if FATFS_CODEPAGE_771
|
||||
default 775 if FATFS_CODEPAGE_775
|
||||
default 850 if FATFS_CODEPAGE_850
|
||||
default 852 if FATFS_CODEPAGE_852
|
||||
default 855 if FATFS_CODEPAGE_855
|
||||
default 857 if FATFS_CODEPAGE_857
|
||||
default 860 if FATFS_CODEPAGE_860
|
||||
default 861 if FATFS_CODEPAGE_861
|
||||
default 862 if FATFS_CODEPAGE_862
|
||||
default 863 if FATFS_CODEPAGE_863
|
||||
default 864 if FATFS_CODEPAGE_864
|
||||
default 865 if FATFS_CODEPAGE_865
|
||||
default 866 if FATFS_CODEPAGE_866
|
||||
default 869 if FATFS_CODEPAGE_869
|
||||
default 932 if FATFS_CODEPAGE_932
|
||||
default 936 if FATFS_CODEPAGE_936
|
||||
default 949 if FATFS_CODEPAGE_949
|
||||
default 950 if FATFS_CODEPAGE_950
|
||||
default 437
|
||||
endchoice
|
||||
|
||||
choice FATFS_LONG_FILENAMES
|
||||
prompt "Long filename support"
|
||||
default FATFS_LFN_NONE
|
||||
help
|
||||
Support long filenames in FAT. Long filename data increases
|
||||
memory usage. FATFS can be configured to store the buffer for
|
||||
long filename data in stack or heap.
|
||||
config FATFS_CODEPAGE
|
||||
int
|
||||
default 0 if FATFS_CODEPAGE_DYNAMIC
|
||||
default 437 if FATFS_CODEPAGE_437
|
||||
default 720 if FATFS_CODEPAGE_720
|
||||
default 737 if FATFS_CODEPAGE_737
|
||||
default 771 if FATFS_CODEPAGE_771
|
||||
default 775 if FATFS_CODEPAGE_775
|
||||
default 850 if FATFS_CODEPAGE_850
|
||||
default 852 if FATFS_CODEPAGE_852
|
||||
default 855 if FATFS_CODEPAGE_855
|
||||
default 857 if FATFS_CODEPAGE_857
|
||||
default 860 if FATFS_CODEPAGE_860
|
||||
default 861 if FATFS_CODEPAGE_861
|
||||
default 862 if FATFS_CODEPAGE_862
|
||||
default 863 if FATFS_CODEPAGE_863
|
||||
default 864 if FATFS_CODEPAGE_864
|
||||
default 865 if FATFS_CODEPAGE_865
|
||||
default 866 if FATFS_CODEPAGE_866
|
||||
default 869 if FATFS_CODEPAGE_869
|
||||
default 932 if FATFS_CODEPAGE_932
|
||||
default 936 if FATFS_CODEPAGE_936
|
||||
default 949 if FATFS_CODEPAGE_949
|
||||
default 950 if FATFS_CODEPAGE_950
|
||||
default 437
|
||||
|
||||
config FATFS_LFN_NONE
|
||||
bool "No long filenames"
|
||||
config FATFS_LFN_HEAP
|
||||
bool "Long filename buffer in heap"
|
||||
config FATFS_LFN_STACK
|
||||
bool "Long filename buffer on stack"
|
||||
endchoice
|
||||
choice FATFS_LONG_FILENAMES
|
||||
prompt "Long filename support"
|
||||
default FATFS_LFN_NONE
|
||||
help
|
||||
Support long filenames in FAT. Long filename data increases
|
||||
memory usage. FATFS can be configured to store the buffer for
|
||||
long filename data in stack or heap.
|
||||
|
||||
config FATFS_MAX_LFN
|
||||
int "Max long filename length"
|
||||
depends on !FATFS_LFN_NONE
|
||||
default 255
|
||||
range 12 255
|
||||
help
|
||||
Maximum long filename length. Can be reduced to save RAM.
|
||||
config FATFS_LFN_NONE
|
||||
bool "No long filenames"
|
||||
config FATFS_LFN_HEAP
|
||||
bool "Long filename buffer in heap"
|
||||
config FATFS_LFN_STACK
|
||||
bool "Long filename buffer on stack"
|
||||
endchoice
|
||||
|
||||
choice FATFS_API_ENCODING
|
||||
prompt "API character encoding"
|
||||
depends on !FATFS_LFN_NONE
|
||||
default FATFS_API_ENCODING_ANSI_OEM
|
||||
help
|
||||
Choose encoding for character and string arguments/returns when using
|
||||
FATFS APIs. The encoding of arguments will usually depend on text
|
||||
editor settings.
|
||||
config FATFS_MAX_LFN
|
||||
int "Max long filename length"
|
||||
depends on !FATFS_LFN_NONE
|
||||
default 255
|
||||
range 12 255
|
||||
help
|
||||
Maximum long filename length. Can be reduced to save RAM.
|
||||
|
||||
config FATFS_API_ENCODING_ANSI_OEM
|
||||
bool "API uses ANSI/OEM encoding"
|
||||
config FATFS_API_ENCODING_UTF_16
|
||||
bool "API uses UTF-16 encoding"
|
||||
config FATFS_API_ENCODING_UTF_8
|
||||
bool "API uses UTF-8 encoding"
|
||||
endchoice
|
||||
choice FATFS_API_ENCODING
|
||||
prompt "API character encoding"
|
||||
depends on !FATFS_LFN_NONE
|
||||
default FATFS_API_ENCODING_ANSI_OEM
|
||||
help
|
||||
Choose encoding for character and string arguments/returns when using
|
||||
FATFS APIs. The encoding of arguments will usually depend on text
|
||||
editor settings.
|
||||
|
||||
config FATFS_FS_LOCK
|
||||
int "Number of simultaneously open files protected by lock function"
|
||||
default 0
|
||||
range 0 65535
|
||||
help
|
||||
This option sets the FATFS configuration value _FS_LOCK.
|
||||
The option _FS_LOCK switches file lock function to control duplicated file open
|
||||
and illegal operation to open objects.
|
||||
|
||||
* 0: Disable file lock function. To avoid volume corruption, application
|
||||
should avoid illegal open, remove and rename to the open objects.
|
||||
|
||||
* >0: Enable file lock function. The value defines how many files/sub-directories
|
||||
can be opened simultaneously under file lock control.
|
||||
|
||||
Note that the file lock control is independent of re-entrancy.
|
||||
config FATFS_API_ENCODING_ANSI_OEM
|
||||
bool "API uses ANSI/OEM encoding"
|
||||
config FATFS_API_ENCODING_UTF_16
|
||||
bool "API uses UTF-16 encoding"
|
||||
config FATFS_API_ENCODING_UTF_8
|
||||
bool "API uses UTF-8 encoding"
|
||||
endchoice
|
||||
|
||||
config FATFS_TIMEOUT_MS
|
||||
int "Timeout for acquiring a file lock, ms"
|
||||
default 10000
|
||||
help
|
||||
This option sets FATFS configuration value _FS_TIMEOUT, scaled to milliseconds.
|
||||
Sets the number of milliseconds FATFS will wait to acquire a mutex when
|
||||
operating on an open file. For example, if one task is performing a lenghty
|
||||
operation, another task will wait for the first task to release the lock,
|
||||
and time out after amount of time set by this option.
|
||||
|
||||
config FATFS_FS_LOCK
|
||||
int "Number of simultaneously open files protected by lock function"
|
||||
default 0
|
||||
range 0 65535
|
||||
help
|
||||
This option sets the FATFS configuration value _FS_LOCK.
|
||||
The option _FS_LOCK switches file lock function to control duplicated file open
|
||||
and illegal operation to open objects.
|
||||
|
||||
config FATFS_PER_FILE_CACHE
|
||||
bool "Use separate cache for each file"
|
||||
default y
|
||||
help
|
||||
This option affects FATFS configuration value _FS_TINY.
|
||||
|
||||
If this option is set, _FS_TINY is 0, and each open file has its own cache,
|
||||
size of the cache is equal to the _MAX_SS variable (512 or 4096 bytes).
|
||||
This option uses more RAM if more than 1 file is open, but needs less reads
|
||||
and writes to the storage for some operations.
|
||||
|
||||
If this option is not set, _FS_TINY is 1, and single cache is used for
|
||||
all open files, size is also equal to _MAX_SS variable. This reduces the
|
||||
amount of heap used when multiple files are open, but increases the number
|
||||
of read and write operations which FATFS needs to make.
|
||||
* 0: Disable file lock function. To avoid volume corruption, application
|
||||
should avoid illegal open, remove and rename to the open objects.
|
||||
|
||||
* >0: Enable file lock function. The value defines how many files/sub-directories
|
||||
can be opened simultaneously under file lock control.
|
||||
|
||||
Note that the file lock control is independent of re-entrancy.
|
||||
|
||||
config FATFS_TIMEOUT_MS
|
||||
int "Timeout for acquiring a file lock, ms"
|
||||
default 10000
|
||||
help
|
||||
This option sets FATFS configuration value _FS_TIMEOUT, scaled to milliseconds.
|
||||
Sets the number of milliseconds FATFS will wait to acquire a mutex when
|
||||
operating on an open file. For example, if one task is performing a lenghty
|
||||
operation, another task will wait for the first task to release the lock,
|
||||
and time out after amount of time set by this option.
|
||||
|
||||
|
||||
config FATFS_ALLOC_PREFER_EXTRAM
|
||||
bool "Perfer external RAM when allocating FATFS buffers"
|
||||
default y
|
||||
depends on SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC
|
||||
help
|
||||
When the option is enabled, internal buffers used by FATFS will be allocated
|
||||
from external RAM. If the allocation from external RAM fails, the buffer will
|
||||
be allocated from the internal RAM.
|
||||
Disable this option if optimizing for performance. Enable this option if
|
||||
optimizing for internal memory size.
|
||||
config FATFS_PER_FILE_CACHE
|
||||
bool "Use separate cache for each file"
|
||||
default y
|
||||
help
|
||||
This option affects FATFS configuration value _FS_TINY.
|
||||
|
||||
If this option is set, _FS_TINY is 0, and each open file has its own cache,
|
||||
size of the cache is equal to the _MAX_SS variable (512 or 4096 bytes).
|
||||
This option uses more RAM if more than 1 file is open, but needs less reads
|
||||
and writes to the storage for some operations.
|
||||
|
||||
If this option is not set, _FS_TINY is 1, and single cache is used for
|
||||
all open files, size is also equal to _MAX_SS variable. This reduces the
|
||||
amount of heap used when multiple files are open, but increases the number
|
||||
of read and write operations which FATFS needs to make.
|
||||
|
||||
|
||||
config FATFS_ALLOC_PREFER_EXTRAM
|
||||
bool "Perfer external RAM when allocating FATFS buffers"
|
||||
default y
|
||||
depends on SPIRAM_USE_CAPS_ALLOC || SPIRAM_USE_MALLOC
|
||||
help
|
||||
When the option is enabled, internal buffers used by FATFS will be allocated
|
||||
from external RAM. If the allocation from external RAM fails, the buffer will
|
||||
be allocated from the internal RAM.
|
||||
Disable this option if optimizing for performance. Enable this option if
|
||||
optimizing for internal memory size.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,109 +1,109 @@
|
||||
menu "Modbus configuration"
|
||||
|
||||
config MB_QUEUE_LENGTH
|
||||
int "Modbus serial task queue length"
|
||||
range 0 200
|
||||
default 20
|
||||
help
|
||||
Modbus serial driver queue length. It is used by event queue task.
|
||||
See the serial driver API for more information.
|
||||
|
||||
config MB_SERIAL_TASK_STACK_SIZE
|
||||
int "Modbus serial task stack size"
|
||||
range 768 8192
|
||||
default 2048
|
||||
help
|
||||
Modbus serial task stack size for event queue task.
|
||||
It may be adjusted when debugging is enabled (for example).
|
||||
config MB_QUEUE_LENGTH
|
||||
int "Modbus serial task queue length"
|
||||
range 0 200
|
||||
default 20
|
||||
help
|
||||
Modbus serial driver queue length. It is used by event queue task.
|
||||
See the serial driver API for more information.
|
||||
|
||||
config MB_SERIAL_BUF_SIZE
|
||||
int "Modbus serial task RX/TX buffer size"
|
||||
range 0 2048
|
||||
default 256
|
||||
help
|
||||
Modbus serial task RX and TX buffer size for UART driver initialization.
|
||||
This buffer is used for Modbus frame transfer. The Modbus protocol maximum
|
||||
frame size is 256 bytes. Bigger size can be used for non standard implementations.
|
||||
|
||||
config MB_SERIAL_TASK_PRIO
|
||||
int "Modbus serial task priority"
|
||||
range 3 10
|
||||
default 10
|
||||
help
|
||||
Modbus UART driver event task priority.
|
||||
The priority of Modbus controller task is equal to (CONFIG_MB_SERIAL_TASK_PRIO - 1).
|
||||
config MB_SERIAL_TASK_STACK_SIZE
|
||||
int "Modbus serial task stack size"
|
||||
range 768 8192
|
||||
default 2048
|
||||
help
|
||||
Modbus serial task stack size for event queue task.
|
||||
It may be adjusted when debugging is enabled (for example).
|
||||
|
||||
config MB_CONTROLLER_SLAVE_ID_SUPPORT
|
||||
bool "Modbus controller slave ID support"
|
||||
default n
|
||||
help
|
||||
Modbus slave ID support enable.
|
||||
When enabled the Modbus <Report Slave ID> command is supported by stack.
|
||||
config MB_SERIAL_BUF_SIZE
|
||||
int "Modbus serial task RX/TX buffer size"
|
||||
range 0 2048
|
||||
default 256
|
||||
help
|
||||
Modbus serial task RX and TX buffer size for UART driver initialization.
|
||||
This buffer is used for Modbus frame transfer. The Modbus protocol maximum
|
||||
frame size is 256 bytes. Bigger size can be used for non standard implementations.
|
||||
|
||||
config MB_CONTROLLER_SLAVE_ID
|
||||
hex "Modbus controller slave ID"
|
||||
range 0 4294967295
|
||||
default 0x00112233
|
||||
depends on MB_CONTROLLER_SLAVE_ID_SUPPORT
|
||||
help
|
||||
Modbus slave ID value to identify modbus device
|
||||
in the network using <Report Slave ID> command.
|
||||
Most significant byte of ID is used as short device ID and
|
||||
other three bytes used as long ID.
|
||||
config MB_SERIAL_TASK_PRIO
|
||||
int "Modbus serial task priority"
|
||||
range 3 10
|
||||
default 10
|
||||
help
|
||||
Modbus UART driver event task priority.
|
||||
The priority of Modbus controller task is equal to (CONFIG_MB_SERIAL_TASK_PRIO - 1).
|
||||
|
||||
config MB_CONTROLLER_NOTIFY_TIMEOUT
|
||||
int "Modbus controller notification timeout (ms)"
|
||||
range 0 200
|
||||
default 20
|
||||
help
|
||||
Modbus controller notification timeout in milliseconds.
|
||||
This timeout is used to send notification about accessed parameters.
|
||||
config MB_CONTROLLER_SLAVE_ID_SUPPORT
|
||||
bool "Modbus controller slave ID support"
|
||||
default n
|
||||
help
|
||||
Modbus slave ID support enable.
|
||||
When enabled the Modbus <Report Slave ID> command is supported by stack.
|
||||
|
||||
config MB_CONTROLLER_NOTIFY_QUEUE_SIZE
|
||||
int "Modbus controller notification queue size"
|
||||
range 0 200
|
||||
default 20
|
||||
help
|
||||
Modbus controller notification queue size.
|
||||
The notification queue is used to get information about accessed parameters.
|
||||
config MB_CONTROLLER_SLAVE_ID
|
||||
hex "Modbus controller slave ID"
|
||||
range 0 4294967295
|
||||
default 0x00112233
|
||||
depends on MB_CONTROLLER_SLAVE_ID_SUPPORT
|
||||
help
|
||||
Modbus slave ID value to identify modbus device
|
||||
in the network using <Report Slave ID> command.
|
||||
Most significant byte of ID is used as short device ID and
|
||||
other three bytes used as long ID.
|
||||
|
||||
config MB_CONTROLLER_STACK_SIZE
|
||||
int "Modbus controller stack size"
|
||||
range 0 8192
|
||||
default 4096
|
||||
help
|
||||
Modbus controller task stack size. The Stack size may be adjusted when
|
||||
debug mode is used which requires more stack size (for example).
|
||||
config MB_CONTROLLER_NOTIFY_TIMEOUT
|
||||
int "Modbus controller notification timeout (ms)"
|
||||
range 0 200
|
||||
default 20
|
||||
help
|
||||
Modbus controller notification timeout in milliseconds.
|
||||
This timeout is used to send notification about accessed parameters.
|
||||
|
||||
config MB_EVENT_QUEUE_TIMEOUT
|
||||
int "Modbus stack event queue timeout (ms)"
|
||||
range 0 500
|
||||
default 20
|
||||
help
|
||||
Modbus stack event queue timeout in milliseconds. This may help to optimize
|
||||
Modbus stack event processing time.
|
||||
|
||||
config MB_TIMER_PORT_ENABLED
|
||||
bool "Modbus stack use timer for 3.5T symbol time measurement"
|
||||
default y
|
||||
help
|
||||
If this option is set the Modbus stack uses timer for T3.5 time measurement.
|
||||
Else the internal UART TOUT timeout is used for 3.5T symbol time measurement.
|
||||
config MB_CONTROLLER_NOTIFY_QUEUE_SIZE
|
||||
int "Modbus controller notification queue size"
|
||||
range 0 200
|
||||
default 20
|
||||
help
|
||||
Modbus controller notification queue size.
|
||||
The notification queue is used to get information about accessed parameters.
|
||||
|
||||
config MB_TIMER_GROUP
|
||||
int "Modbus Timer group number"
|
||||
range 0 1
|
||||
depends on MB_TIMER_PORT_ENABLED
|
||||
default 0
|
||||
help
|
||||
Modbus Timer group number that is used for timeout measurement.
|
||||
config MB_CONTROLLER_STACK_SIZE
|
||||
int "Modbus controller stack size"
|
||||
range 0 8192
|
||||
default 4096
|
||||
help
|
||||
Modbus controller task stack size. The Stack size may be adjusted when
|
||||
debug mode is used which requires more stack size (for example).
|
||||
|
||||
config MB_TIMER_INDEX
|
||||
int "Modbus Timer index in the group"
|
||||
range 0 1
|
||||
depends on MB_TIMER_PORT_ENABLED
|
||||
default 0
|
||||
help
|
||||
Modbus Timer Index in the group that is used for timeout measurement.
|
||||
config MB_EVENT_QUEUE_TIMEOUT
|
||||
int "Modbus stack event queue timeout (ms)"
|
||||
range 0 500
|
||||
default 20
|
||||
help
|
||||
Modbus stack event queue timeout in milliseconds. This may help to optimize
|
||||
Modbus stack event processing time.
|
||||
|
||||
config MB_TIMER_PORT_ENABLED
|
||||
bool "Modbus stack use timer for 3.5T symbol time measurement"
|
||||
default y
|
||||
help
|
||||
If this option is set the Modbus stack uses timer for T3.5 time measurement.
|
||||
Else the internal UART TOUT timeout is used for 3.5T symbol time measurement.
|
||||
|
||||
config MB_TIMER_GROUP
|
||||
int "Modbus Timer group number"
|
||||
range 0 1
|
||||
depends on MB_TIMER_PORT_ENABLED
|
||||
default 0
|
||||
help
|
||||
Modbus Timer group number that is used for timeout measurement.
|
||||
|
||||
config MB_TIMER_INDEX
|
||||
int "Modbus Timer index in the group"
|
||||
range 0 1
|
||||
depends on MB_TIMER_PORT_ENABLED
|
||||
default 0
|
||||
help
|
||||
Modbus Timer Index in the group that is used for timeout measurement.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,203 +1,204 @@
|
||||
menu "FreeRTOS"
|
||||
|
||||
# This is actually also handled in the ESP32 startup code, not only in FreeRTOS.
|
||||
config FREERTOS_UNICORE
|
||||
bool "Run FreeRTOS only on first core"
|
||||
default n
|
||||
help
|
||||
This version of FreeRTOS normally takes control of all cores of
|
||||
the CPU. Select this if you only want to start it on the first core.
|
||||
This is needed when e.g. another process needs complete control
|
||||
over the second core.
|
||||
# This is actually also handled in the ESP32 startup code, not only in FreeRTOS.
|
||||
config FREERTOS_UNICORE
|
||||
bool "Run FreeRTOS only on first core"
|
||||
default n
|
||||
help
|
||||
This version of FreeRTOS normally takes control of all cores of
|
||||
the CPU. Select this if you only want to start it on the first core.
|
||||
This is needed when e.g. another process needs complete control
|
||||
over the second core.
|
||||
|
||||
# This invisible config value sets the value of tskNO_AFFINITY in task.h.
|
||||
# Intended to be used as a constant from other Kconfig files.
|
||||
# Value is (32-bit) INT_MAX.
|
||||
config FREERTOS_NO_AFFINITY
|
||||
hex
|
||||
default 0x7FFFFFFF
|
||||
# This invisible config value sets the value of tskNO_AFFINITY in task.h.
|
||||
# Intended to be used as a constant from other Kconfig files.
|
||||
# Value is (32-bit) INT_MAX.
|
||||
config FREERTOS_NO_AFFINITY
|
||||
hex
|
||||
default 0x7FFFFFFF
|
||||
|
||||
choice FREERTOS_CORETIMER
|
||||
prompt "Xtensa timer to use as the FreeRTOS tick source"
|
||||
default CONFIG_FREERTOS_CORETIMER_0
|
||||
help
|
||||
FreeRTOS needs a timer with an associated interrupt to use as
|
||||
the main tick source to increase counters, run timers and do
|
||||
pre-emptive multitasking with. There are multiple timers available
|
||||
to do this, with different interrupt priorities. Check
|
||||
choice FREERTOS_CORETIMER
|
||||
prompt "Xtensa timer to use as the FreeRTOS tick source"
|
||||
default CONFIG_FREERTOS_CORETIMER_0
|
||||
help
|
||||
FreeRTOS needs a timer with an associated interrupt to use as
|
||||
the main tick source to increase counters, run timers and do
|
||||
pre-emptive multitasking with. There are multiple timers available
|
||||
to do this, with different interrupt priorities. Check
|
||||
|
||||
config FREERTOS_CORETIMER_0
|
||||
bool "Timer 0 (int 6, level 1)"
|
||||
help
|
||||
Select this to use timer 0
|
||||
config FREERTOS_CORETIMER_0
|
||||
bool "Timer 0 (int 6, level 1)"
|
||||
help
|
||||
Select this to use timer 0
|
||||
|
||||
config FREERTOS_CORETIMER_1
|
||||
bool "Timer 1 (int 15, level 3)"
|
||||
help
|
||||
Select this to use timer 1
|
||||
config FREERTOS_CORETIMER_1
|
||||
bool "Timer 1 (int 15, level 3)"
|
||||
help
|
||||
Select this to use timer 1
|
||||
|
||||
endchoice
|
||||
endchoice
|
||||
|
||||
config FREERTOS_HZ
|
||||
int "Tick rate (Hz)"
|
||||
range 1 1000
|
||||
default 100
|
||||
help
|
||||
Select the tick rate at which FreeRTOS does pre-emptive context switching.
|
||||
config FREERTOS_HZ
|
||||
int "Tick rate (Hz)"
|
||||
range 1 1000
|
||||
default 100
|
||||
help
|
||||
Select the tick rate at which FreeRTOS does pre-emptive context switching.
|
||||
|
||||
config FREERTOS_ASSERT_ON_UNTESTED_FUNCTION
|
||||
bool "Halt when an SMP-untested function is called"
|
||||
default y
|
||||
help
|
||||
Some functions in FreeRTOS have not been thoroughly tested yet when moving to
|
||||
the SMP implementation of FreeRTOS. When this option is enabled, these fuctions
|
||||
will throw an assert().
|
||||
config FREERTOS_ASSERT_ON_UNTESTED_FUNCTION
|
||||
bool "Halt when an SMP-untested function is called"
|
||||
default y
|
||||
help
|
||||
Some functions in FreeRTOS have not been thoroughly tested yet when moving to
|
||||
the SMP implementation of FreeRTOS. When this option is enabled, these fuctions
|
||||
will throw an assert().
|
||||
|
||||
choice FREERTOS_CHECK_STACKOVERFLOW
|
||||
prompt "Check for stack overflow"
|
||||
default FREERTOS_CHECK_STACKOVERFLOW_CANARY
|
||||
help
|
||||
FreeRTOS can check for stack overflows in threads and trigger an user function
|
||||
called vApplicationStackOverflowHook when this happens.
|
||||
choice FREERTOS_CHECK_STACKOVERFLOW
|
||||
prompt "Check for stack overflow"
|
||||
default FREERTOS_CHECK_STACKOVERFLOW_CANARY
|
||||
help
|
||||
FreeRTOS can check for stack overflows in threads and trigger an user function
|
||||
called vApplicationStackOverflowHook when this happens.
|
||||
|
||||
config FREERTOS_CHECK_STACKOVERFLOW_NONE
|
||||
bool "No checking"
|
||||
help
|
||||
Do not check for stack overflows (configCHECK_FOR_STACK_OVERFLOW=0)
|
||||
config FREERTOS_CHECK_STACKOVERFLOW_NONE
|
||||
bool "No checking"
|
||||
help
|
||||
Do not check for stack overflows (configCHECK_FOR_STACK_OVERFLOW=0)
|
||||
|
||||
config FREERTOS_CHECK_STACKOVERFLOW_PTRVAL
|
||||
bool "Check by stack pointer value"
|
||||
help
|
||||
Check for stack overflows on each context switch by checking if
|
||||
the stack pointer is in a valid range. Quick but does not detect
|
||||
stack overflows that happened between context switches
|
||||
(configCHECK_FOR_STACK_OVERFLOW=1)
|
||||
config FREERTOS_CHECK_STACKOVERFLOW_PTRVAL
|
||||
bool "Check by stack pointer value"
|
||||
help
|
||||
Check for stack overflows on each context switch by checking if
|
||||
the stack pointer is in a valid range. Quick but does not detect
|
||||
stack overflows that happened between context switches
|
||||
(configCHECK_FOR_STACK_OVERFLOW=1)
|
||||
|
||||
config FREERTOS_CHECK_STACKOVERFLOW_CANARY
|
||||
bool "Check using canary bytes"
|
||||
help
|
||||
Places some magic bytes at the end of the stack area and on each
|
||||
context switch, check if these bytes are still intact. More thorough
|
||||
than just checking the pointer, but also slightly slower.
|
||||
(configCHECK_FOR_STACK_OVERFLOW=2)
|
||||
endchoice
|
||||
config FREERTOS_CHECK_STACKOVERFLOW_CANARY
|
||||
bool "Check using canary bytes"
|
||||
help
|
||||
Places some magic bytes at the end of the stack area and on each
|
||||
context switch, check if these bytes are still intact. More thorough
|
||||
than just checking the pointer, but also slightly slower.
|
||||
(configCHECK_FOR_STACK_OVERFLOW=2)
|
||||
endchoice
|
||||
|
||||
config FREERTOS_WATCHPOINT_END_OF_STACK
|
||||
bool "Set a debug watchpoint as a stack overflow check"
|
||||
default n
|
||||
help
|
||||
FreeRTOS can check if a stack has overflown its bounds by checking either the value of
|
||||
the stack pointer or by checking the integrity of canary bytes. (See FREERTOS_CHECK_STACKOVERFLOW
|
||||
for more information.) These checks only happen on a context switch, and the situation that caused
|
||||
the stack overflow may already be long gone by then. This option will use the debug memory
|
||||
watchpoint 1 (the second one) to allow breaking into the debugger (or panic'ing) as soon as any
|
||||
of the last 32 bytes on the stack of a task are overwritten. The side effect is that using gdb, you
|
||||
effectively only have one watchpoint; the 2nd one is overwritten as soon as a task switch happens.
|
||||
config FREERTOS_WATCHPOINT_END_OF_STACK
|
||||
bool "Set a debug watchpoint as a stack overflow check"
|
||||
default n
|
||||
help
|
||||
FreeRTOS can check if a stack has overflown its bounds by checking either the value of
|
||||
the stack pointer or by checking the integrity of canary bytes. (See FREERTOS_CHECK_STACKOVERFLOW
|
||||
for more information.) These checks only happen on a context switch, and the situation that caused
|
||||
the stack overflow may already be long gone by then. This option will use the debug memory
|
||||
watchpoint 1 (the second one) to allow breaking into the debugger (or panic'ing) as soon as any
|
||||
of the last 32 bytes on the stack of a task are overwritten. The side effect is that using gdb, you
|
||||
effectively only have one watchpoint; the 2nd one is overwritten as soon as a task switch happens.
|
||||
|
||||
This check only triggers if the stack overflow writes within 4 bytes of the end of the stack, rather than
|
||||
overshooting further, so it is worth combining this approach with one of the other stack overflow check methods.
|
||||
This check only triggers if the stack overflow writes within 4 bytes of the end of the stack, rather than
|
||||
overshooting further, so it is worth combining this approach with one of the other stack overflow check
|
||||
methods.
|
||||
|
||||
When this watchpoint is hit, gdb will stop with a SIGTRAP message. When no JTAG OCD is attached, esp-idf
|
||||
will panic on an unhandled debug exception.
|
||||
When this watchpoint is hit, gdb will stop with a SIGTRAP message. When no JTAG OCD is attached, esp-idf
|
||||
will panic on an unhandled debug exception.
|
||||
|
||||
config FREERTOS_INTERRUPT_BACKTRACE
|
||||
bool "Enable backtrace from interrupt to task context"
|
||||
default y
|
||||
help
|
||||
If this option is enabled, interrupt stack frame will be modified to
|
||||
point to the code of the interrupted task as its return address.
|
||||
This helps the debugger (or the panic handler) show a backtrace from
|
||||
the interrupt to the task which was interrupted. This also works for
|
||||
nested interrupts: higer level interrupt stack can be traced back to the
|
||||
lower level interrupt.
|
||||
This option adds 4 instructions to the interrupt dispatching code.
|
||||
config FREERTOS_INTERRUPT_BACKTRACE
|
||||
bool "Enable backtrace from interrupt to task context"
|
||||
default y
|
||||
help
|
||||
If this option is enabled, interrupt stack frame will be modified to
|
||||
point to the code of the interrupted task as its return address.
|
||||
This helps the debugger (or the panic handler) show a backtrace from
|
||||
the interrupt to the task which was interrupted. This also works for
|
||||
nested interrupts: higer level interrupt stack can be traced back to the
|
||||
lower level interrupt.
|
||||
This option adds 4 instructions to the interrupt dispatching code.
|
||||
|
||||
config FREERTOS_THREAD_LOCAL_STORAGE_POINTERS
|
||||
int "Number of thread local storage pointers"
|
||||
range 1 256
|
||||
default 1
|
||||
help
|
||||
FreeRTOS has the ability to store per-thread pointers in the task
|
||||
control block. This controls the number of pointers available.
|
||||
config FREERTOS_THREAD_LOCAL_STORAGE_POINTERS
|
||||
int "Number of thread local storage pointers"
|
||||
range 1 256
|
||||
default 1
|
||||
help
|
||||
FreeRTOS has the ability to store per-thread pointers in the task
|
||||
control block. This controls the number of pointers available.
|
||||
|
||||
This value must be at least 1. Index 0 is reserved for use by the pthreads API
|
||||
thread-local-storage. Other indexes can be used for any desired purpose.
|
||||
This value must be at least 1. Index 0 is reserved for use by the pthreads API
|
||||
thread-local-storage. Other indexes can be used for any desired purpose.
|
||||
|
||||
choice FREERTOS_ASSERT
|
||||
prompt "FreeRTOS assertions"
|
||||
default FREERTOS_ASSERT_FAIL_ABORT
|
||||
help
|
||||
Failed FreeRTOS configASSERT() assertions can be configured to
|
||||
behave in different ways.
|
||||
choice FREERTOS_ASSERT
|
||||
prompt "FreeRTOS assertions"
|
||||
default FREERTOS_ASSERT_FAIL_ABORT
|
||||
help
|
||||
Failed FreeRTOS configASSERT() assertions can be configured to
|
||||
behave in different ways.
|
||||
|
||||
config FREERTOS_ASSERT_FAIL_ABORT
|
||||
bool "abort() on failed assertions"
|
||||
help
|
||||
If a FreeRTOS configASSERT() fails, FreeRTOS will abort() and
|
||||
halt execution. The panic handler can be configured to handle
|
||||
the outcome of an abort() in different ways.
|
||||
config FREERTOS_ASSERT_FAIL_ABORT
|
||||
bool "abort() on failed assertions"
|
||||
help
|
||||
If a FreeRTOS configASSERT() fails, FreeRTOS will abort() and
|
||||
halt execution. The panic handler can be configured to handle
|
||||
the outcome of an abort() in different ways.
|
||||
|
||||
config FREERTOS_ASSERT_FAIL_PRINT_CONTINUE
|
||||
bool "Print and continue failed assertions"
|
||||
help
|
||||
If a FreeRTOS assertion fails, print it out and continue.
|
||||
config FREERTOS_ASSERT_FAIL_PRINT_CONTINUE
|
||||
bool "Print and continue failed assertions"
|
||||
help
|
||||
If a FreeRTOS assertion fails, print it out and continue.
|
||||
|
||||
config FREERTOS_ASSERT_DISABLE
|
||||
bool "Disable FreeRTOS assertions"
|
||||
help
|
||||
FreeRTOS configASSERT() will not be compiled into the binary.
|
||||
config FREERTOS_ASSERT_DISABLE
|
||||
bool "Disable FreeRTOS assertions"
|
||||
help
|
||||
FreeRTOS configASSERT() will not be compiled into the binary.
|
||||
|
||||
endchoice
|
||||
endchoice
|
||||
|
||||
config FREERTOS_IDLE_TASK_STACKSIZE
|
||||
int "Idle Task stack size"
|
||||
range 768 32768
|
||||
default 1536
|
||||
help
|
||||
The idle task has its own stack, sized in bytes. The default size is enough for most uses. Size can be reduced
|
||||
to 768 bytes if no (or simple) FreeRTOS idle hooks are used and pthread local storage or FreeRTOS local storage
|
||||
cleanup callbacks are not used.
|
||||
config FREERTOS_IDLE_TASK_STACKSIZE
|
||||
int "Idle Task stack size"
|
||||
range 768 32768
|
||||
default 1536
|
||||
help
|
||||
The idle task has its own stack, sized in bytes. The default size is enough for most uses. Size can be
|
||||
reduced to 768 bytes if no (or simple) FreeRTOS idle hooks are used and pthread local storage or FreeRTOS
|
||||
local storage cleanup callbacks are not used.
|
||||
|
||||
The stack size may need to be increased above the default if the app installs idle or thread local storage
|
||||
cleanup hooks that use a lot of stack memory.
|
||||
The stack size may need to be increased above the default if the app installs idle or thread local storage
|
||||
cleanup hooks that use a lot of stack memory.
|
||||
|
||||
config FREERTOS_ISR_STACKSIZE
|
||||
int "ISR stack size"
|
||||
range 1536 32768
|
||||
default 1536
|
||||
help
|
||||
The interrupt handlers have their own stack. The size of the stack can be defined here.
|
||||
Each processor has its own stack, so the total size occupied will be twice this.
|
||||
config FREERTOS_ISR_STACKSIZE
|
||||
int "ISR stack size"
|
||||
range 1536 32768
|
||||
default 1536
|
||||
help
|
||||
The interrupt handlers have their own stack. The size of the stack can be defined here.
|
||||
Each processor has its own stack, so the total size occupied will be twice this.
|
||||
|
||||
config FREERTOS_LEGACY_HOOKS
|
||||
bool "Use FreeRTOS legacy hooks"
|
||||
default n
|
||||
help
|
||||
FreeRTOS offers a number of hooks/callback functions that are called when a timer
|
||||
tick happens, the idle thread runs etc. esp-idf replaces these by runtime registerable
|
||||
hooks using the esp_register_freertos_xxx_hook system, but for legacy reasons the old
|
||||
hooks can also still be enabled. Please enable this only if you have code that for some
|
||||
reason can't be migrated to the esp_register_freertos_xxx_hook system.
|
||||
config FREERTOS_LEGACY_HOOKS
|
||||
bool "Use FreeRTOS legacy hooks"
|
||||
default n
|
||||
help
|
||||
FreeRTOS offers a number of hooks/callback functions that are called when a timer
|
||||
tick happens, the idle thread runs etc. esp-idf replaces these by runtime registerable
|
||||
hooks using the esp_register_freertos_xxx_hook system, but for legacy reasons the old
|
||||
hooks can also still be enabled. Please enable this only if you have code that for some
|
||||
reason can't be migrated to the esp_register_freertos_xxx_hook system.
|
||||
|
||||
config FREERTOS_MAX_TASK_NAME_LEN
|
||||
int "Maximum task name length"
|
||||
range 1 256
|
||||
default 16
|
||||
help
|
||||
Changes the maximum task name length. Each task allocated will
|
||||
include this many bytes for a task name. Using a shorter value
|
||||
saves a small amount of RAM, a longer value allows more complex
|
||||
names.
|
||||
config FREERTOS_MAX_TASK_NAME_LEN
|
||||
int "Maximum task name length"
|
||||
range 1 256
|
||||
default 16
|
||||
help
|
||||
Changes the maximum task name length. Each task allocated will
|
||||
include this many bytes for a task name. Using a shorter value
|
||||
saves a small amount of RAM, a longer value allows more complex
|
||||
names.
|
||||
|
||||
For most uses, the default of 16 is OK.
|
||||
For most uses, the default of 16 is OK.
|
||||
|
||||
config SUPPORT_STATIC_ALLOCATION
|
||||
bool "Enable FreeRTOS static allocation API"
|
||||
default n
|
||||
help
|
||||
FreeRTOS gives the application writer the ability to instead provide the memory
|
||||
themselves, allowing the following objects to optionally be created without any
|
||||
memory being allocated dynamically:
|
||||
config SUPPORT_STATIC_ALLOCATION
|
||||
bool "Enable FreeRTOS static allocation API"
|
||||
default n
|
||||
help
|
||||
FreeRTOS gives the application writer the ability to instead provide the memory
|
||||
themselves, allowing the following objects to optionally be created without any
|
||||
memory being allocated dynamically:
|
||||
|
||||
- Tasks
|
||||
- Software Timers (Daemon task is still dynamic. See documentation)
|
||||
@@ -208,214 +209,214 @@ config SUPPORT_STATIC_ALLOCATION
|
||||
- Recursive Semaphores
|
||||
- Mutexes
|
||||
|
||||
Whether it is preferable to use static or dynamic memory allocation is dependent on
|
||||
the application, and the preference of the application writer. Both methods have pros
|
||||
and cons, and both methods can be used within the same RTOS application.
|
||||
Whether it is preferable to use static or dynamic memory allocation is dependent on
|
||||
the application, and the preference of the application writer. Both methods have pros
|
||||
and cons, and both methods can be used within the same RTOS application.
|
||||
|
||||
Creating RTOS objects using statically allocated RAM has the benefit of providing the
|
||||
application writer with more control: RTOS objects can be placed at specific memory locations.
|
||||
The maximum RAM footprint can be determined at link time, rather than run time.
|
||||
The application writer does not need to concern themselves with graceful handling of memory allocation failures.
|
||||
It allows the RTOS to be used in applications that simply don't allow any dynamic memory allocation
|
||||
(although FreeRTOS includes allocation schemes that can overcome most objections).
|
||||
Creating RTOS objects using statically allocated RAM has the benefit of providing the application writer
|
||||
with more control: RTOS objects can be placed at specific memory locations. The maximum RAM footprint can
|
||||
be determined at link time, rather than run time. The application writer does not need to concern
|
||||
themselves with graceful handling of memory allocation failures. It allows the RTOS to be used in
|
||||
applications that simply don't allow any dynamic memory allocation (although FreeRTOS includes allocation
|
||||
schemes that can overcome most objections).
|
||||
|
||||
config ENABLE_STATIC_TASK_CLEAN_UP_HOOK
|
||||
bool "Enable static task clean up hook"
|
||||
depends on SUPPORT_STATIC_ALLOCATION
|
||||
default n
|
||||
help
|
||||
Enable this option to make FreeRTOS call the static task clean up hook when a task is deleted.
|
||||
config ENABLE_STATIC_TASK_CLEAN_UP_HOOK
|
||||
bool "Enable static task clean up hook"
|
||||
depends on SUPPORT_STATIC_ALLOCATION
|
||||
default n
|
||||
help
|
||||
Enable this option to make FreeRTOS call the static task clean up hook when a task is deleted.
|
||||
|
||||
Bear in mind that if this option is enabled you will need to implement the following function::
|
||||
Bear in mind that if this option is enabled you will need to implement the following function::
|
||||
|
||||
void vPortCleanUpTCB ( void *pxTCB ) {
|
||||
// place clean up code here
|
||||
}
|
||||
void vPortCleanUpTCB ( void *pxTCB ) {
|
||||
// place clean up code here
|
||||
}
|
||||
|
||||
config TIMER_TASK_PRIORITY
|
||||
int "FreeRTOS timer task priority"
|
||||
range 1 25
|
||||
default 1
|
||||
help
|
||||
The timer service task (primarily) makes use of existing FreeRTOS features, allowing timer
|
||||
functionality to be added to an application with minimal impact on the size of the application's
|
||||
executable binary.
|
||||
config TIMER_TASK_PRIORITY
|
||||
int "FreeRTOS timer task priority"
|
||||
range 1 25
|
||||
default 1
|
||||
help
|
||||
The timer service task (primarily) makes use of existing FreeRTOS features, allowing timer
|
||||
functionality to be added to an application with minimal impact on the size of the application's
|
||||
executable binary.
|
||||
|
||||
Use this constant to define the priority that the timer task will run at.
|
||||
Use this constant to define the priority that the timer task will run at.
|
||||
|
||||
config TIMER_TASK_STACK_DEPTH
|
||||
int "FreeRTOS timer task stack size"
|
||||
range 1536 32768
|
||||
default 2048
|
||||
help
|
||||
The timer service task (primarily) makes use of existing FreeRTOS features, allowing timer
|
||||
functionality to be added to an application with minimal impact on the size of the application's
|
||||
executable binary.
|
||||
config TIMER_TASK_STACK_DEPTH
|
||||
int "FreeRTOS timer task stack size"
|
||||
range 1536 32768
|
||||
default 2048
|
||||
help
|
||||
The timer service task (primarily) makes use of existing FreeRTOS features, allowing timer
|
||||
functionality to be added to an application with minimal impact on the size of the application's
|
||||
executable binary.
|
||||
|
||||
Use this constant to define the size (in bytes) of the stack allocated for the timer task.
|
||||
Use this constant to define the size (in bytes) of the stack allocated for the timer task.
|
||||
|
||||
config TIMER_QUEUE_LENGTH
|
||||
int "FreeRTOS timer queue length"
|
||||
range 5 20
|
||||
default 10
|
||||
help
|
||||
FreeRTOS provides a set of timer related API functions. Many of these functions use a standard
|
||||
FreeRTOS queue to send commands to the timer service task. The queue used for this purpose is
|
||||
called the 'timer command queue'. The 'timer command queue' is private to the FreeRTOS timer
|
||||
implementation, and cannot be accessed directly.
|
||||
config TIMER_QUEUE_LENGTH
|
||||
int "FreeRTOS timer queue length"
|
||||
range 5 20
|
||||
default 10
|
||||
help
|
||||
FreeRTOS provides a set of timer related API functions. Many of these functions use a standard
|
||||
FreeRTOS queue to send commands to the timer service task. The queue used for this purpose is
|
||||
called the 'timer command queue'. The 'timer command queue' is private to the FreeRTOS timer
|
||||
implementation, and cannot be accessed directly.
|
||||
|
||||
For most uses the default value of 10 is OK.
|
||||
For most uses the default value of 10 is OK.
|
||||
|
||||
config FREERTOS_QUEUE_REGISTRY_SIZE
|
||||
int "FreeRTOS queue registry size"
|
||||
range 0 20
|
||||
default 0
|
||||
help
|
||||
FreeRTOS uses the queue registry as a means for kernel aware debuggers to locate queues, semaphores,
|
||||
and mutexes. The registry allows for a textual name to be associated with a queue for easy identification
|
||||
within a debugging GUI. A value of 0 will disable queue registry functionality, and a value larger than 0
|
||||
will specify the number of queues/semaphores/mutexes that the registry can hold.
|
||||
config FREERTOS_QUEUE_REGISTRY_SIZE
|
||||
int "FreeRTOS queue registry size"
|
||||
range 0 20
|
||||
default 0
|
||||
help
|
||||
FreeRTOS uses the queue registry as a means for kernel aware debuggers to locate queues, semaphores,
|
||||
and mutexes. The registry allows for a textual name to be associated with a queue for easy identification
|
||||
within a debugging GUI. A value of 0 will disable queue registry functionality, and a value larger than 0
|
||||
will specify the number of queues/semaphores/mutexes that the registry can hold.
|
||||
|
||||
config FREERTOS_USE_TRACE_FACILITY
|
||||
bool "Enable FreeRTOS trace facility"
|
||||
default n
|
||||
help
|
||||
If enabled, configUSE_TRACE_FACILITY will be defined as 1 in FreeRTOS.
|
||||
This will allow the usage of trace facility functions such as
|
||||
uxTaskGetSystemState().
|
||||
config FREERTOS_USE_TRACE_FACILITY
|
||||
bool "Enable FreeRTOS trace facility"
|
||||
default n
|
||||
help
|
||||
If enabled, configUSE_TRACE_FACILITY will be defined as 1 in FreeRTOS.
|
||||
This will allow the usage of trace facility functions such as
|
||||
uxTaskGetSystemState().
|
||||
|
||||
config FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
|
||||
bool "Enable FreeRTOS stats formatting functions"
|
||||
depends on FREERTOS_USE_TRACE_FACILITY
|
||||
default n
|
||||
help
|
||||
If enabled, configUSE_STATS_FORMATTING_FUNCTIONS will be defined as 1 in
|
||||
FreeRTOS. This will allow the usage of stats formatting functions such
|
||||
as vTaskList().
|
||||
config FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
|
||||
bool "Enable FreeRTOS stats formatting functions"
|
||||
depends on FREERTOS_USE_TRACE_FACILITY
|
||||
default n
|
||||
help
|
||||
If enabled, configUSE_STATS_FORMATTING_FUNCTIONS will be defined as 1 in
|
||||
FreeRTOS. This will allow the usage of stats formatting functions such
|
||||
as vTaskList().
|
||||
|
||||
config FREERTOS_VTASKLIST_INCLUDE_COREID
|
||||
bool "Enable display of xCoreID in vTaskList"
|
||||
depends on FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
|
||||
default n
|
||||
help
|
||||
If enabled, this will include an extra column when vTaskList is called
|
||||
to display the CoreID the task is pinned to (0,1) or -1 if not pinned.
|
||||
config FREERTOS_VTASKLIST_INCLUDE_COREID
|
||||
bool "Enable display of xCoreID in vTaskList"
|
||||
depends on FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
|
||||
default n
|
||||
help
|
||||
If enabled, this will include an extra column when vTaskList is called
|
||||
to display the CoreID the task is pinned to (0,1) or -1 if not pinned.
|
||||
|
||||
config FREERTOS_GENERATE_RUN_TIME_STATS
|
||||
bool "Enable FreeRTOS to collect run time stats"
|
||||
default n
|
||||
select FREERTOS_USE_TRACE_FACILITY
|
||||
select FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
|
||||
help
|
||||
If enabled, configGENERATE_RUN_TIME_STATS will be defined as 1 in
|
||||
FreeRTOS. This will allow FreeRTOS to collect information regarding the
|
||||
usage of processor time amongst FreeRTOS tasks. Run time stats are
|
||||
generated using either the ESP Timer or the CPU Clock as the clock
|
||||
source (Note that run time stats are only valid until the clock source
|
||||
overflows). The function vTaskGetRunTimeStats() will also be available
|
||||
if FREERTOS_USE_STATS_FORMATTING_FUNCTIONS and
|
||||
FREERTOS_USE_TRACE_FACILITY are enabled. vTaskGetRunTimeStats() will
|
||||
display the run time of each task as a % of the total run time of all
|
||||
CPUs (task run time / no of CPUs) / (total run time / 100 )
|
||||
|
||||
|
||||
choice FREERTOS_RUN_TIME_STATS_CLK
|
||||
prompt "Choose the clock source for run time stats"
|
||||
depends on FREERTOS_GENERATE_RUN_TIME_STATS
|
||||
default FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER
|
||||
help
|
||||
Choose the clock source for FreeRTOS run time stats. Options are CPU0's
|
||||
CPU Clock or the ESP Timer. Both clock sources are 32 bits. The CPU
|
||||
Clock can run at a higher frequency hence provide a finer resolution
|
||||
but will overflow much quicker. Note that run time stats are only valid
|
||||
until the clock source overflows.
|
||||
|
||||
config FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER
|
||||
bool "Use ESP TIMER for run time stats"
|
||||
help
|
||||
ESP Timer will be used as the clock source for FreeRTOS run time stats.
|
||||
The ESP Timer runs at a frequency of 1MHz regardless of Dynamic
|
||||
Frequency Scaling. Therefore the ESP Timer will overflow in
|
||||
approximately 4290 seconds.
|
||||
config FREERTOS_GENERATE_RUN_TIME_STATS
|
||||
bool "Enable FreeRTOS to collect run time stats"
|
||||
default n
|
||||
select FREERTOS_USE_TRACE_FACILITY
|
||||
select FREERTOS_USE_STATS_FORMATTING_FUNCTIONS
|
||||
help
|
||||
If enabled, configGENERATE_RUN_TIME_STATS will be defined as 1 in
|
||||
FreeRTOS. This will allow FreeRTOS to collect information regarding the
|
||||
usage of processor time amongst FreeRTOS tasks. Run time stats are
|
||||
generated using either the ESP Timer or the CPU Clock as the clock
|
||||
source (Note that run time stats are only valid until the clock source
|
||||
overflows). The function vTaskGetRunTimeStats() will also be available
|
||||
if FREERTOS_USE_STATS_FORMATTING_FUNCTIONS and
|
||||
FREERTOS_USE_TRACE_FACILITY are enabled. vTaskGetRunTimeStats() will
|
||||
display the run time of each task as a % of the total run time of all
|
||||
CPUs (task run time / no of CPUs) / (total run time / 100 )
|
||||
|
||||
config FREERTOS_RUN_TIME_STATS_USING_CPU_CLK
|
||||
bool "Use CPU Clock for run time stats"
|
||||
help
|
||||
CPU Clock will be used as the clock source for the generation of run
|
||||
time stats. The CPU Clock has a frequency dependent on
|
||||
ESP32_DEFAULT_CPU_FREQ_MHZ and Dynamic Frequency Scaling (DFS).
|
||||
Therefore the CPU Clock frequency can fluctuate between 80 to 240MHz.
|
||||
Run time stats generated using the CPU Clock represents the number of
|
||||
CPU cycles each task is allocated and DOES NOT reflect the amount of
|
||||
time each task runs for (as CPU clock frequency can change). If the CPU
|
||||
clock consistently runs at the maximum frequency of 240MHz, it will
|
||||
overflow in approximately 17 seconds.
|
||||
|
||||
endchoice
|
||||
choice FREERTOS_RUN_TIME_STATS_CLK
|
||||
prompt "Choose the clock source for run time stats"
|
||||
depends on FREERTOS_GENERATE_RUN_TIME_STATS
|
||||
default FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER
|
||||
help
|
||||
Choose the clock source for FreeRTOS run time stats. Options are CPU0's
|
||||
CPU Clock or the ESP Timer. Both clock sources are 32 bits. The CPU
|
||||
Clock can run at a higher frequency hence provide a finer resolution
|
||||
but will overflow much quicker. Note that run time stats are only valid
|
||||
until the clock source overflows.
|
||||
|
||||
config FREERTOS_USE_TICKLESS_IDLE
|
||||
bool "Tickless idle support"
|
||||
depends on PM_ENABLE
|
||||
default n
|
||||
help
|
||||
If power management support is enabled, FreeRTOS will be able to put
|
||||
the system into light sleep mode when no tasks need to run for a number
|
||||
of ticks. This number can be set using FREERTOS_IDLE_TIME_BEFORE_SLEEP option.
|
||||
This feature is also known as "automatic light sleep".
|
||||
config FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER
|
||||
bool "Use ESP TIMER for run time stats"
|
||||
help
|
||||
ESP Timer will be used as the clock source for FreeRTOS run time stats.
|
||||
The ESP Timer runs at a frequency of 1MHz regardless of Dynamic
|
||||
Frequency Scaling. Therefore the ESP Timer will overflow in
|
||||
approximately 4290 seconds.
|
||||
|
||||
Note that timers created using esp_timer APIs may prevent the system from
|
||||
entering sleep mode, even when no tasks need to run.
|
||||
config FREERTOS_RUN_TIME_STATS_USING_CPU_CLK
|
||||
bool "Use CPU Clock for run time stats"
|
||||
help
|
||||
CPU Clock will be used as the clock source for the generation of run
|
||||
time stats. The CPU Clock has a frequency dependent on
|
||||
ESP32_DEFAULT_CPU_FREQ_MHZ and Dynamic Frequency Scaling (DFS).
|
||||
Therefore the CPU Clock frequency can fluctuate between 80 to 240MHz.
|
||||
Run time stats generated using the CPU Clock represents the number of
|
||||
CPU cycles each task is allocated and DOES NOT reflect the amount of
|
||||
time each task runs for (as CPU clock frequency can change). If the CPU
|
||||
clock consistently runs at the maximum frequency of 240MHz, it will
|
||||
overflow in approximately 17 seconds.
|
||||
|
||||
If disabled, automatic light sleep support will be disabled.
|
||||
endchoice
|
||||
|
||||
config FREERTOS_IDLE_TIME_BEFORE_SLEEP
|
||||
int "Minimum number of ticks to enter sleep mode for"
|
||||
depends on FREERTOS_USE_TICKLESS_IDLE
|
||||
default 3
|
||||
range 2 4294967295
|
||||
# Minimal value is 2 because of a check in FreeRTOS.h (search configEXPECTED_IDLE_TIME_BEFORE_SLEEP)
|
||||
help
|
||||
FreeRTOS will enter light sleep mode if no tasks need to run for this number
|
||||
of ticks.
|
||||
config FREERTOS_USE_TICKLESS_IDLE
|
||||
bool "Tickless idle support"
|
||||
depends on PM_ENABLE
|
||||
default n
|
||||
help
|
||||
If power management support is enabled, FreeRTOS will be able to put
|
||||
the system into light sleep mode when no tasks need to run for a number
|
||||
of ticks. This number can be set using FREERTOS_IDLE_TIME_BEFORE_SLEEP option.
|
||||
This feature is also known as "automatic light sleep".
|
||||
|
||||
menuconfig FREERTOS_DEBUG_INTERNALS
|
||||
bool "Debug FreeRTOS internals"
|
||||
default n
|
||||
help
|
||||
Enable this option to show the menu with internal FreeRTOS debugging features.
|
||||
This option does not change any code by itself, it just shows/hides some options.
|
||||
Note that timers created using esp_timer APIs may prevent the system from
|
||||
entering sleep mode, even when no tasks need to run.
|
||||
|
||||
if FREERTOS_DEBUG_INTERNALS
|
||||
If disabled, automatic light sleep support will be disabled.
|
||||
|
||||
config FREERTOS_PORTMUX_DEBUG
|
||||
bool "Debug portMUX portENTER_CRITICAL/portEXIT_CRITICAL"
|
||||
depends on FREERTOS_DEBUG_INTERNALS
|
||||
default n
|
||||
help
|
||||
If enabled, debug information (including integrity checks) will be printed
|
||||
to UART for the port-specific MUX implementation.
|
||||
config FREERTOS_IDLE_TIME_BEFORE_SLEEP
|
||||
int "Minimum number of ticks to enter sleep mode for"
|
||||
depends on FREERTOS_USE_TICKLESS_IDLE
|
||||
default 3
|
||||
range 2 4294967295
|
||||
# Minimal value is 2 because of a check in FreeRTOS.h (search configEXPECTED_IDLE_TIME_BEFORE_SLEEP)
|
||||
help
|
||||
FreeRTOS will enter light sleep mode if no tasks need to run for this number
|
||||
of ticks.
|
||||
|
||||
if !FREERTOS_UNICORE
|
||||
config FREERTOS_PORTMUX_DEBUG_RECURSIVE
|
||||
bool "Debug portMUX Recursion"
|
||||
depends on FREERTOS_PORTMUX_DEBUG
|
||||
default n
|
||||
help
|
||||
If enabled, additional debug information will be printed for recursive
|
||||
portMUX usage.
|
||||
endif #FREERTOS_UNICORE
|
||||
menuconfig FREERTOS_DEBUG_INTERNALS
|
||||
bool "Debug FreeRTOS internals"
|
||||
default n
|
||||
help
|
||||
Enable this option to show the menu with internal FreeRTOS debugging features.
|
||||
This option does not change any code by itself, it just shows/hides some options.
|
||||
|
||||
endif # FREERTOS_DEBUG_INTERNALS
|
||||
if FREERTOS_DEBUG_INTERNALS
|
||||
|
||||
config FREERTOS_TASK_FUNCTION_WRAPPER
|
||||
bool "Enclose all task functions in a wrapper function"
|
||||
depends on OPTIMIZATION_LEVEL_DEBUG
|
||||
default y
|
||||
help
|
||||
If enabled, all FreeRTOS task functions will be enclosed in a wrapper function.
|
||||
If a task function mistakenly returns (i.e. does not delete), the call flow will
|
||||
return to the wrapper function. The wrapper function will then log an error and
|
||||
abort the application. This option is also required for GDB backtraces and C++
|
||||
exceptions to work correctly inside top-level task functions.
|
||||
config FREERTOS_PORTMUX_DEBUG
|
||||
bool "Debug portMUX portENTER_CRITICAL/portEXIT_CRITICAL"
|
||||
depends on FREERTOS_DEBUG_INTERNALS
|
||||
default n
|
||||
help
|
||||
If enabled, debug information (including integrity checks) will be printed
|
||||
to UART for the port-specific MUX implementation.
|
||||
|
||||
if !FREERTOS_UNICORE
|
||||
config FREERTOS_PORTMUX_DEBUG_RECURSIVE
|
||||
bool "Debug portMUX Recursion"
|
||||
depends on FREERTOS_PORTMUX_DEBUG
|
||||
default n
|
||||
help
|
||||
If enabled, additional debug information will be printed for recursive
|
||||
portMUX usage.
|
||||
endif #FREERTOS_UNICORE
|
||||
|
||||
endif # FREERTOS_DEBUG_INTERNALS
|
||||
|
||||
config FREERTOS_TASK_FUNCTION_WRAPPER
|
||||
bool "Enclose all task functions in a wrapper function"
|
||||
depends on OPTIMIZATION_LEVEL_DEBUG
|
||||
default y
|
||||
help
|
||||
If enabled, all FreeRTOS task functions will be enclosed in a wrapper function.
|
||||
If a task function mistakenly returns (i.e. does not delete), the call flow will
|
||||
return to the wrapper function. The wrapper function will then log an error and
|
||||
abort the application. This option is also required for GDB backtraces and C++
|
||||
exceptions to work correctly inside top-level task functions.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
menu "Heap memory debugging"
|
||||
|
||||
choice HEAP_CORRUPTION_DETECTION
|
||||
prompt "Heap corruption detection"
|
||||
default HEAP_POISONING_DISABLED
|
||||
help
|
||||
Enable heap poisoning features to detect heap corruption caused by out-of-bounds access to heap memory.
|
||||
choice HEAP_CORRUPTION_DETECTION
|
||||
prompt "Heap corruption detection"
|
||||
default HEAP_POISONING_DISABLED
|
||||
help
|
||||
Enable heap poisoning features to detect heap corruption caused by out-of-bounds access to heap memory.
|
||||
|
||||
See the "Heap Memory Debugging" page of the IDF documentation
|
||||
for a description of each level of heap corruption detection.
|
||||
See the "Heap Memory Debugging" page of the IDF documentation
|
||||
for a description of each level of heap corruption detection.
|
||||
|
||||
config HEAP_POISONING_DISABLED
|
||||
bool "Basic (no poisoning)"
|
||||
config HEAP_POISONING_LIGHT
|
||||
bool "Light impact"
|
||||
config HEAP_POISONING_COMPREHENSIVE
|
||||
bool "Comprehensive"
|
||||
endchoice
|
||||
config HEAP_POISONING_DISABLED
|
||||
bool "Basic (no poisoning)"
|
||||
config HEAP_POISONING_LIGHT
|
||||
bool "Light impact"
|
||||
config HEAP_POISONING_COMPREHENSIVE
|
||||
bool "Comprehensive"
|
||||
endchoice
|
||||
|
||||
config HEAP_TRACING
|
||||
bool "Enable heap tracing"
|
||||
help
|
||||
Enables the heap tracing API defined in esp_heap_trace.h.
|
||||
config HEAP_TRACING
|
||||
bool "Enable heap tracing"
|
||||
help
|
||||
Enables the heap tracing API defined in esp_heap_trace.h.
|
||||
|
||||
This function causes a moderate increase in IRAM code side and a minor increase in heap function
|
||||
(malloc/free/realloc) CPU overhead, even when the tracing feature is not used. So it's best to keep it disabled
|
||||
unless tracing is being used.
|
||||
This function causes a moderate increase in IRAM code side and a minor increase in heap function
|
||||
(malloc/free/realloc) CPU overhead, even when the tracing feature is not used. So it's best to keep it
|
||||
disabled unless tracing is being used.
|
||||
|
||||
config HEAP_TRACING_STACK_DEPTH
|
||||
int "Heap tracing stack depth"
|
||||
range 0 10
|
||||
default 2
|
||||
depends on HEAP_TRACING
|
||||
help
|
||||
Number of stack frames to save when tracing heap operation callers.
|
||||
config HEAP_TRACING_STACK_DEPTH
|
||||
int "Heap tracing stack depth"
|
||||
range 0 10
|
||||
default 2
|
||||
depends on HEAP_TRACING
|
||||
help
|
||||
Number of stack frames to save when tracing heap operation callers.
|
||||
|
||||
More stack frames uses more memory in the heap trace buffer (and slows down allocation), but
|
||||
can provide useful information.
|
||||
More stack frames uses more memory in the heap trace buffer (and slows down allocation), but
|
||||
can provide useful information.
|
||||
|
||||
config HEAP_TASK_TRACKING
|
||||
bool "Enable heap task tracking"
|
||||
depends on !HEAP_POISONING_DISABLED
|
||||
help
|
||||
Enables tracking the task responsible for each heap allocation.
|
||||
config HEAP_TASK_TRACKING
|
||||
bool "Enable heap task tracking"
|
||||
depends on !HEAP_POISONING_DISABLED
|
||||
help
|
||||
Enables tracking the task responsible for each heap allocation.
|
||||
|
||||
This function depends on heap poisoning being enabled and adds four more bytes of overhead for each block
|
||||
allocated.
|
||||
This function depends on heap poisoning being enabled and adds four more bytes of overhead for each block
|
||||
allocated.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
menu "libsodium"
|
||||
|
||||
config LIBSODIUM_USE_MBEDTLS_SHA
|
||||
bool "Use mbedTLS SHA256 & SHA512 implementations"
|
||||
default y
|
||||
depends on !MBEDTLS_HARDWARE_SHA
|
||||
help
|
||||
If this option is enabled, libsodium will use thin wrappers
|
||||
around mbedTLS for SHA256 & SHA512 operations.
|
||||
config LIBSODIUM_USE_MBEDTLS_SHA
|
||||
bool "Use mbedTLS SHA256 & SHA512 implementations"
|
||||
default y
|
||||
depends on !MBEDTLS_HARDWARE_SHA
|
||||
help
|
||||
If this option is enabled, libsodium will use thin wrappers
|
||||
around mbedTLS for SHA256 & SHA512 operations.
|
||||
|
||||
This saves some code size if mbedTLS is also used. However it
|
||||
is incompatible with hardware SHA acceleration (due to the
|
||||
way libsodium's API manages SHA state).
|
||||
This saves some code size if mbedTLS is also used. However it
|
||||
is incompatible with hardware SHA acceleration (due to the
|
||||
way libsodium's API manages SHA state).
|
||||
|
||||
endmenu # libsodium
|
||||
|
||||
@@ -1,48 +1,48 @@
|
||||
menu "Log output"
|
||||
|
||||
choice LOG_DEFAULT_LEVEL
|
||||
bool "Default log verbosity"
|
||||
default LOG_DEFAULT_LEVEL_INFO
|
||||
help
|
||||
Specify how much output to see in logs by default.
|
||||
You can set lower verbosity level at runtime using
|
||||
esp_log_level_set function.
|
||||
|
||||
Note that this setting limits which log statements
|
||||
are compiled into the program. So setting this to, say,
|
||||
"Warning" would mean that changing log level to "Debug"
|
||||
at runtime will not be possible.
|
||||
choice LOG_DEFAULT_LEVEL
|
||||
bool "Default log verbosity"
|
||||
default LOG_DEFAULT_LEVEL_INFO
|
||||
help
|
||||
Specify how much output to see in logs by default.
|
||||
You can set lower verbosity level at runtime using
|
||||
esp_log_level_set function.
|
||||
|
||||
config LOG_DEFAULT_LEVEL_NONE
|
||||
bool "No output"
|
||||
config LOG_DEFAULT_LEVEL_ERROR
|
||||
bool "Error"
|
||||
config LOG_DEFAULT_LEVEL_WARN
|
||||
bool "Warning"
|
||||
config LOG_DEFAULT_LEVEL_INFO
|
||||
bool "Info"
|
||||
config LOG_DEFAULT_LEVEL_DEBUG
|
||||
bool "Debug"
|
||||
config LOG_DEFAULT_LEVEL_VERBOSE
|
||||
bool "Verbose"
|
||||
endchoice
|
||||
Note that this setting limits which log statements
|
||||
are compiled into the program. So setting this to, say,
|
||||
"Warning" would mean that changing log level to "Debug"
|
||||
at runtime will not be possible.
|
||||
|
||||
config LOG_DEFAULT_LEVEL
|
||||
int
|
||||
default 0 if LOG_DEFAULT_LEVEL_NONE
|
||||
default 1 if LOG_DEFAULT_LEVEL_ERROR
|
||||
default 2 if LOG_DEFAULT_LEVEL_WARN
|
||||
default 3 if LOG_DEFAULT_LEVEL_INFO
|
||||
default 4 if LOG_DEFAULT_LEVEL_DEBUG
|
||||
default 5 if LOG_DEFAULT_LEVEL_VERBOSE
|
||||
config LOG_DEFAULT_LEVEL_NONE
|
||||
bool "No output"
|
||||
config LOG_DEFAULT_LEVEL_ERROR
|
||||
bool "Error"
|
||||
config LOG_DEFAULT_LEVEL_WARN
|
||||
bool "Warning"
|
||||
config LOG_DEFAULT_LEVEL_INFO
|
||||
bool "Info"
|
||||
config LOG_DEFAULT_LEVEL_DEBUG
|
||||
bool "Debug"
|
||||
config LOG_DEFAULT_LEVEL_VERBOSE
|
||||
bool "Verbose"
|
||||
endchoice
|
||||
|
||||
config LOG_COLORS
|
||||
bool "Use ANSI terminal colors in log output"
|
||||
default "y"
|
||||
help
|
||||
Enable ANSI terminal color codes in bootloader output.
|
||||
config LOG_DEFAULT_LEVEL
|
||||
int
|
||||
default 0 if LOG_DEFAULT_LEVEL_NONE
|
||||
default 1 if LOG_DEFAULT_LEVEL_ERROR
|
||||
default 2 if LOG_DEFAULT_LEVEL_WARN
|
||||
default 3 if LOG_DEFAULT_LEVEL_INFO
|
||||
default 4 if LOG_DEFAULT_LEVEL_DEBUG
|
||||
default 5 if LOG_DEFAULT_LEVEL_VERBOSE
|
||||
|
||||
In order to view these, your terminal program must support ANSI color codes.
|
||||
config LOG_COLORS
|
||||
bool "Use ANSI terminal colors in log output"
|
||||
default "y"
|
||||
help
|
||||
Enable ANSI terminal color codes in bootloader output.
|
||||
|
||||
In order to view these, your terminal program must support ANSI color codes.
|
||||
|
||||
|
||||
endmenu
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,13 +1,13 @@
|
||||
menu "mDNS"
|
||||
|
||||
config MDNS_MAX_SERVICES
|
||||
int "Max number of services"
|
||||
range 1 64
|
||||
default 10
|
||||
help
|
||||
Services take up a certain amount of memory, and allowing fewer
|
||||
services to be open at the same time conserves memory. Specify
|
||||
the maximum amount of services here. The valid value is from 1
|
||||
to 64.
|
||||
|
||||
config MDNS_MAX_SERVICES
|
||||
int "Max number of services"
|
||||
range 1 64
|
||||
default 10
|
||||
help
|
||||
Services take up a certain amount of memory, and allowing fewer
|
||||
services to be open at the same time conserves memory. Specify
|
||||
the maximum amount of services here. The valid value is from 1
|
||||
to 64.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,102 +1,103 @@
|
||||
menu "ESP-MQTT Configurations"
|
||||
|
||||
config MQTT_PROTOCOL_311
|
||||
bool "Enable MQTT protocol 3.1.1"
|
||||
default y
|
||||
help
|
||||
If not, this library will use MQTT protocol 3.1
|
||||
config MQTT_PROTOCOL_311
|
||||
bool "Enable MQTT protocol 3.1.1"
|
||||
default y
|
||||
help
|
||||
If not, this library will use MQTT protocol 3.1
|
||||
|
||||
config MQTT_TRANSPORT_SSL
|
||||
bool "Enable MQTT over SSL"
|
||||
default y
|
||||
help
|
||||
Enable MQTT transport over SSL with mbedtls
|
||||
config MQTT_TRANSPORT_SSL
|
||||
bool "Enable MQTT over SSL"
|
||||
default y
|
||||
help
|
||||
Enable MQTT transport over SSL with mbedtls
|
||||
|
||||
config MQTT_TRANSPORT_WEBSOCKET
|
||||
bool "Enable MQTT over Websocket"
|
||||
default y
|
||||
help
|
||||
Enable MQTT transport over Websocket.
|
||||
config MQTT_TRANSPORT_WEBSOCKET
|
||||
bool "Enable MQTT over Websocket"
|
||||
default y
|
||||
help
|
||||
Enable MQTT transport over Websocket.
|
||||
|
||||
config MQTT_TRANSPORT_WEBSOCKET_SECURE
|
||||
bool "Enable MQTT over Websocket Secure"
|
||||
default y
|
||||
depends on MQTT_TRANSPORT_WEBSOCKET
|
||||
depends on MQTT_TRANSPORT_SSL
|
||||
help
|
||||
Enable MQTT transport over Websocket Secure.
|
||||
config MQTT_TRANSPORT_WEBSOCKET_SECURE
|
||||
bool "Enable MQTT over Websocket Secure"
|
||||
default y
|
||||
depends on MQTT_TRANSPORT_WEBSOCKET
|
||||
depends on MQTT_TRANSPORT_SSL
|
||||
help
|
||||
Enable MQTT transport over Websocket Secure.
|
||||
|
||||
config MQTT_USE_CUSTOM_CONFIG
|
||||
bool "MQTT Using custom configurations"
|
||||
default n
|
||||
help
|
||||
Custom MQTT configurations.
|
||||
config MQTT_USE_CUSTOM_CONFIG
|
||||
bool "MQTT Using custom configurations"
|
||||
default n
|
||||
help
|
||||
Custom MQTT configurations.
|
||||
|
||||
config MQTT_TCP_DEFAULT_PORT
|
||||
int "Default MQTT over TCP port"
|
||||
default 1883
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
help
|
||||
Default MQTT over TCP port
|
||||
config MQTT_TCP_DEFAULT_PORT
|
||||
int "Default MQTT over TCP port"
|
||||
default 1883
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
help
|
||||
Default MQTT over TCP port
|
||||
|
||||
config MQTT_SSL_DEFAULT_PORT
|
||||
int "Default MQTT over SSL port"
|
||||
default 8883
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
depends on MQTT_TRANSPORT_SSL
|
||||
help
|
||||
Default MQTT over SSL port
|
||||
|
||||
config MQTT_WS_DEFAULT_PORT
|
||||
int "Default MQTT over Websocket port"
|
||||
default 80
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
depends on MQTT_TRANSPORT_WEBSOCKET
|
||||
help
|
||||
Default MQTT over Websocket port
|
||||
config MQTT_SSL_DEFAULT_PORT
|
||||
int "Default MQTT over SSL port"
|
||||
default 8883
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
depends on MQTT_TRANSPORT_SSL
|
||||
help
|
||||
Default MQTT over SSL port
|
||||
|
||||
config MQTT_WSS_DEFAULT_PORT
|
||||
int "Default MQTT over Websocket Secure port"
|
||||
default 443
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
depends on MQTT_TRANSPORT_WEBSOCKET
|
||||
depends on MQTT_TRANSPORT_WEBSOCKET_SECURE
|
||||
help
|
||||
Default MQTT over Websocket Secure port
|
||||
config MQTT_WS_DEFAULT_PORT
|
||||
int "Default MQTT over Websocket port"
|
||||
default 80
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
depends on MQTT_TRANSPORT_WEBSOCKET
|
||||
help
|
||||
Default MQTT over Websocket port
|
||||
|
||||
config MQTT_BUFFER_SIZE
|
||||
int "Default MQTT Buffer Size"
|
||||
default 1024
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
help
|
||||
This buffer size using for both transmit and receive
|
||||
config MQTT_WSS_DEFAULT_PORT
|
||||
int "Default MQTT over Websocket Secure port"
|
||||
default 443
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
depends on MQTT_TRANSPORT_WEBSOCKET
|
||||
depends on MQTT_TRANSPORT_WEBSOCKET_SECURE
|
||||
help
|
||||
Default MQTT over Websocket Secure port
|
||||
|
||||
config MQTT_TASK_STACK_SIZE
|
||||
int "MQTT task stack size"
|
||||
default 6144
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
help
|
||||
MQTT task stack size
|
||||
config MQTT_BUFFER_SIZE
|
||||
int "Default MQTT Buffer Size"
|
||||
default 1024
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
help
|
||||
This buffer size using for both transmit and receive
|
||||
|
||||
config MQTT_TASK_CORE_SELECTION_ENABLED
|
||||
bool "Enable MQTT task core selection"
|
||||
default false
|
||||
help
|
||||
This will enable core selection
|
||||
config MQTT_TASK_STACK_SIZE
|
||||
int "MQTT task stack size"
|
||||
default 6144
|
||||
depends on MQTT_USE_CUSTOM_CONFIG
|
||||
help
|
||||
MQTT task stack size
|
||||
|
||||
choice MQTT_TASK_CORE_SELECTION
|
||||
depends on MQTT_TASK_CORE_SELECTION_ENABLED
|
||||
prompt "Core to use ?"
|
||||
config MQTT_USE_CORE_0
|
||||
bool "Core 0"
|
||||
config MQTT_USE_CORE_1
|
||||
bool "Core 1"
|
||||
endchoice
|
||||
config MQTT_TASK_CORE_SELECTION_ENABLED
|
||||
bool "Enable MQTT task core selection"
|
||||
default false
|
||||
help
|
||||
This will enable core selection
|
||||
|
||||
config MQTT_CUSTOM_OUTBOX
|
||||
bool "Enable custom outbox implementation"
|
||||
default n
|
||||
help
|
||||
Set to true if a specific implementation of message outbox is needed (e.g. persistant outbox in NVM or similar).
|
||||
choice MQTT_TASK_CORE_SELECTION
|
||||
depends on MQTT_TASK_CORE_SELECTION_ENABLED
|
||||
prompt "Core to use ?"
|
||||
config MQTT_USE_CORE_0
|
||||
bool "Core 0"
|
||||
config MQTT_USE_CORE_1
|
||||
bool "Core 1"
|
||||
endchoice
|
||||
|
||||
config MQTT_CUSTOM_OUTBOX
|
||||
bool "Enable custom outbox implementation"
|
||||
default n
|
||||
help
|
||||
Set to true if a specific implementation of message outbox is needed (e.g. persistant outbox in NVM or
|
||||
similar).
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
menu NVS
|
||||
|
||||
config NVS_ENCRYPTION
|
||||
bool "Enable NVS encryption"
|
||||
default n
|
||||
depends on FLASH_ENCRYPTION_ENABLED
|
||||
help
|
||||
This option enables encryption for NVS. When enabled, AES-XTS is used to encrypt
|
||||
the complete NVS data, except the page headers. It requires XTS encryption keys
|
||||
to be stored in an encrypted partition. This means enabling flash encryption is
|
||||
a pre-requisite for this feature.
|
||||
config NVS_ENCRYPTION
|
||||
bool "Enable NVS encryption"
|
||||
default n
|
||||
depends on FLASH_ENCRYPTION_ENABLED
|
||||
help
|
||||
This option enables encryption for NVS. When enabled, AES-XTS is used to encrypt
|
||||
the complete NVS data, except the page headers. It requires XTS encryption keys
|
||||
to be stored in an encrypted partition. This means enabling flash encryption is
|
||||
a pre-requisite for this feature.
|
||||
endmenu
|
||||
|
||||
@@ -1,70 +1,72 @@
|
||||
menu "OpenSSL"
|
||||
|
||||
config OPENSSL_DEBUG
|
||||
bool "Enable OpenSSL debugging"
|
||||
default n
|
||||
help
|
||||
Enable OpenSSL debugging function.
|
||||
config OPENSSL_DEBUG
|
||||
bool "Enable OpenSSL debugging"
|
||||
default n
|
||||
help
|
||||
Enable OpenSSL debugging function.
|
||||
|
||||
If the option is enabled, "SSL_DEBUG" works.
|
||||
If the option is enabled, "SSL_DEBUG" works.
|
||||
|
||||
config OPENSSL_DEBUG_LEVEL
|
||||
int "OpenSSL debugging level"
|
||||
default 0
|
||||
range 0 255
|
||||
depends on OPENSSL_DEBUG
|
||||
help
|
||||
OpenSSL debugging level.
|
||||
config OPENSSL_DEBUG_LEVEL
|
||||
int "OpenSSL debugging level"
|
||||
default 0
|
||||
range 0 255
|
||||
depends on OPENSSL_DEBUG
|
||||
help
|
||||
OpenSSL debugging level.
|
||||
|
||||
Only function whose debugging level is higher than "OPENSSL_DEBUG_LEVEL" works.
|
||||
Only function whose debugging level is higher than "OPENSSL_DEBUG_LEVEL" works.
|
||||
|
||||
For example:
|
||||
If OPENSSL_DEBUG_LEVEL = 2, you use function "SSL_DEBUG(1, "malloc failed")". Because 1 < 2, it will not print.
|
||||
For example:
|
||||
If OPENSSL_DEBUG_LEVEL = 2, you use function "SSL_DEBUG(1, "malloc failed")". Because 1 < 2, it will not
|
||||
print.
|
||||
|
||||
config OPENSSL_LOWLEVEL_DEBUG
|
||||
bool "Enable OpenSSL low-level module debugging"
|
||||
default n
|
||||
depends on OPENSSL_DEBUG
|
||||
select MBEDTLS_DEBUG
|
||||
help
|
||||
If the option is enabled, low-level module debugging function of OpenSSL is enabled, e.g. mbedtls internal debugging function.
|
||||
config OPENSSL_LOWLEVEL_DEBUG
|
||||
bool "Enable OpenSSL low-level module debugging"
|
||||
default n
|
||||
depends on OPENSSL_DEBUG
|
||||
select MBEDTLS_DEBUG
|
||||
help
|
||||
If the option is enabled, low-level module debugging function of OpenSSL is enabled, e.g. mbedtls internal
|
||||
debugging function.
|
||||
|
||||
choice OPENSSL_ASSERT
|
||||
prompt "Select OpenSSL assert function"
|
||||
default CONFIG_OPENSSL_ASSERT_EXIT
|
||||
help
|
||||
OpenSSL function needs "assert" function to check if input parameters are valid.
|
||||
choice OPENSSL_ASSERT
|
||||
prompt "Select OpenSSL assert function"
|
||||
default CONFIG_OPENSSL_ASSERT_EXIT
|
||||
help
|
||||
OpenSSL function needs "assert" function to check if input parameters are valid.
|
||||
|
||||
If you want to use assert debugging function, "OPENSSL_DEBUG" should be enabled.
|
||||
If you want to use assert debugging function, "OPENSSL_DEBUG" should be enabled.
|
||||
|
||||
config OPENSSL_ASSERT_DO_NOTHING
|
||||
bool "Do nothing"
|
||||
help
|
||||
Do nothing and "SSL_ASSERT" does not work.
|
||||
config OPENSSL_ASSERT_DO_NOTHING
|
||||
bool "Do nothing"
|
||||
help
|
||||
Do nothing and "SSL_ASSERT" does not work.
|
||||
|
||||
config OPENSSL_ASSERT_EXIT
|
||||
bool "Check and exit"
|
||||
help
|
||||
Enable assert exiting, it will check and return error code.
|
||||
config OPENSSL_ASSERT_EXIT
|
||||
bool "Check and exit"
|
||||
help
|
||||
Enable assert exiting, it will check and return error code.
|
||||
|
||||
config OPENSSL_ASSERT_DEBUG
|
||||
bool "Show debugging message"
|
||||
depends on OPENSSL_DEBUG
|
||||
help
|
||||
Enable assert debugging, it will check and show debugging message.
|
||||
config OPENSSL_ASSERT_DEBUG
|
||||
bool "Show debugging message"
|
||||
depends on OPENSSL_DEBUG
|
||||
help
|
||||
Enable assert debugging, it will check and show debugging message.
|
||||
|
||||
config OPENSSL_ASSERT_DEBUG_EXIT
|
||||
bool "Show debugging message and exit"
|
||||
depends on OPENSSL_DEBUG
|
||||
help
|
||||
Enable assert debugging and exiting, it will check, show debugging message and return error code.
|
||||
config OPENSSL_ASSERT_DEBUG_EXIT
|
||||
bool "Show debugging message and exit"
|
||||
depends on OPENSSL_DEBUG
|
||||
help
|
||||
Enable assert debugging and exiting, it will check, show debugging message and return error code.
|
||||
|
||||
config OPENSSL_ASSERT_DEBUG_BLOCK
|
||||
bool "Show debugging message and block"
|
||||
depends on OPENSSL_DEBUG
|
||||
help
|
||||
Enable assert debugging and blocking, it will check, show debugging message and block by "while (1);".
|
||||
config OPENSSL_ASSERT_DEBUG_BLOCK
|
||||
bool "Show debugging message and block"
|
||||
depends on OPENSSL_DEBUG
|
||||
help
|
||||
Enable assert debugging and blocking, it will check, show debugging message and block by "while (1);".
|
||||
|
||||
endchoice
|
||||
endchoice
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,62 +1,61 @@
|
||||
menu "Partition Table"
|
||||
|
||||
choice PARTITION_TABLE_TYPE
|
||||
prompt "Partition Table"
|
||||
default PARTITION_TABLE_SINGLE_APP
|
||||
help
|
||||
The partition table to flash to the ESP32. The partition table
|
||||
determines where apps, data and other resources are expected to
|
||||
be found.
|
||||
choice PARTITION_TABLE_TYPE
|
||||
prompt "Partition Table"
|
||||
default PARTITION_TABLE_SINGLE_APP
|
||||
help
|
||||
The partition table to flash to the ESP32. The partition table
|
||||
determines where apps, data and other resources are expected to
|
||||
be found.
|
||||
|
||||
The predefined partition table CSV descriptions can be found
|
||||
in the components/partition_table directory. Otherwise it's
|
||||
possible to create a new custom partition CSV for your application.
|
||||
The predefined partition table CSV descriptions can be found
|
||||
in the components/partition_table directory. Otherwise it's
|
||||
possible to create a new custom partition CSV for your application.
|
||||
|
||||
config PARTITION_TABLE_SINGLE_APP
|
||||
bool "Single factory app, no OTA"
|
||||
config PARTITION_TABLE_TWO_OTA
|
||||
bool "Factory app, two OTA definitions"
|
||||
config PARTITION_TABLE_CUSTOM
|
||||
bool "Custom partition table CSV"
|
||||
endchoice
|
||||
config PARTITION_TABLE_SINGLE_APP
|
||||
bool "Single factory app, no OTA"
|
||||
config PARTITION_TABLE_TWO_OTA
|
||||
bool "Factory app, two OTA definitions"
|
||||
config PARTITION_TABLE_CUSTOM
|
||||
bool "Custom partition table CSV"
|
||||
endchoice
|
||||
|
||||
config PARTITION_TABLE_CUSTOM_FILENAME
|
||||
string "Custom partition CSV file" if PARTITION_TABLE_CUSTOM
|
||||
default partitions.csv
|
||||
help
|
||||
Name of the custom partition CSV filename. This path is evaluated
|
||||
relative to the project root directory.
|
||||
config PARTITION_TABLE_CUSTOM_FILENAME
|
||||
string "Custom partition CSV file" if PARTITION_TABLE_CUSTOM
|
||||
default partitions.csv
|
||||
help
|
||||
Name of the custom partition CSV filename. This path is evaluated
|
||||
relative to the project root directory.
|
||||
|
||||
config PARTITION_TABLE_FILENAME
|
||||
string
|
||||
default partitions_singleapp.csv if PARTITION_TABLE_SINGLE_APP && !ESP32_ENABLE_COREDUMP_TO_FLASH
|
||||
default partitions_singleapp_coredump.csv if PARTITION_TABLE_SINGLE_APP && ESP32_ENABLE_COREDUMP_TO_FLASH
|
||||
default partitions_two_ota.csv if PARTITION_TABLE_TWO_OTA && !ESP32_ENABLE_COREDUMP_TO_FLASH
|
||||
default partitions_two_ota_coredump.csv if PARTITION_TABLE_TWO_OTA && ESP32_ENABLE_COREDUMP_TO_FLASH
|
||||
default PARTITION_TABLE_CUSTOM_FILENAME if PARTITION_TABLE_CUSTOM
|
||||
config PARTITION_TABLE_FILENAME
|
||||
string
|
||||
default partitions_singleapp.csv if PARTITION_TABLE_SINGLE_APP && !ESP32_ENABLE_COREDUMP_TO_FLASH
|
||||
default partitions_singleapp_coredump.csv if PARTITION_TABLE_SINGLE_APP && ESP32_ENABLE_COREDUMP_TO_FLASH
|
||||
default partitions_two_ota.csv if PARTITION_TABLE_TWO_OTA && !ESP32_ENABLE_COREDUMP_TO_FLASH
|
||||
default partitions_two_ota_coredump.csv if PARTITION_TABLE_TWO_OTA && ESP32_ENABLE_COREDUMP_TO_FLASH
|
||||
default PARTITION_TABLE_CUSTOM_FILENAME if PARTITION_TABLE_CUSTOM
|
||||
|
||||
config PARTITION_TABLE_OFFSET
|
||||
hex "Offset of partition table"
|
||||
default 0x8000
|
||||
help
|
||||
The address of partition table (by default 0x8000).
|
||||
Allows you to move the partition table, it gives more space for the bootloader.
|
||||
Note that the bootloader and app will both need to be compiled with the same PARTITION_TABLE_OFFSET value.
|
||||
config PARTITION_TABLE_OFFSET
|
||||
hex "Offset of partition table"
|
||||
default 0x8000
|
||||
help
|
||||
The address of partition table (by default 0x8000).
|
||||
Allows you to move the partition table, it gives more space for the bootloader.
|
||||
Note that the bootloader and app will both need to be compiled with the same PARTITION_TABLE_OFFSET value.
|
||||
|
||||
This number should be a multiple of 0x1000.
|
||||
This number should be a multiple of 0x1000.
|
||||
|
||||
Note that partition offsets in the partition table CSV file may need to be changed if this value is set to a higher value. To have
|
||||
each partition offset adapt to the configured partition table offset, leave all partition offsets blank in the CSV file.
|
||||
Note that partition offsets in the partition table CSV file may need to be changed if this value is set to
|
||||
a higher value. To have each partition offset adapt to the configured partition table offset, leave all
|
||||
partition offsets blank in the CSV file.
|
||||
|
||||
config PARTITION_TABLE_MD5
|
||||
bool "Generate an MD5 checksum for the partition table"
|
||||
default y
|
||||
help
|
||||
Generate an MD5 checksum for the partition table for protecting the
|
||||
integrity of the table. The generation should be turned off for legacy
|
||||
bootloaders which cannot recognize the MD5 checksum in the partition
|
||||
table.
|
||||
config PARTITION_TABLE_MD5
|
||||
bool "Generate an MD5 checksum for the partition table"
|
||||
default y
|
||||
help
|
||||
Generate an MD5 checksum for the partition table for protecting the
|
||||
integrity of the table. The generation should be turned off for legacy
|
||||
bootloaders which cannot recognize the MD5 checksum in the partition
|
||||
table.
|
||||
|
||||
endmenu
|
||||
|
||||
|
||||
|
||||
@@ -1,49 +1,49 @@
|
||||
menu "PThreads"
|
||||
|
||||
config ESP32_PTHREAD_TASK_PRIO_DEFAULT
|
||||
int "Default task priority"
|
||||
range 0 255
|
||||
default 5
|
||||
help
|
||||
Priority used to create new tasks with default pthread parameters.
|
||||
config ESP32_PTHREAD_TASK_PRIO_DEFAULT
|
||||
int "Default task priority"
|
||||
range 0 255
|
||||
default 5
|
||||
help
|
||||
Priority used to create new tasks with default pthread parameters.
|
||||
|
||||
config ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT
|
||||
int "Default task stack size"
|
||||
default 3072
|
||||
help
|
||||
Stack size used to create new tasks with default pthread parameters.
|
||||
config ESP32_PTHREAD_TASK_STACK_SIZE_DEFAULT
|
||||
int "Default task stack size"
|
||||
default 3072
|
||||
help
|
||||
Stack size used to create new tasks with default pthread parameters.
|
||||
|
||||
config PTHREAD_STACK_MIN
|
||||
int "Minimum allowed pthread stack size"
|
||||
default 768
|
||||
help
|
||||
Minimum allowed pthread stack size set in attributes passed to pthread_create
|
||||
config PTHREAD_STACK_MIN
|
||||
int "Minimum allowed pthread stack size"
|
||||
default 768
|
||||
help
|
||||
Minimum allowed pthread stack size set in attributes passed to pthread_create
|
||||
|
||||
choice ESP32_PTHREAD_TASK_CORE_DEFAULT
|
||||
bool "Default pthread core affinity"
|
||||
default ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY
|
||||
depends on !FREERTOS_UNICORE
|
||||
help
|
||||
The default core to which pthreads are pinned.
|
||||
|
||||
config ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY
|
||||
bool "No affinity"
|
||||
config ESP32_DEFAULT_PTHREAD_CORE_0
|
||||
bool "Core 0"
|
||||
config ESP32_DEFAULT_PTHREAD_CORE_1
|
||||
bool "Core 1"
|
||||
endchoice
|
||||
choice ESP32_PTHREAD_TASK_CORE_DEFAULT
|
||||
bool "Default pthread core affinity"
|
||||
default ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY
|
||||
depends on !FREERTOS_UNICORE
|
||||
help
|
||||
The default core to which pthreads are pinned.
|
||||
|
||||
config ESP32_PTHREAD_TASK_CORE_DEFAULT
|
||||
int
|
||||
default -1 if ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY || FREERTOS_UNICORE
|
||||
default 0 if ESP32_DEFAULT_PTHREAD_CORE_0
|
||||
default 1 if ESP32_DEFAULT_PTHREAD_CORE_1
|
||||
config ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY
|
||||
bool "No affinity"
|
||||
config ESP32_DEFAULT_PTHREAD_CORE_0
|
||||
bool "Core 0"
|
||||
config ESP32_DEFAULT_PTHREAD_CORE_1
|
||||
bool "Core 1"
|
||||
endchoice
|
||||
|
||||
config ESP32_PTHREAD_TASK_NAME_DEFAULT
|
||||
string "Default name of pthreads"
|
||||
default "pthread"
|
||||
help
|
||||
The default name of pthreads.
|
||||
config ESP32_PTHREAD_TASK_CORE_DEFAULT
|
||||
int
|
||||
default -1 if ESP32_DEFAULT_PTHREAD_CORE_NO_AFFINITY || FREERTOS_UNICORE
|
||||
default 0 if ESP32_DEFAULT_PTHREAD_CORE_0
|
||||
default 1 if ESP32_DEFAULT_PTHREAD_CORE_1
|
||||
|
||||
config ESP32_PTHREAD_TASK_NAME_DEFAULT
|
||||
string "Default name of pthreads"
|
||||
default "pthread"
|
||||
help
|
||||
The default name of pthreads.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,81 +1,81 @@
|
||||
menu "SPI Flash driver"
|
||||
|
||||
config SPI_FLASH_VERIFY_WRITE
|
||||
bool "Verify SPI flash writes"
|
||||
default n
|
||||
help
|
||||
If this option is enabled, any time SPI flash is written then the data will be read
|
||||
back and verified. This can catch hardware problems with SPI flash, or flash which
|
||||
was not erased before verification.
|
||||
config SPI_FLASH_VERIFY_WRITE
|
||||
bool "Verify SPI flash writes"
|
||||
default n
|
||||
help
|
||||
If this option is enabled, any time SPI flash is written then the data will be read
|
||||
back and verified. This can catch hardware problems with SPI flash, or flash which
|
||||
was not erased before verification.
|
||||
|
||||
config SPI_FLASH_LOG_FAILED_WRITE
|
||||
bool "Log errors if verification fails"
|
||||
depends on SPI_FLASH_VERIFY_WRITE
|
||||
default n
|
||||
help
|
||||
If this option is enabled, if SPI flash write verification fails then a log error line
|
||||
will be written with the address, expected & actual values. This can be useful when
|
||||
debugging hardware SPI flash problems.
|
||||
config SPI_FLASH_LOG_FAILED_WRITE
|
||||
bool "Log errors if verification fails"
|
||||
depends on SPI_FLASH_VERIFY_WRITE
|
||||
default n
|
||||
help
|
||||
If this option is enabled, if SPI flash write verification fails then a log error line
|
||||
will be written with the address, expected & actual values. This can be useful when
|
||||
debugging hardware SPI flash problems.
|
||||
|
||||
config SPI_FLASH_WARN_SETTING_ZERO_TO_ONE
|
||||
bool "Log warning if writing zero bits to ones"
|
||||
depends on SPI_FLASH_VERIFY_WRITE
|
||||
default n
|
||||
help
|
||||
If this option is enabled, any SPI flash write which tries to set zero bits in the flash to
|
||||
ones will log a warning. Such writes will not result in the requested data appearing identically
|
||||
in flash once written, as SPI NOR flash can only set bits to one when an entire sector is erased.
|
||||
After erasing, individual bits can only be written from one to zero.
|
||||
config SPI_FLASH_WARN_SETTING_ZERO_TO_ONE
|
||||
bool "Log warning if writing zero bits to ones"
|
||||
depends on SPI_FLASH_VERIFY_WRITE
|
||||
default n
|
||||
help
|
||||
If this option is enabled, any SPI flash write which tries to set zero bits in the flash to
|
||||
ones will log a warning. Such writes will not result in the requested data appearing identically
|
||||
in flash once written, as SPI NOR flash can only set bits to one when an entire sector is erased.
|
||||
After erasing, individual bits can only be written from one to zero.
|
||||
|
||||
Note that some software (such as SPIFFS) which is aware of SPI NOR flash may write one bits as an
|
||||
optimisation, relying on the data in flash becoming a bitwise AND of the new data and any existing data.
|
||||
Such software will log spurious warnings if this option is enabled.
|
||||
Note that some software (such as SPIFFS) which is aware of SPI NOR flash may write one bits as an
|
||||
optimisation, relying on the data in flash becoming a bitwise AND of the new data and any existing data.
|
||||
Such software will log spurious warnings if this option is enabled.
|
||||
|
||||
config SPI_FLASH_ENABLE_COUNTERS
|
||||
bool "Enable operation counters"
|
||||
default 0
|
||||
help
|
||||
This option enables the following APIs:
|
||||
|
||||
- spi_flash_reset_counters
|
||||
- spi_flash_dump_counters
|
||||
- spi_flash_get_counters
|
||||
|
||||
These APIs may be used to collect performance data for spi_flash APIs
|
||||
and to help understand behaviour of libraries which use SPI flash.
|
||||
config SPI_FLASH_ENABLE_COUNTERS
|
||||
bool "Enable operation counters"
|
||||
default 0
|
||||
help
|
||||
This option enables the following APIs:
|
||||
|
||||
config SPI_FLASH_ROM_DRIVER_PATCH
|
||||
bool "Enable SPI flash ROM driver patched functions"
|
||||
default y
|
||||
help
|
||||
Enable this flag to use patched versions of SPI flash ROM driver functions.
|
||||
This option is needed to write to flash on ESP32-D2WD, and any configuration
|
||||
where external SPI flash is connected to non-default pins.
|
||||
- spi_flash_reset_counters
|
||||
- spi_flash_dump_counters
|
||||
- spi_flash_get_counters
|
||||
|
||||
choice SPI_FLASH_WRITING_DANGEROUS_REGIONS
|
||||
bool "Writing to dangerous flash regions"
|
||||
default SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS
|
||||
help
|
||||
SPI flash APIs can optionally abort or return a failure code
|
||||
if erasing or writing addresses that fall at the beginning
|
||||
of flash (covering the bootloader and partition table) or that
|
||||
overlap the app partition that contains the running app.
|
||||
These APIs may be used to collect performance data for spi_flash APIs
|
||||
and to help understand behaviour of libraries which use SPI flash.
|
||||
|
||||
It is not recommended to ever write to these regions from an IDF app,
|
||||
and this check prevents logic errors or corrupted firmware memory from
|
||||
damaging these regions.
|
||||
config SPI_FLASH_ROM_DRIVER_PATCH
|
||||
bool "Enable SPI flash ROM driver patched functions"
|
||||
default y
|
||||
help
|
||||
Enable this flag to use patched versions of SPI flash ROM driver functions.
|
||||
This option is needed to write to flash on ESP32-D2WD, and any configuration
|
||||
where external SPI flash is connected to non-default pins.
|
||||
|
||||
Note that this feature *does not* check calls to the esp_rom_xxx SPI flash
|
||||
ROM functions. These functions should not be called directly from IDF
|
||||
applications.
|
||||
choice SPI_FLASH_WRITING_DANGEROUS_REGIONS
|
||||
bool "Writing to dangerous flash regions"
|
||||
default SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS
|
||||
help
|
||||
SPI flash APIs can optionally abort or return a failure code
|
||||
if erasing or writing addresses that fall at the beginning
|
||||
of flash (covering the bootloader and partition table) or that
|
||||
overlap the app partition that contains the running app.
|
||||
|
||||
config SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS
|
||||
bool "Aborts"
|
||||
config SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS
|
||||
bool "Fails"
|
||||
config SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED
|
||||
bool "Allowed"
|
||||
endchoice
|
||||
It is not recommended to ever write to these regions from an IDF app,
|
||||
and this check prevents logic errors or corrupted firmware memory from
|
||||
damaging these regions.
|
||||
|
||||
Note that this feature *does not* check calls to the esp_rom_xxx SPI flash
|
||||
ROM functions. These functions should not be called directly from IDF
|
||||
applications.
|
||||
|
||||
config SPI_FLASH_WRITING_DANGEROUS_REGIONS_ABORTS
|
||||
bool "Aborts"
|
||||
config SPI_FLASH_WRITING_DANGEROUS_REGIONS_FAILS
|
||||
bool "Fails"
|
||||
config SPI_FLASH_WRITING_DANGEROUS_REGIONS_ALLOWED
|
||||
bool "Allowed"
|
||||
endchoice
|
||||
|
||||
endmenu
|
||||
|
||||
|
||||
@@ -1,161 +1,161 @@
|
||||
menu "SPIFFS Configuration"
|
||||
|
||||
config SPIFFS_MAX_PARTITIONS
|
||||
int "Maximum Number of Partitions"
|
||||
default 3
|
||||
range 1 10
|
||||
help
|
||||
Define maximum number of partitions that can be mounted.
|
||||
config SPIFFS_MAX_PARTITIONS
|
||||
int "Maximum Number of Partitions"
|
||||
default 3
|
||||
range 1 10
|
||||
help
|
||||
Define maximum number of partitions that can be mounted.
|
||||
|
||||
menu "SPIFFS Cache Configuration"
|
||||
config SPIFFS_CACHE
|
||||
bool "Enable SPIFFS Cache"
|
||||
default "y"
|
||||
help
|
||||
Enables/disable memory read caching of nucleus file system
|
||||
operations.
|
||||
menu "SPIFFS Cache Configuration"
|
||||
config SPIFFS_CACHE
|
||||
bool "Enable SPIFFS Cache"
|
||||
default "y"
|
||||
help
|
||||
Enables/disable memory read caching of nucleus file system
|
||||
operations.
|
||||
|
||||
config SPIFFS_CACHE_WR
|
||||
bool "Enable SPIFFS Write Caching"
|
||||
default "y"
|
||||
depends on SPIFFS_CACHE
|
||||
help
|
||||
Enables memory write caching for file descriptors in hydrogen.
|
||||
config SPIFFS_CACHE_WR
|
||||
bool "Enable SPIFFS Write Caching"
|
||||
default "y"
|
||||
depends on SPIFFS_CACHE
|
||||
help
|
||||
Enables memory write caching for file descriptors in hydrogen.
|
||||
|
||||
config SPIFFS_CACHE_STATS
|
||||
bool "Enable SPIFFS Cache Statistics"
|
||||
default "n"
|
||||
depends on SPIFFS_CACHE
|
||||
help
|
||||
Enable/disable statistics on caching. Debug/test purpose only.
|
||||
|
||||
endmenu
|
||||
|
||||
config SPIFFS_PAGE_CHECK
|
||||
bool "Enable SPIFFS Page Check"
|
||||
default "y"
|
||||
help
|
||||
Always check header of each accessed page to ensure consistent state.
|
||||
If enabled it will increase number of reads from flash, especially
|
||||
if cache is disabled.
|
||||
|
||||
config SPIFFS_GC_MAX_RUNS
|
||||
int "Set Maximum GC Runs"
|
||||
default 10
|
||||
range 1 255
|
||||
help
|
||||
Define maximum number of GC runs to perform to reach desired free pages.
|
||||
|
||||
config SPIFFS_GC_STATS
|
||||
bool "Enable SPIFFS GC Statistics"
|
||||
default "n"
|
||||
help
|
||||
Enable/disable statistics on gc. Debug/test purpose only.
|
||||
|
||||
config SPIFFS_PAGE_SIZE
|
||||
int "SPIFFS logical page size"
|
||||
default 256
|
||||
range 256 1024
|
||||
help
|
||||
Logical page size of SPIFFS partition, in bytes. Must be multiple
|
||||
of flash page size (which is usually 256 bytes).
|
||||
Larger page sizes reduce overhead when storing large files, and
|
||||
improve filesystem performance when reading large files.
|
||||
Smaller page sizes reduce overhead when storing small (< page size)
|
||||
files.
|
||||
|
||||
config SPIFFS_OBJ_NAME_LEN
|
||||
int "Set SPIFFS Maximum Name Length"
|
||||
default 32
|
||||
range 1 256
|
||||
help
|
||||
Object name maximum length. Note that this length include the
|
||||
zero-termination character, meaning maximum string of characters
|
||||
can at most be SPIFFS_OBJ_NAME_LEN - 1.
|
||||
|
||||
SPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed
|
||||
SPIFFS_PAGE_SIZE - 64.
|
||||
|
||||
config SPIFFS_USE_MAGIC
|
||||
bool "Enable SPIFFS Filesystem Magic"
|
||||
default "y"
|
||||
help
|
||||
Enable this to have an identifiable spiffs filesystem.
|
||||
This will look for a magic in all sectors to determine if this
|
||||
is a valid spiffs system or not at mount time.
|
||||
|
||||
config SPIFFS_USE_MAGIC_LENGTH
|
||||
bool "Enable SPIFFS Filesystem Length Magic"
|
||||
default "y"
|
||||
depends on SPIFFS_USE_MAGIC
|
||||
help
|
||||
If this option is enabled, the magic will also be dependent
|
||||
on the length of the filesystem. For example, a filesystem
|
||||
configured and formatted for 4 megabytes will not be accepted
|
||||
for mounting with a configuration defining the filesystem as 2 megabytes.
|
||||
|
||||
config SPIFFS_META_LENGTH
|
||||
int "Size of per-file metadata field"
|
||||
default 4
|
||||
help
|
||||
This option sets the number of extra bytes stored in the file header.
|
||||
These bytes can be used in an application-specific manner.
|
||||
Set this to at least 4 bytes to enable support for saving file
|
||||
modification time.
|
||||
|
||||
SPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed
|
||||
SPIFFS_PAGE_SIZE - 64.
|
||||
|
||||
config SPIFFS_USE_MTIME
|
||||
bool "Save file modification time"
|
||||
default "y"
|
||||
depends on SPIFFS_META_LENGTH >= 4
|
||||
help
|
||||
If enabled, then the first 4 bytes of per-file metadata will be used
|
||||
to store file modification time (mtime), accessible through
|
||||
stat/fstat functions.
|
||||
Modification time is updated when the file is opened.
|
||||
|
||||
menu "Debug Configuration"
|
||||
|
||||
config SPIFFS_DBG
|
||||
bool "Enable general SPIFFS debug"
|
||||
default "n"
|
||||
help
|
||||
Enabling this option will print general debug mesages to the console.
|
||||
|
||||
config SPIFFS_API_DBG
|
||||
bool "Enable SPIFFS API debug"
|
||||
default "n"
|
||||
help
|
||||
Enabling this option will print API debug mesages to the console.
|
||||
|
||||
config SPIFFS_GC_DBG
|
||||
bool "Enable SPIFFS Garbage Cleaner debug"
|
||||
default "n"
|
||||
help
|
||||
Enabling this option will print GC debug mesages to the console.
|
||||
|
||||
config SPIFFS_CACHE_DBG
|
||||
bool "Enable SPIFFS Cache debug"
|
||||
default "n"
|
||||
depends on SPIFFS_CACHE
|
||||
help
|
||||
Enabling this option will print cache debug mesages to the console.
|
||||
|
||||
config SPIFFS_CHECK_DBG
|
||||
bool "Enable SPIFFS Filesystem Check debug"
|
||||
default "n"
|
||||
help
|
||||
Enabling this option will print Filesystem Check debug mesages
|
||||
to the console.
|
||||
|
||||
config SPIFFS_TEST_VISUALISATION
|
||||
bool "Enable SPIFFS Filesystem Visualization"
|
||||
default "n"
|
||||
help
|
||||
Enable this option to enable SPIFFS_vis function in the API.
|
||||
|
||||
endmenu
|
||||
config SPIFFS_CACHE_STATS
|
||||
bool "Enable SPIFFS Cache Statistics"
|
||||
default "n"
|
||||
depends on SPIFFS_CACHE
|
||||
help
|
||||
Enable/disable statistics on caching. Debug/test purpose only.
|
||||
|
||||
endmenu
|
||||
|
||||
config SPIFFS_PAGE_CHECK
|
||||
bool "Enable SPIFFS Page Check"
|
||||
default "y"
|
||||
help
|
||||
Always check header of each accessed page to ensure consistent state.
|
||||
If enabled it will increase number of reads from flash, especially
|
||||
if cache is disabled.
|
||||
|
||||
config SPIFFS_GC_MAX_RUNS
|
||||
int "Set Maximum GC Runs"
|
||||
default 10
|
||||
range 1 255
|
||||
help
|
||||
Define maximum number of GC runs to perform to reach desired free pages.
|
||||
|
||||
config SPIFFS_GC_STATS
|
||||
bool "Enable SPIFFS GC Statistics"
|
||||
default "n"
|
||||
help
|
||||
Enable/disable statistics on gc. Debug/test purpose only.
|
||||
|
||||
config SPIFFS_PAGE_SIZE
|
||||
int "SPIFFS logical page size"
|
||||
default 256
|
||||
range 256 1024
|
||||
help
|
||||
Logical page size of SPIFFS partition, in bytes. Must be multiple
|
||||
of flash page size (which is usually 256 bytes).
|
||||
Larger page sizes reduce overhead when storing large files, and
|
||||
improve filesystem performance when reading large files.
|
||||
Smaller page sizes reduce overhead when storing small (< page size)
|
||||
files.
|
||||
|
||||
config SPIFFS_OBJ_NAME_LEN
|
||||
int "Set SPIFFS Maximum Name Length"
|
||||
default 32
|
||||
range 1 256
|
||||
help
|
||||
Object name maximum length. Note that this length include the
|
||||
zero-termination character, meaning maximum string of characters
|
||||
can at most be SPIFFS_OBJ_NAME_LEN - 1.
|
||||
|
||||
SPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed
|
||||
SPIFFS_PAGE_SIZE - 64.
|
||||
|
||||
config SPIFFS_USE_MAGIC
|
||||
bool "Enable SPIFFS Filesystem Magic"
|
||||
default "y"
|
||||
help
|
||||
Enable this to have an identifiable spiffs filesystem.
|
||||
This will look for a magic in all sectors to determine if this
|
||||
is a valid spiffs system or not at mount time.
|
||||
|
||||
config SPIFFS_USE_MAGIC_LENGTH
|
||||
bool "Enable SPIFFS Filesystem Length Magic"
|
||||
default "y"
|
||||
depends on SPIFFS_USE_MAGIC
|
||||
help
|
||||
If this option is enabled, the magic will also be dependent
|
||||
on the length of the filesystem. For example, a filesystem
|
||||
configured and formatted for 4 megabytes will not be accepted
|
||||
for mounting with a configuration defining the filesystem as 2 megabytes.
|
||||
|
||||
config SPIFFS_META_LENGTH
|
||||
int "Size of per-file metadata field"
|
||||
default 4
|
||||
help
|
||||
This option sets the number of extra bytes stored in the file header.
|
||||
These bytes can be used in an application-specific manner.
|
||||
Set this to at least 4 bytes to enable support for saving file
|
||||
modification time.
|
||||
|
||||
SPIFFS_OBJ_NAME_LEN + SPIFFS_META_LENGTH should not exceed
|
||||
SPIFFS_PAGE_SIZE - 64.
|
||||
|
||||
config SPIFFS_USE_MTIME
|
||||
bool "Save file modification time"
|
||||
default "y"
|
||||
depends on SPIFFS_META_LENGTH >= 4
|
||||
help
|
||||
If enabled, then the first 4 bytes of per-file metadata will be used
|
||||
to store file modification time (mtime), accessible through
|
||||
stat/fstat functions.
|
||||
Modification time is updated when the file is opened.
|
||||
|
||||
menu "Debug Configuration"
|
||||
|
||||
config SPIFFS_DBG
|
||||
bool "Enable general SPIFFS debug"
|
||||
default "n"
|
||||
help
|
||||
Enabling this option will print general debug mesages to the console.
|
||||
|
||||
config SPIFFS_API_DBG
|
||||
bool "Enable SPIFFS API debug"
|
||||
default "n"
|
||||
help
|
||||
Enabling this option will print API debug mesages to the console.
|
||||
|
||||
config SPIFFS_GC_DBG
|
||||
bool "Enable SPIFFS Garbage Cleaner debug"
|
||||
default "n"
|
||||
help
|
||||
Enabling this option will print GC debug mesages to the console.
|
||||
|
||||
config SPIFFS_CACHE_DBG
|
||||
bool "Enable SPIFFS Cache debug"
|
||||
default "n"
|
||||
depends on SPIFFS_CACHE
|
||||
help
|
||||
Enabling this option will print cache debug mesages to the console.
|
||||
|
||||
config SPIFFS_CHECK_DBG
|
||||
bool "Enable SPIFFS Filesystem Check debug"
|
||||
default "n"
|
||||
help
|
||||
Enabling this option will print Filesystem Check debug mesages
|
||||
to the console.
|
||||
|
||||
config SPIFFS_TEST_VISUALISATION
|
||||
bool "Enable SPIFFS Filesystem Visualization"
|
||||
default "n"
|
||||
help
|
||||
Enable this option to enable SPIFFS_vis function in the API.
|
||||
|
||||
endmenu
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,27 +1,27 @@
|
||||
menu "TCP/IP Adapter"
|
||||
|
||||
config IP_LOST_TIMER_INTERVAL
|
||||
int "IP Address lost timer interval (seconds)"
|
||||
range 0 65535
|
||||
default 120
|
||||
help
|
||||
The value of 0 indicates the IP lost timer is disabled, otherwise the timer is enabled.
|
||||
|
||||
The IP address may be lost because of some reasons, e.g. when the station disconnects
|
||||
from soft-AP, or when DHCP IP renew fails etc. If the IP lost timer is enabled, it will
|
||||
be started everytime the IP is lost. Event SYSTEM_EVENT_STA_LOST_IP will be raised if
|
||||
the timer expires. The IP lost timer is stopped if the station get the IP again before
|
||||
the timer expires.
|
||||
|
||||
choice USE_TCPIP_STACK_LIB
|
||||
prompt "TCP/IP Stack Library"
|
||||
default TCPIP_LWIP
|
||||
help
|
||||
Choose the TCP/IP Stack to work, for example, LwIP, uIP, etc.
|
||||
config TCPIP_LWIP
|
||||
bool "LwIP"
|
||||
config IP_LOST_TIMER_INTERVAL
|
||||
int "IP Address lost timer interval (seconds)"
|
||||
range 0 65535
|
||||
default 120
|
||||
help
|
||||
lwIP is a small independent implementation of the TCP/IP protocol suite.
|
||||
endchoice
|
||||
The value of 0 indicates the IP lost timer is disabled, otherwise the timer is enabled.
|
||||
|
||||
The IP address may be lost because of some reasons, e.g. when the station disconnects
|
||||
from soft-AP, or when DHCP IP renew fails etc. If the IP lost timer is enabled, it will
|
||||
be started everytime the IP is lost. Event SYSTEM_EVENT_STA_LOST_IP will be raised if
|
||||
the timer expires. The IP lost timer is stopped if the station get the IP again before
|
||||
the timer expires.
|
||||
|
||||
choice USE_TCPIP_STACK_LIB
|
||||
prompt "TCP/IP Stack Library"
|
||||
default TCPIP_LWIP
|
||||
help
|
||||
Choose the TCP/IP Stack to work, for example, LwIP, uIP, etc.
|
||||
config TCPIP_LWIP
|
||||
bool "LwIP"
|
||||
help
|
||||
lwIP is a small independent implementation of the TCP/IP protocol suite.
|
||||
endchoice
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
menu "Unity unit testing library"
|
||||
|
||||
config UNITY_ENABLE_FLOAT
|
||||
bool "Support for float type"
|
||||
default y
|
||||
help
|
||||
If not set, assertions on float arguments will not be available.
|
||||
config UNITY_ENABLE_FLOAT
|
||||
bool "Support for float type"
|
||||
default y
|
||||
help
|
||||
If not set, assertions on float arguments will not be available.
|
||||
|
||||
|
||||
config UNITY_ENABLE_DOUBLE
|
||||
bool "Support for double type"
|
||||
default y
|
||||
help
|
||||
If not set, assertions on double arguments will not be available.
|
||||
config UNITY_ENABLE_DOUBLE
|
||||
bool "Support for double type"
|
||||
default y
|
||||
help
|
||||
If not set, assertions on double arguments will not be available.
|
||||
|
||||
config UNITY_ENABLE_COLOR
|
||||
bool "Colorize test output"
|
||||
default n
|
||||
help
|
||||
If set, Unity will colorize test results using console escape sequences.
|
||||
config UNITY_ENABLE_COLOR
|
||||
bool "Colorize test output"
|
||||
default n
|
||||
help
|
||||
If set, Unity will colorize test results using console escape sequences.
|
||||
|
||||
|
||||
config UNITY_ENABLE_IDF_TEST_RUNNER
|
||||
bool "Include ESP-IDF test registration/running helpers"
|
||||
default y
|
||||
help
|
||||
If set, then the following features will be available:
|
||||
|
||||
- TEST_CASE macro which performs automatic registration of test functions
|
||||
- Functions to run registered test functions: unity_run_all_tests,
|
||||
unity_run_tests_with_filter, unity_run_single_test_by_name.
|
||||
- Interactive menu which lists test cases and allows choosing the tests to
|
||||
be run, available via unity_run_menu function.
|
||||
|
||||
Disable if a different test registration mechanism is used.
|
||||
config UNITY_ENABLE_IDF_TEST_RUNNER
|
||||
bool "Include ESP-IDF test registration/running helpers"
|
||||
default y
|
||||
help
|
||||
If set, then the following features will be available:
|
||||
|
||||
config UNITY_ENABLE_FIXTURE
|
||||
bool "Include Unity test fixture"
|
||||
default n
|
||||
help
|
||||
If set, unity_fixture.h header file and associated source files are part of
|
||||
the build. These provide an optional set of macros and functions to
|
||||
implement test groups.
|
||||
- TEST_CASE macro which performs automatic registration of test functions
|
||||
- Functions to run registered test functions: unity_run_all_tests,
|
||||
unity_run_tests_with_filter, unity_run_single_test_by_name.
|
||||
- Interactive menu which lists test cases and allows choosing the tests to
|
||||
be run, available via unity_run_menu function.
|
||||
|
||||
Disable if a different test registration mechanism is used.
|
||||
|
||||
config UNITY_ENABLE_FIXTURE
|
||||
bool "Include Unity test fixture"
|
||||
default n
|
||||
help
|
||||
If set, unity_fixture.h header file and associated source files are part of
|
||||
the build. These provide an optional set of macros and functions to
|
||||
implement test groups.
|
||||
|
||||
endmenu # "Unity unit testing library"
|
||||
|
||||
@@ -1,18 +1,18 @@
|
||||
menu "Virtual file system"
|
||||
|
||||
config SUPPRESS_SELECT_DEBUG_OUTPUT
|
||||
bool "Suppress select() related debug outputs"
|
||||
default y
|
||||
help
|
||||
Select() related functions might produce an unconveniently lot of
|
||||
debug outputs when one sets the default log level to DEBUG or higher.
|
||||
It is possible to suppress these debug outputs by enabling this
|
||||
option.
|
||||
config SUPPRESS_SELECT_DEBUG_OUTPUT
|
||||
bool "Suppress select() related debug outputs"
|
||||
default y
|
||||
help
|
||||
Select() related functions might produce an unconveniently lot of
|
||||
debug outputs when one sets the default log level to DEBUG or higher.
|
||||
It is possible to suppress these debug outputs by enabling this
|
||||
option.
|
||||
|
||||
config SUPPORT_TERMIOS
|
||||
bool "Add support for termios.h"
|
||||
default y
|
||||
help
|
||||
Disabling this option can save memory when the support for termios.h is not required.
|
||||
config SUPPORT_TERMIOS
|
||||
bool "Add support for termios.h"
|
||||
default y
|
||||
help
|
||||
Disabling this option can save memory when the support for termios.h is not required.
|
||||
|
||||
endmenu
|
||||
|
||||
@@ -1,62 +1,62 @@
|
||||
menu "Wear Levelling"
|
||||
|
||||
choice WL_SECTOR_SIZE
|
||||
bool "Wear Levelling library sector size"
|
||||
default WL_SECTOR_SIZE_4096
|
||||
help
|
||||
Sector size used by wear levelling library.
|
||||
You can set default sector size or size that will
|
||||
fit to the flash device sector size.
|
||||
|
||||
With sector size set to 4096 bytes, wear levelling library is more
|
||||
efficient. However if FAT filesystem is used on top of wear levelling
|
||||
library, it will need more temporary storage: 4096 bytes for each
|
||||
mounted filesystem and 4096 bytes for each opened file.
|
||||
|
||||
With sector size set to 512 bytes, wear levelling library will perform
|
||||
more operations with flash memory, but less RAM will be used by FAT
|
||||
filesystem library (512 bytes for the filesystem and 512 bytes for each
|
||||
file opened).
|
||||
|
||||
config WL_SECTOR_SIZE_512
|
||||
bool "512"
|
||||
config WL_SECTOR_SIZE_4096
|
||||
bool "4096"
|
||||
endchoice
|
||||
choice WL_SECTOR_SIZE
|
||||
bool "Wear Levelling library sector size"
|
||||
default WL_SECTOR_SIZE_4096
|
||||
help
|
||||
Sector size used by wear levelling library.
|
||||
You can set default sector size or size that will
|
||||
fit to the flash device sector size.
|
||||
|
||||
config WL_SECTOR_SIZE
|
||||
int
|
||||
default 512 if WL_SECTOR_SIZE_512
|
||||
default 4096 if WL_SECTOR_SIZE_4096
|
||||
With sector size set to 4096 bytes, wear levelling library is more
|
||||
efficient. However if FAT filesystem is used on top of wear levelling
|
||||
library, it will need more temporary storage: 4096 bytes for each
|
||||
mounted filesystem and 4096 bytes for each opened file.
|
||||
|
||||
choice WL_SECTOR_MODE
|
||||
bool "Sector store mode"
|
||||
depends on WL_SECTOR_SIZE_512
|
||||
default WL_SECTOR_MODE_SAFE
|
||||
help
|
||||
Specify the mode to store data into flash:
|
||||
|
||||
- In Performance mode a data will be stored to the RAM and then
|
||||
stored back to the flash. Compared to the Safety mode, this operation is
|
||||
faster, but if power will be lost when erase sector operation is in
|
||||
progress, then the data from complete flash device sector will be lost.
|
||||
|
||||
- In Safety mode data from complete flash device sector will be read from
|
||||
flash, modified, and then stored back to flash.
|
||||
Compared to the Performance mode, this operation is slower, but if
|
||||
power is lost during erase sector operation, then the data from full
|
||||
flash device sector will not be lost.
|
||||
|
||||
config WL_SECTOR_MODE_PERF
|
||||
bool "Perfomance"
|
||||
|
||||
config WL_SECTOR_MODE_SAFE
|
||||
bool "Safety"
|
||||
endchoice
|
||||
With sector size set to 512 bytes, wear levelling library will perform
|
||||
more operations with flash memory, but less RAM will be used by FAT
|
||||
filesystem library (512 bytes for the filesystem and 512 bytes for each
|
||||
file opened).
|
||||
|
||||
config WL_SECTOR_MODE
|
||||
int
|
||||
default 0 if WL_SECTOR_MODE_PERF
|
||||
default 1 if WL_SECTOR_MODE_SAFE
|
||||
config WL_SECTOR_SIZE_512
|
||||
bool "512"
|
||||
config WL_SECTOR_SIZE_4096
|
||||
bool "4096"
|
||||
endchoice
|
||||
|
||||
config WL_SECTOR_SIZE
|
||||
int
|
||||
default 512 if WL_SECTOR_SIZE_512
|
||||
default 4096 if WL_SECTOR_SIZE_4096
|
||||
|
||||
choice WL_SECTOR_MODE
|
||||
bool "Sector store mode"
|
||||
depends on WL_SECTOR_SIZE_512
|
||||
default WL_SECTOR_MODE_SAFE
|
||||
help
|
||||
Specify the mode to store data into flash:
|
||||
|
||||
- In Performance mode a data will be stored to the RAM and then
|
||||
stored back to the flash. Compared to the Safety mode, this operation is
|
||||
faster, but if power will be lost when erase sector operation is in
|
||||
progress, then the data from complete flash device sector will be lost.
|
||||
|
||||
- In Safety mode data from complete flash device sector will be read from
|
||||
flash, modified, and then stored back to flash.
|
||||
Compared to the Performance mode, this operation is slower, but if
|
||||
power is lost during erase sector operation, then the data from full
|
||||
flash device sector will not be lost.
|
||||
|
||||
config WL_SECTOR_MODE_PERF
|
||||
bool "Perfomance"
|
||||
|
||||
config WL_SECTOR_MODE_SAFE
|
||||
bool "Safety"
|
||||
endchoice
|
||||
|
||||
config WL_SECTOR_MODE
|
||||
int
|
||||
default 0 if WL_SECTOR_MODE_PERF
|
||||
default 1 if WL_SECTOR_MODE_SAFE
|
||||
|
||||
endmenu
|
||||
|
||||
Reference in New Issue
Block a user