您好!
在 闪存程序开始时、代码被复制到 RAM (c_int00 -> main、将代码复制到 RAM ->在 RAM 中运行的代码)。
.TI.ramfunc:{} load = flash,run = RAM,page = 0,align (4)
{"../lib/C28_DSP_Fpu_Lib/lib/C28x_Fpu_DSP_library.lib"
"./lib/flash_api/lib/F021_API_F2837xS_FPU32.lib"
"./lib/C28_Fpu_FastRTS/lib/rts2800_fpu32_fast_f늹 补_coff .lib"
module1.obj (.text)
module2.obj (.text)
module3.obj (.text)
}
这是常见的做法。 ".text"-段 位于闪存中、因此 c_int00和 main 将 从闪存执行。 一切都好。
但现在我需要从 RAM 执行每个".text"-函数、启动时的一些实际闪存函数除外:c_int00、main 等。 因此、即使 F$$DIV 等(隐藏的)函数也将位于 RAM 中。 当然、我可以找到".text"来 加载=闪存、运行= RAM、但如果我这么做、所有内容都将出现在 RAM 中、并且无法启动。
我如何向链接器说一些函数(尤其是 C-lib-functions)应该从闪存执行? 是否有一个存储在闪存中(几乎) 100% RAM 程序的教程?
谢谢!
Edwin