From c6e1d0b30a0ded74459b211cf14772cbab9904a5 Mon Sep 17 00:00:00 2001 From: Ivan Grokhotkov Date: Thu, 22 Sep 2016 18:36:23 +0800 Subject: [PATCH] Kconfig: make WiFi and BT mutually exclusive Also move memory map options from top-level Kconfig to esp32/Kconfig. --- Kconfig | 32 ----------------------- components/bt/Kconfig | 26 +++++++++---------- components/esp32/Kconfig | 56 ++++++++++++++++++++++++++++++++++++++-- 3 files changed, 67 insertions(+), 47 deletions(-) diff --git a/Kconfig b/Kconfig index 58ce77b2b5..73770a79a6 100644 --- a/Kconfig +++ b/Kconfig @@ -19,38 +19,6 @@ config PYTHON help The executable name/path that is used to run python. On some systems Python 2.x may need to be invoked as python2. - -config MEMMAP_BT - bool "Reserve space for Bluetooth stack" - default "n" - help - The Bluetooth stack uses memory that cannot be used as generic memory anymore. This - reserves the space for that within the memory map of the compiled binary. - -config MEMMAP_SMP - bool "Reserve memory for two cores" - default "y" - help - The ESP32 contains two cores. If you plan to only use one, you can disable this item - to save some memory. (ToDo: Make this automatically depend on unicore support) - -config MEMMAP_TRACEMEM - bool "Use TRAX tracing feature" - default "n" - help - The ESP32 contains a feature which allows you to trace the execution path the processor - has taken through the program. This is stored in a chunk of 32K (16K for single-processor) - of memory that can't be used for general purposes anymore. Disable this if you do not know - what this is. - -config MEMMAP_SPISRAM - bool "Use external SPI SRAM chip as main memory" - default "n" - help - The ESP32 can control an external SPI SRAM chip, adding the memory it contains to the - main memory map. Enable this if you have this hardware and want to use it in the same - way as on-chip RAM. - endmenu source "$COMPONENT_KCONFIGS_PROJBUILD" diff --git a/components/bt/Kconfig b/components/bt/Kconfig index 90ef1f3eb6..ab163efc61 100644 --- a/components/bt/Kconfig +++ b/components/bt/Kconfig @@ -3,21 +3,21 @@ visible if MEMMAP_BT config BT_ENABLED - bool "Enable low-level BT stack" - depends on MEMMAP_BT + bool + depends on ESP32_ENABLE_STACK_BT help This compiles in the low-level BT stack. -config BT_BTLE - bool "Enable BTLE" - depends on BT_ENABLED - help - This compiles BTLE support - -config BT_BT - bool "Enable classic BT" - depends on BT_ENABLED - help - This enables classic BT support +#config BT_BTLE +# bool "Enable BTLE" +# depends on BT_ENABLED +# help +# This compiles BTLE support +# +#config BT_BT +# bool "Enable classic BT" +# depends on BT_ENABLED +# help +# This enables classic BT support endmenu diff --git a/components/esp32/Kconfig b/components/esp32/Kconfig index 0ad32756e8..c649a0e317 100644 --- a/components/esp32/Kconfig +++ b/components/esp32/Kconfig @@ -20,13 +20,65 @@ config ESP32_DEFAULT_CPU_FREQ_MHZ default 160 if ESP32_DEFAULT_CPU_FREQ_160 default 240 if ESP32_DEFAULT_CPU_FREQ_240 +choice ESP32_WIFI_OR_BT + prompt "Select stack to enable (WiFi or BT)" + default ESP32_ENABLE_WIFI + help + Temporarily, WiFi and BT stacks can not be used at the same time. + Select which stack to enable. + +config ESP32_ENABLE_STACK_WIFI + bool "WiFi" + select WIFI_ENABLED if ESP32_ENABLE_STACK_WIFI +config ESP32_ENABLE_STACK_BT + bool "BT" + select MEMMAP_BT if ESP32_ENABLE_STACK_BT + select BT_ENABLED if ESP32_ENABLE_STACK_BT +config ESP32_ENABLE_STACK_NONE + bool "None" +endchoice + +config MEMMAP_BT + bool + depends on ESP32_ENABLE_STACK_BT + help + The Bluetooth stack uses memory that cannot be used as generic memory anymore. This + reserves the space for that within the memory map of the compiled binary. + This option is required to enable BT stack. + Temporarily, this option is not compatible with WiFi stack. + +config MEMMAP_SMP + bool "Reserve memory for two cores" + default "y" + help + The ESP32 contains two cores. If you plan to only use one, you can disable this item + to save some memory. (ToDo: Make this automatically depend on unicore support) + +config MEMMAP_TRACEMEM + bool "Use TRAX tracing feature" + default "n" + help + The ESP32 contains a feature which allows you to trace the execution path the processor + has taken through the program. This is stored in a chunk of 32K (16K for single-processor) + of memory that can't be used for general purposes anymore. Disable this if you do not know + what this is. + +config MEMMAP_SPISRAM + bool "Use external SPI SRAM chip as main memory" + default "n" + help + The ESP32 can control an external SPI SRAM chip, adding the memory it contains to the + main memory map. Enable this if you have this hardware and want to use it in the same + way as on-chip RAM. + config WIFI_ENABLED - bool "Enable low-level WiFi stack" + bool default "y" + depends on ESP32_ENABLE_STACK_WIFI help This compiles in the low-level WiFi stack. - Temporarily, this option requires that FreeRTOS runs in single core mode. + Temporarily, this option is not compatible with BT stack. config WIFI_AUTO_STARTUP bool "Start WiFi with system startup" -- 2.40.0