将代码和变量放入链接器中定义的特定RAM部分

时间:2013-01-10 15:55:07

标签: c compiler-construction linker microcontroller ram

谢谢你看看。

编译我的C项目时,链接器生成一个文件,我可以在其中定义我想要的RAM部分,如下所示:

-ra RAMCHECK=0x00028000/0x000296FF

-ra D_RAM=0x0002a000/0x0002D6FF

-ra IDLE_TSK=0x0002D700/0x0002DFFF

-ra NORMAL_TSK=0x0002E000/0x0002EFFF

-ra HIGH_TSK=0x0002F000/0x0002FFFF

我的问题如下:

如何将代码段和变量定义到RAM的特定位置?

1 个答案:

答案 0 :(得分:1)

这就是在gcc中完成的:

int data[100] __attribute__((section ("D_RAM"))) = {0}; /* should be initialized */
void myfunc(void) __attribute__((section ("HIGH_TSK"))) { ... }

你的编译器(它的名字是什么?)可能有自己的C扩展,工作方式相同。