Merge branch 'bugfix/put_more_rx_code_to_iram_v3.3' into 'release/v3.3'

wifi: Put some rx code to iram (backportv3.3)

See merge request espressif/esp-idf!6647
This commit is contained in:
Jiang Jiang Jian
2019-12-18 16:39:48 +08:00
6 changed files with 34 additions and 2 deletions

View File

@ -1363,12 +1363,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 && 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 && 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

View File

@ -45,6 +45,10 @@ entries:
.dram1+ .dram1+
[sections:wifi_iram] [sections:wifi_iram]
entries:
.wifirxiram+
[sections:wifi_rx_iram]
entries: entries:
.wifi0iram+ .wifi0iram+
@ -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

@ -40,3 +40,14 @@ entries:
: ESP32_WIFI_IRAM_OPT = y : ESP32_WIFI_IRAM_OPT = y
* (wifi_iram) * (wifi_iram)
[mapping]
archive: libpp.a
entries:
: ESP32_WIFI_RX_IRAM_OPT = y
* (wifi_rx_iram)
[mapping]
archive: libnet80211.a
entries:
: 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_SPIRAM_SUPPORT=y CONFIG_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_SPIRAM_SUPPORT=y CONFIG_SPIRAM_SUPPORT=y
CONFIG_SPIRAM_OCCUPY_NO_HOST=y CONFIG_SPIRAM_OCCUPY_NO_HOST=y
CONFIG_ESP32_WIFI_RX_IRAM_OPT=n