feat(ble): supported placing bt function in iram on esp32-h4 and esp32-s31

This commit is contained in:
cjin
2026-07-03 14:51:40 +08:00
parent 01f29a9356
commit bfb9a07dbb
6 changed files with 156 additions and 6 deletions

View File

@@ -10,6 +10,24 @@ entries:
entries:
.adv_fast_execute_code_iram1+
[sections:sleep_text]
entries:
.iram_sleep+
.iram_btslp+
[sections:sleep_text_adv]
entries:
.iram_sleep_adv+
[sections:sleep_text_conn]
entries:
.iram_sleep_conn+
[sections:sleep_single_sleep]
entries:
.iram_single_sleep+
[scheme:bt_default]
entries:
bt_bss -> dram0_bss
@@ -27,6 +45,26 @@ entries:
else:
adv_fast_execute_code_iram_text -> flash_text
if BT_CTRL_SLEEP_RELATED_CODE_IN_IRAM = y:
sleep_text -> iram0_text
else:
sleep_text -> flash_text
if BT_CTRL_LE_ADV_SLEEP_CODE_IN_IRAM = y:
sleep_text_adv->iram0_text
else:
sleep_text_adv->flash_text
if BT_CTRL_LE_CONN_SLEEP_CODE_IN_IRAM = y:
sleep_text_conn->iram0_text
else:
sleep_text_conn->flash_text
if BT_CTRL_SLEEP_RELATED_CODE_IN_IRAM = y || BT_CTRL_RUN_IN_FLASH_ONLY = n:
sleep_single_sleep->iram0_text
else:
sleep_single_sleep->flash_text
# For the following fragments, order matters for
# 'ALIGN(4) ALIGN(4, post) SURROUND(sym)', which generates:
#

View File

@@ -10,6 +10,23 @@ entries:
entries:
.adv_fast_execute_code_iram1+
[sections:sleep_text]
entries:
.iram_sleep+
.iram_btslp+
[sections:sleep_text_adv]
entries:
.iram_sleep_adv+
[sections:sleep_text_conn]
entries:
.iram_sleep_conn+
[sections:sleep_single_sleep]
entries:
.iram_single_sleep+
[scheme:bt_default]
entries:
bt_bss -> dram0_bss
@@ -27,6 +44,26 @@ entries:
else:
adv_fast_execute_code_iram_text -> flash_text
if BT_CTRL_SLEEP_RELATED_CODE_IN_IRAM = y:
sleep_text -> iram0_text
else:
sleep_text -> flash_text
if BT_CTRL_LE_ADV_SLEEP_CODE_IN_IRAM = y:
sleep_text_adv->iram0_text
else:
sleep_text_adv->flash_text
if BT_CTRL_LE_CONN_SLEEP_CODE_IN_IRAM = y:
sleep_text_conn->iram0_text
else:
sleep_text_conn->flash_text
if BT_CTRL_SLEEP_RELATED_CODE_IN_IRAM = y || BT_CTRL_RUN_IN_FLASH_ONLY = n:
sleep_single_sleep->iram0_text
else:
sleep_single_sleep->flash_text
# For the following fragments, order matters for
# 'ALIGN(4) ALIGN(4, post) SURROUND(sym)', which generates:
#