ソースを参照

Kconfig: make WiFi and BT mutually exclusive

Also move memory map options from top-level Kconfig to esp32/Kconfig.
Ivan Grokhotkov 9 年 前
コミット
c6e1d0b30a
3 ファイル変更67 行追加47 行削除
  1. 0 32
      Kconfig
  2. 13 13
      components/bt/Kconfig
  3. 54 2
      components/esp32/Kconfig

+ 0 - 32
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"

+ 13 - 13
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

+ 54 - 2
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"