在CCS编程中,如果我们不指定变量的存放位置,编译器会自动的给变量分配一个位置。但是,如果有的时候需要把变量放在一个特定的空间内,我们应该如何操作呢?CCS提供了如下的两个指令:
#pragma CODE_SECTION;
#pragma DATA_SECTION
。
其中data_section是针对数据空间的,code_section是针对程序空间的。
具体的使用办法是:
#pragma CODE_SECTION(fn, ”my_sect”)
int fn(int x)
{
return c;
}
#pragma DATA_SECTION(bufferB, ”my_sect”)
char bufferA[512];
char bufferB[512]; //
可能有问题,没定义bufferA
在.cmd文件中建立对应的section就可以使用了:eg:
MEMORY
{
PAGE 1: spacename : origin = 0x...., length 0x..
}
SECTIONS
{
.my_sect : {} >spacename PAGE 1
}