2026 / 07 / 22
如何将函数映射到SRAM存储器中

Question:

如何将函数映射到SRAM存储器中?


Answer:

FSP 提供的链接器脚本定义了".code_in_ram "区域,即映射到 SRAM 中的内存空间。该区域映射代码块会被启动时执行的 SystemInit() 复制到 SRAM 中。要将函数放在".code_in_ram "区域中,FSP驱动代码是很好的示例,下面这段代码示例来自于FSP中的 Flash Driver (r_flash_hp.c)。

static fsp_err_t flash_hp_pe_mode_exit() PLACE_IN_RAM_SECTION;


PALCE_IN_RAM_SECTION 在Flash Driver的头文件 (r_flash_hp.h) 中定义如下:

#if defined(__ICCARM__)
  #pragma section=".code_in_ram"
 #endif
 #if defined(__ARMCC_VERSION) || defined(__GNUC__)
  #define PLACE_IN_RAM_SECTION    __attribute__((noinline)) BSP_PLACE_IN_SECTION(".code_in_ram")
 #else
  #define PLACE_IN_RAM_SECTION    BSP_PLACE_IN_SECTION(".code_in_ram")
 #endif

隐私条款

一、接受条款 使用者(也称"您")在访问或使用本网站及其服务时,即已经表示同意并不加修改地接受本《用户协议》、本网站的《隐私声明》、《法律声明》以及其关或相链接的网页和网站的条件和条款的规定。我们强烈建议:在您阅读和接受本《用户协议》时,也应阅读并接受本《用户协议》中所提到《隐私声明》、《法律声明》及其相关或相链接网页或网站所包含的资料,因为《隐私声明》、《法律声明》及其它相关网页或网站可能包含对您适用的进一步规定。(请注意:点击划有底线的词句即可链接到上述《隐私声明》、《法律声明》及其它相关或相链接的网页和网站。

 

二、使用者的资格要求 在本网站中"使用者"指的是浏览、阅读、使用本网站信息或服务的任何个人或组织。本网站的服务仅适用于根据相关法律的规定具有签订有约束力的合同的个人或组织并仅由其使用。本网站的服务不向18周岁以下的个人使用者提供,也不向临时被本网站中止或取消使用者资格的使用者提供。如果使用者不符合本条规定,请停止使用本网站或本网站的服务。

样品
申请

应用
资源

微信