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.
您好!
如何组合.TI.ramfunc 和 ramfuncs?
请不要让我了解 wiki 页面上的一般信息。
我对这一切进行了快速的处理:
ramfuncs :load = FLASHcode,
run = RAMDfunt、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0、ALIGN (4)
.TI.ramfunc :ramfuncs
但运气不好。 那么、如何组合它们以便 RamfuncsLoadSize 和_RamfuncsLoadStart 等涵盖这两个部分呢?
谢谢。
是的、我已经找到了 cmd 文件的所有 wiki 页面。
[引用 USER="Ozino Odharo]EVS、
使用编译器 v15.9.0.0及更高版本时、.TI.ramfunc 会替换链接器命令文件中的 ramfuncs。 如果您想了解有关如何使用.TI.ramfunc 与 ramfuncs 的更多信息、请参阅 C2000Ware 中 F2837xS 的闪存示例。 请注意有关如何创建.TI.ramfunc 段以及何时使用这些段的链接器命令文件。
此致、
Ozino
[/报价]
Ozine、
能不能向我解释一下差异所在。 我看不到它! 我只看到需要放置品牌名称。
#ifdef __TI_Compiler_version__
#if __TI_Compiler_version__>=15009000
组
{
.TI.ramfunc
{-l F021_API_F2837xS_FPU32.lib}
}负载= FLASHD,
运行 = RAMLS03、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0
其他
组
{
ramfuncs
{-l F021_API_F2837xS_FPU32.lib}
}负载= FLASHD,
运行 = RAMLS03、
load_start (_RamfuncsLoadStart)、
load_size (_RamfuncsLoadSize)、
load_end (_RamfuncsLoadEnd)、
run_start (_RamfuncsRunStart)、
run_size (_RamfuncsRunSize)、
run_end (_RamfuncsRunEnd)、
PAGE = 0
#endif
#endif
谢谢、
EV
EV、
区别在于它最初会根据工程的编译器版本来推测要使用的闪存配置。
编译器中有一个更新、如果编译器版本大于 v15.0.9.0、则需要更改名称。 代码块的工作方式相同 、但它依赖于要对齐的代码中的链接器段命名和 pragma。 除了名称更改之外、没有明显的更改。
这是唯一的区别、其他一切都是相同的。 只需根据编译器版本更改 ramfunc 名称。
以下是另一个具有相同问题的论坛问题: e2e.ti.com/.../594577
C2000Ware 中的闪存示例应具有代码中更新的段名和 pragma 的示例。
processors.wiki.ti.com/.../Placing_functions_in_RAM
此致、
Ozino