什么是链接器属性命令将代码放入闪存而不是RAM?

时间:2016-08-27 13:34:42

标签: linker stm32 mbed nucleo

我没有RAM,需要将我的非关键速度代码移动到闪存。 需要知道链接器的属性'命令选择闪光灯。

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

但是mbed可能会使用flash的常用属性设置。

我找不到有关mbed链接器的任何帮助。

1 个答案:

答案 0 :(得分:0)

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

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

并像这样使用它:

在.h文件中

FLASH_FUNC void MyFoo(void);

int .c file

FLASH_FUNC void MyFoo(void)
{
    //foo
}