esp_wifi: Put some rx code to iram and update phy4180

This commit is contained in:
xiehang 2019-10-25 16:44:48 +08:00 committed by bot
parent 4e6c575fed
commit e5773cc2fe
6 changed files with 29 additions and 2 deletions

View file

@ -48,6 +48,10 @@ entries:
entries: entries:
.wifi0iram+ .wifi0iram+
[sections:wifi_rx_iram]
entries:
.wifirxiram+
[scheme:default] [scheme:default]
entries: entries:
text -> flash_text text -> flash_text
@ -62,6 +66,7 @@ entries:
rtc_rodata -> rtc_data rtc_rodata -> rtc_data
rtc_bss -> rtc_bss rtc_bss -> rtc_bss
wifi_iram -> flash_text wifi_iram -> flash_text
wifi_rx_iram -> flash_text
[scheme:rtc] [scheme:rtc]
entries: entries:
@ -87,3 +92,7 @@ entries:
[scheme:wifi_iram] [scheme:wifi_iram]
entries: entries:
wifi_iram -> iram0_text wifi_iram -> iram0_text
[scheme:wifi_rx_iram]
entries:
wifi_rx_iram -> iram0_text

View file

@ -310,12 +310,22 @@ menu "Wi-Fi"
config ESP32_WIFI_IRAM_OPT config ESP32_WIFI_IRAM_OPT
bool "WiFi IRAM speed optimization" bool "WiFi IRAM speed optimization"
default n if (BT_ENABLED && ESP32_SPIRAM_SUPPORT)
default y default y
help help
Select this option to place frequently called Wi-Fi library functions in IRAM. Select this option to place frequently called Wi-Fi library functions in IRAM.
When this option is disabled, more than 10Kbytes of IRAM memory will be saved When this option is disabled, more than 10Kbytes of IRAM memory will be saved
but Wi-Fi throughput will be reduced. but Wi-Fi throughput will be reduced.
config ESP32_WIFI_RX_IRAM_OPT
bool "WiFi RX IRAM speed optimization"
default n if (BT_ENABLED && ESP32_SPIRAM_SUPPORT)
default y
help
Select this option to place frequently called Wi-Fi library RX functions in IRAM.
When this option is disabled, more than 17Kbytes of IRAM memory will be saved
but Wi-Fi performance will be reduced.
endmenu # Wi-Fi endmenu # Wi-Fi
menu "PHY" menu "PHY"

@ -1 +1 @@
Subproject commit da98b13f1dd34442f56cf5b26e4e778132fd9a45 Subproject commit dff38c7da07177f5b331d5ab99116ce35e41cc7a

View file

@ -13,9 +13,15 @@ archive: libpp.a
entries: entries:
if ESP32_WIFI_IRAM_OPT = y: if ESP32_WIFI_IRAM_OPT = y:
* (wifi_iram) * (wifi_iram)
if ESP32_WIFI_RX_IRAM_OPT = y:
* (wifi_rx_iram)
[mapping:net80211] [mapping:net80211]
archive: libnet80211.a archive: libnet80211.a
entries: entries:
if ESP32_WIFI_IRAM_OPT = y: if ESP32_WIFI_IRAM_OPT = y:
* (wifi_iram) * (wifi_iram)
if ESP32_WIFI_RX_IRAM_OPT = y:
* (wifi_rx_iram)

View file

@ -1,3 +1,4 @@
TEST_EXCLUDE_COMPONENTS=libsodium bt app_update driver esp32 spi_flash TEST_EXCLUDE_COMPONENTS=libsodium bt app_update driver esp32 spi_flash
CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_SPIRAM_OCCUPY_NO_HOST=y CONFIG_SPIRAM_OCCUPY_NO_HOST=y
CONFIG_ESP32_WIFI_RX_IRAM_OPT=n

View file

@ -1,3 +1,4 @@
TEST_COMPONENTS=driver esp32 spi_flash TEST_COMPONENTS=driver esp32 spi_flash
CONFIG_ESP32_SPIRAM_SUPPORT=y CONFIG_ESP32_SPIRAM_SUPPORT=y
CONFIG_SPIRAM_OCCUPY_NO_HOST=y CONFIG_SPIRAM_OCCUPY_NO_HOST=y
CONFIG_ESP32_WIFI_RX_IRAM_OPT=n