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.

[参考译文] TMS320F280041:如何指定某些函数从闪存运行、而不考虑--ramfunc=on

Guru**** 2538950 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/971164/tms320f280041-how-to-specify-some-functions-to-run-from-flash-regardless-of---ramfunc-on

器件型号:TMS320F280041

对于编译器的-ramfunc=on 指令、是否可以手动强制某些函数不放置并从 RAM 运行?

我发现手动为.text 指定 section 属性的方法似乎有效、但我不确定此方法是否具有我不知道的其他影响。

__attribute__((section(".text"))) 

下面是一些背景:

我正在编写一个应该从 RAM 运行的程序、但我对 RAM 空间非常紧张。 我有很多(小)运行函数和几个(大)初始化函数、这些函数占用大量内存、但对时间不敏感。

我知道我可以手动为所有时间关键型函数指定 ramfunc 属性、但我希望我可以指定类似"默认情况下将所有函数放入 RAM、但我手动指定不将这些函数放入 RAM 中"的内容除外。

提议的办法是否有效,如果不是,什么是有效的办法?

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

    您好、Marko、

    使用--ramfunc=on 编译器选项会使编译器将这些函数放置在 .TI.ramfunc 段中。   有关详细信息、请参阅 software-dl.ti.com/.../memory.html

    使用 section 属性将这些函数放在.TI.ramfunc 以外的段中的方法是有效的方法。

    Ajay