【C2000使用经验】DATA_SECTION定义寄存器(存储器)到指定的位置
[复制链接]
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 ... }
|