[经验] 【C2000使用经验】DATA_SECTION定义寄存器(存储器)到指定的位置

dontium   2015-4-4 21:02 楼主
DATA_SECTION 宏,可以定位寄存器文件到指定的位置。

通常,编译器分配 全局变量和静态变量到 .ebss or .bss section中,寄存器文件也同样适用

方法如下 :


#pragma DATA_SECTION (symbol,"sectionname")        --C语言
#pragma DATA_SECTION ("sectionname")                            ----C++语言
#ifdef __cplusplus
#pragmaDATA_SECTION("SciaRegsFile")
#else
#pragmaDATA_SECTION(SciaRegs,"SciaRegsFile");
#endif
volatile struct SCI_REGS SciaRegs;
//----------------------------------------
#ifdef __cplusplus
#pragmaDATA_SECTION("ScibRegsFile")
#else
#pragmaDATA_SECTION(ScibRegs,"ScibRegsFile");
#endif
volatile struct SCI_REGS ScibRegs;
CMD文件中,
MEMORY
{
...
PAGE 1:
SCIA : origin =0x007050, length = 0x000010 /* SCI-A registers */
SCIB : origin =0x007750, length = 0x000010 /* SCI-B registers */
...
}
SECTIONS
{
...
SciaRegsFile : >SCIA, PAGE = 1
ScibRegsFile : >SCIB, PAGE = 1
...
}

回复评论 (1)

坐沙发了,学习
点赞  2017-7-19 10:16
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复