CODE_SECTION(func,"section name");
DATA_SECTION(symbol,"section name");
/*
CODE_SECTION 用来定义代码段
DATA_SECTION 用来定义数据段
注意:func 和 symbol 必须在函数外声明或定义。同
时, pragma 伪指令也必须在函数外,且位于声明、定义或
引用 func 和 symbol 之前,否则编译器会发出警告信息。
*/
CODE_SECTION
作用:在程序空间中,为函数 func 在一个名为 section name 的段中指定空间;
C语言的标准用法:
#pragma CODE_SECTION(func,"section name");
例子:
#pragma CODE_SECTION(sum,"codeA");
int sum(int a, int b);
void main(void)
{
int a = 1, b = 2 , c;
c = sum(a, b);
}
int sum(int a, int b)
{
return (a + b);
}
DATA_SECTION
作用:在数据空间中,为变量 symbol 在一个名为 section name 的段中指定空间;
C语言的标准用法:
#pragma DATA_SECTION(symbol,"section name");
例子:
#pragma DATA_SECTION(SysCtrlRegs,"dataA");
volatile struct SYS_CTRL_REGS SysCtrlRegs;