尊敬的专家:
当我通过添加诸如"#pragma CODE_SECTION (adcA1ISR、".TI.ramfunc")等代码将函数放置在 RAM 区域中时;"在相对代码之前、我发现 RAMGS0区域正在占据更多位置。为什么它会占用 RAMGS0、而不是 RAMM0或 RAMM1?
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.
尊敬的专家:
当我通过添加诸如"#pragma CODE_SECTION (adcA1ISR、".TI.ramfunc")等代码将函数放置在 RAM 区域中时;"在相对代码之前、我发现 RAMGS0区域正在占据更多位置。为什么它会占用 RAMGS0、而不是 RAMM0或 RAMM1?
您好、Vivek:
.TI.ramfunc 段定义如下:

我使用的链接器 cmd 文件为"28002x_generic_flash_lnk.cmd"、因为 TMS320F28002x 除了 RAMGS0外具有 RAMM0和 RAMM1、我能否将"run => RAMGS0 和 RAMGS0 "修改为"run == RAMGS0 | RAMM0 | RAM1"?如果 RAMMM0和 RAMM1 应用代码可用于放置 RAMMM0和 RAMM1应用程序、则类似于 RAMM0 应用程序 代码、我将有更多的空间放置趋化算法、以便提高相对代码的运行速度。
FMAGS0起始地址为 0xC000、其中 RAMM1的结束地址为0x800、因此它们不是连续地址范围。 只将其放入 RAMGS0中、因此不确定为什么希望编译器将其放入 RAMM0/RAMM1中。 RAMM0/RAMM1如果不用于任何其他应用、则可用于应用。 通常、这些 RAM 用于堆栈、但由用户选择。
此致、
Vivek Singh