This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/F28M36P63C2:".TI.ramfunc"由__attribute__((ramfunc))或--ramfunc=on生成的节需要节规范才能起作用。

Guru**** 2553260 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/583982/compiler-f28m36p63c2-ti-ramfunc-section-generated-by-__attribute__-ramfunc-or---ramfunc-on-requires-a-sections-specification-to-function

部件号:F28M36P63C2

工具/软件:TI C/C++编译器

您好,

我正在尝试使用F28M36x63c2协奏曲卡加载一个带有闪光应用的引导加载程序。 我正在使用编译器16.9 .0.LTS,遇到以下错误:

说明资源路径位置类型
#1.043万-D ".TI.ramfunc"部分由__attribute__((ramfunc)或--ramfunc=on生成,需要部分规范才能起作用。 M3Bootloader C/C++问题

我检查了版本和链接程序文件,但对我来说似乎没有问题。 有人能告诉我这里出了什么问题吗?

谢谢!

Sanjana

cmd文件如下所示:

*========= TMDXDOCK28M36.cmd =========
*定义TMDXDOCK28M36 M3的内存块起始/长度
*/

// flash_boot (向量)进入flash_bootloader_vec
#define flash_bootloader_vec flash_boot

// flash (代码的其余部分)进入flash_bootloader
#define flash_bootloader flash

#include "F28M36_M3_memory.lds"

章节


/*分配方案领域:*/
text:>闪烁
.cinit:>闪烁
.Pinit:>闪光
binit:> flash
init_array:>闪存

/*初始化的部分以Flash_B */转
const:> flash

/*分配未初始化的数据段:*/
数据:> C03SRAM | RAM2
.bss :> C03SRAM | RAM2
sysmem:> C03SRAM | RAM2
.stack:> C03SRAM | RAM2
CIO:> C03SRAM | RAM2
.neardata:> C03SRAM | RAM2
.rodata:> C03SRAM | RAM2
args :> C03SRAM | RAM2
nm-exch-Mem:start(TFSystemGlobalData_address)> exchange_ram
smem_m3_tx:start(SmemTransportM3TxStart)> SMEM_TRANSFORT_M3_TX
smem_c28_tx:start (SmemTransportC28TxStart)> SMEM_TRANSFORT_C28_TX
APP_STORAGE:START (AppFlashStartAddress)> FLASH_APPLICATE_VEC
FLASH_LOG:START(FlashLogAddress)> FLASH_LOG
.end_flash:start(AppFlashEndAddress)> flash_log




Ramfuns

-l F021_API_CortexM3_LE.lib
}
}加载=闪烁,
RUN = C03SRAM,
load_start (RamfuncsLoadStart),
load_size (RamfuncsLoadSize),
Load_End (RamfuncsLoadEnd),
run_start (RamfuncsRunStart),
Run_Size (RamfuncsRunSize),
Run_End (RamfuncsRunEnd),
页面= 0

}

__stack_top =__stack + 256;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请参阅Wiki文章 将函数置于RAM中。  请密切注意链接器命令文件中的部分。

    谢谢,此致,

    -George