change(mem): deprecated tcm and added scp memory utils

This commit is contained in:
armando
2026-03-18 09:49:59 +08:00
parent d13bbd4b2b
commit 1b85ad5081
30 changed files with 169 additions and 124 deletions
@@ -46,8 +46,8 @@ MEMORY
* of the various regions. The 'data access port' dram/drom regions map to the same iram/irom regions but
* are connected to the data port of the CPU and eg allow byte-wise access.
*/
/* TCM */
tcm_idram_seg (RX) : org = 0x30100000, len = 0x2000
/* SCP */
scp_idram_seg (RX) : org = 0x30100000, len = 0x2000
#if CONFIG_APP_BUILD_USE_FLASH_SECTIONS
#if CONFIG_SPIRAM_FETCH_INSTRUCTIONS
+13 -13
View File
@@ -157,26 +157,26 @@ SECTIONS
ASSERT((_rtc_fast_length <= LENGTH(rtc_data_seg)),
"RTC_FAST segment data does not fit.")
.tcm.text :
.scp.text :
{
/* Code marked as running out of TCM */
_tcm_text_start = ABSOLUTE(.);
/* Code marked as running out of SCP */
_scp_text_start = ABSOLUTE(.);
arrays[tcm_text]
mapping[tcm_text]
arrays[scp_text]
mapping[scp_text]
_tcm_text_end = ABSOLUTE(.);
} > tcm_idram_seg
_scp_text_end = ABSOLUTE(.);
} > scp_idram_seg
.tcm.data :
.scp.data :
{
_tcm_data_start = ABSOLUTE(.);
_scp_data_start = ABSOLUTE(.);
arrays[tcm_data]
mapping[tcm_data]
arrays[scp_data]
mapping[scp_data]
_tcm_data_end = ABSOLUTE(.);
} > tcm_idram_seg
_scp_data_end = ABSOLUTE(.);
} > scp_idram_seg
.iram0.text :
{
@@ -166,26 +166,26 @@ SECTIONS
ASSERT((_rtc_fast_length <= LENGTH(rtc_data_seg)),
"RTC_FAST segment data does not fit.")
.tcm.text :
.scp.text :
{
/* Code marked as running out of TCM */
_tcm_text_start = ABSOLUTE(.);
/* Code marked as running out of SCP */
_scp_text_start = ABSOLUTE(.);
arrays[tcm_text]
mapping[tcm_text]
arrays[scp_text]
mapping[scp_text]
_tcm_text_end = ABSOLUTE(.);
} > tcm_idram_seg
_scp_text_end = ABSOLUTE(.);
} > scp_idram_seg
.tcm.data :
.scp.data :
{
_tcm_data_start = ABSOLUTE(.);
_scp_data_start = ABSOLUTE(.);
arrays[tcm_data]
mapping[tcm_data]
arrays[scp_data]
mapping[scp_data]
_tcm_data_end = ABSOLUTE(.);
} > tcm_idram_seg
_scp_data_end = ABSOLUTE(.);
} > scp_idram_seg
.iram0.text :
{
+15
View File
@@ -0,0 +1,15 @@
#include "ld.common"
.scp.text :
{
/* Code marked as running out of scp */
_scp_text_start = ABSOLUTE(.);
SECTION_MAPPINGS(scp_text)
_scp_text_end = ABSOLUTE(.);
} > scp_idram_seg
.scp.data :
{
_scp_data_start = ABSOLUTE(.);
SECTION_MAPPINGS(scp_data)
_scp_data_end = ABSOLUTE(.);
} > scp_idram_seg