0

我的 RAM 用完了,需要将我的非关键速度代码移动到闪存。需要知道链接器“属性”命令来选择闪存。

我正在使用 mbed 在线 IDE 为 NUCLEO (STM32)f091RC 构建。

但也许 mbed 使用 flash 的通用属性设置。

我在 mbed 链接器上找不到任何帮助。

4

1 回答 1

0

我不知道你的链接器文件结构,但最有可能的是你有 .text 部分,它是用 FLASH 编写的(99% 肯定)。如果你想强制你的函数部分,你必须在声明和定义之前使用这个属性:__attribute__ ((long_call, section (".text"))) 你也可以像这样创建一个宏:

#define FLASH_FUNC __attribute__ ((long_call, section (".text")))

并像这样使用它:

在 .h 文件中:

FLASH_FUNC void MyFoo(void);

国际化 .c 文件

FLASH_FUNC void MyFoo(void)
{
    //foo
}
于 2016-09-06T12:54:54.693 回答