[英]what is linker attribute command to put code in flash instead of RAM?
我的內存不足,需要將非關鍵速度代碼移動到閃存中。 需要知道鏈接器的“屬性”命令以選擇閃存。
我正在使用mbed在線IDE為NUCLEO(STM32)f091RC構建。
但是也許mbed使用通用的Flash屬性設置。
我在mbed鏈接器上找不到任何幫助。
我不知道您的鏈接器文件結構,但是最有可能的是您有用Flash編寫的.text部分(確定為99%)。 如果要強制執行函數的一部分,則必須在聲明和定義之前使用此屬性: __attribute__ ((long_call, section (".text")))
您也可以像這樣創建一個宏:
#define FLASH_FUNC __attribute__ ((long_call, section (".text")))
並像這樣使用它:
在.h文件中:
FLASH_FUNC void MyFoo(void);
int .c文件
FLASH_FUNC void MyFoo(void)
{
//foo
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.