簡體   English   中英

什么是鏈接程序屬性命令,用於將代碼放入閃存而不是RAM?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM