mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-03 20:54:32 +02:00
Merge branch 'feat/add_config_for_esp32c2_move_phylib_to_flash' into 'master'
feat(phy): add config for esp32c2 move iram func to flash Closes IDF-11433 See merge request espressif/esp-idf!37917
This commit is contained in:
@@ -693,6 +693,7 @@ config BT_CTRL_RUN_IN_FLASH_ONLY
|
|||||||
- For HCI_LE_Extended_Create_Connection command, only 1M phy's connection parameters will be applied.
|
- For HCI_LE_Extended_Create_Connection command, only 1M phy's connection parameters will be applied.
|
||||||
Other phys' will be ignored.
|
Other phys' will be ignored.
|
||||||
- For extended scanning, we may be unable to receive the extended adv with 300us MAFS.
|
- For extended scanning, we may be unable to receive the extended adv with 300us MAFS.
|
||||||
|
- To match performance, phy needs to be reduced, you need to disable ESP_PHY_IRAM_OPT.
|
||||||
|
|
||||||
config BT_LE_PLACE_CONN_RELATED_INTO_IRAM
|
config BT_LE_PLACE_CONN_RELATED_INTO_IRAM
|
||||||
bool "Place the connection-related code into IRAM"
|
bool "Place the connection-related code into IRAM"
|
||||||
|
@@ -177,5 +177,14 @@ menu "PHY"
|
|||||||
default n
|
default n
|
||||||
help
|
help
|
||||||
Select to support record and query phy used time.
|
Select to support record and query phy used time.
|
||||||
|
|
||||||
|
config ESP_PHY_IRAM_OPT
|
||||||
|
bool "PHY IRAM speed optimization"
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
Select this option to place frequently called PHY library functions in IRAM.
|
||||||
|
When this option is disabled, more than 1.1Kbytes of IRAM memory will be saved,
|
||||||
|
but PHY performance will be reduced. This config only affect esp32c2 now.
|
||||||
|
|
||||||
endif
|
endif
|
||||||
endmenu # PHY
|
endmenu # PHY
|
||||||
|
Submodule components/esp_phy/lib updated: 5466bfa8fd...af5ba3d475
@@ -10,12 +10,32 @@ if IDF_TARGET_ESP32 = y:
|
|||||||
entries:
|
entries:
|
||||||
.phyiram+
|
.phyiram+
|
||||||
|
|
||||||
|
if IDF_TARGET_ESP32C2 = y:
|
||||||
|
[scheme:phy_iram]
|
||||||
|
entries:
|
||||||
|
if ESP_PHY_IRAM_OPT = y:
|
||||||
|
phy_iram -> iram0_text
|
||||||
|
else:
|
||||||
|
phy_iram -> flash_text
|
||||||
|
|
||||||
|
[sections:phy_iram]
|
||||||
|
entries:
|
||||||
|
.phyiram+
|
||||||
|
|
||||||
|
[mapping:btbb]
|
||||||
|
archive: libbtbb.a
|
||||||
|
entries:
|
||||||
|
if IDF_TARGET_ESP32C2 = y:
|
||||||
|
* (phy_iram)
|
||||||
|
|
||||||
[mapping:phy]
|
[mapping:phy]
|
||||||
archive: libphy.a
|
archive: libphy.a
|
||||||
entries:
|
entries:
|
||||||
* (noflash_data)
|
* (noflash_data)
|
||||||
if IDF_TARGET_ESP32 = y:
|
if IDF_TARGET_ESP32 = y:
|
||||||
* (phy_iram)
|
* (phy_iram)
|
||||||
|
if IDF_TARGET_ESP32C2 = y:
|
||||||
|
* (phy_iram)
|
||||||
|
|
||||||
[mapping:rtc]
|
[mapping:rtc]
|
||||||
archive: librtc.a
|
archive: librtc.a
|
||||||
|
@@ -345,6 +345,7 @@ menu "Wi-Fi"
|
|||||||
select PM_SLP_DEFAULT_PARAMS_OPT
|
select PM_SLP_DEFAULT_PARAMS_OPT
|
||||||
select PM_SLEEP_FUNC_IN_IRAM
|
select PM_SLEEP_FUNC_IN_IRAM
|
||||||
select ESP_PERIPH_CTRL_FUNC_IN_IRAM
|
select ESP_PERIPH_CTRL_FUNC_IN_IRAM
|
||||||
|
select ESP_PHY_IRAM_OPT
|
||||||
default y if SOC_WIFI_HE_SUPPORT
|
default y if SOC_WIFI_HE_SUPPORT
|
||||||
help
|
help
|
||||||
Select this option to place called Wi-Fi library TBTT process and receive beacon functions in IRAM.
|
Select this option to place called Wi-Fi library TBTT process and receive beacon functions in IRAM.
|
||||||
|
@@ -60,7 +60,6 @@ CONFIG_LOG_IN_IRAM=n
|
|||||||
CONFIG_ESP_ROM_PRINT_IN_IRAM=n
|
CONFIG_ESP_ROM_PRINT_IN_IRAM=n
|
||||||
|
|
||||||
# Low power related options
|
# Low power related options
|
||||||
CONFIG_ESP_WIFI_SLP_IRAM_OPT=n
|
|
||||||
CONFIG_PM_SLEEP_FUNC_IN_IRAM=n
|
CONFIG_PM_SLEEP_FUNC_IN_IRAM=n
|
||||||
CONFIG_PM_RTOS_IDLE_OPT=n
|
CONFIG_PM_RTOS_IDLE_OPT=n
|
||||||
CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=n
|
CONFIG_ESP_SLEEP_POWER_DOWN_FLASH=n
|
||||||
@@ -70,6 +69,15 @@ CONFIG_ESP_REGI2C_CTRL_FUNC_IN_IRAM=n
|
|||||||
# System common
|
# System common
|
||||||
CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=n
|
CONFIG_ESP_PERIPH_CTRL_FUNC_IN_IRAM=n
|
||||||
|
|
||||||
|
# Phy related options
|
||||||
|
CONFIG_ESP_PHY_IRAM_OPT=n
|
||||||
|
|
||||||
|
# WiFi related options
|
||||||
|
CONFIG_ESP_WIFI_SLP_IRAM_OPT=n
|
||||||
|
CONFIG_ESP_WIFI_IRAM_OPT=n
|
||||||
|
CONFIG_ESP_WIFI_EXTRA_IRAM_OPT=n
|
||||||
|
CONFIG_ESP_WIFI_RX_IRAM_OPT=n
|
||||||
|
|
||||||
#######################################################################################################################
|
#######################################################################################################################
|
||||||
# Options that will enable IRAM reduction option that are not necessarily safe for all use-cases
|
# Options that will enable IRAM reduction option that are not necessarily safe for all use-cases
|
||||||
#######################################################################################################################
|
#######################################################################################################################
|
||||||
|
Reference in New Issue
Block a user