| 
 
| #if defined(__TI_EABI__) .TI.ramfunc      : LOAD = FLASH_BANK0_SEC1,
 RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
 LOAD_START(RamfuncsLoadStart),
 LOAD_SIZE(RamfuncsLoadSize),
 LOAD_END(RamfuncsLoadEnd),
 RUN_START(RamfuncsRunStart),
 RUN_SIZE(RamfuncsRunSize),
 RUN_END(RamfuncsRunEnd),
 PAGE = 0, ALIGN(4)
 #else
 .TI.ramfunc      : LOAD = FLASH_BANK0_SEC1,
 RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3,
 LOAD_START(_RamfuncsLoadStart),
 LOAD_SIZE(_RamfuncsLoadSize),
 LOAD_END(_RamfuncsLoadEnd),
 RUN_START(_RamfuncsRunStart),
 RUN_SIZE(_RamfuncsRunSize),
 RUN_END(_RamfuncsRunEnd),
 PAGE = 0, ALIGN(4)
 #endif
 
 
 CMD预编译有两种情况,一种变量EABI输出格式,一种COFF输出格式。
 我看头文件定义的变量是不带下划线的,如下:
 extern Uint16 RamfuncsLoadStart;
 extern Uint16 RamfuncsLoadEnd;
 extern Uint16 RamfuncsLoadSize;
 extern Uint16 RamfuncsRunStart;
 extern Uint16 RamfuncsRunEnd;
 extern Uint16 RamfuncsRunSize;
 
 但是为何在COFF调用类似LOAD_START指令时,里面的变量需要加下划线,变成_RamFuncsLoadSize
 不加的话编译会报错。
 | 
 |