注意:在实现过程中可能涉及到.XCL 连接文件的更改,请保存好原来的.XCL 文件!
1.打开相应的*c.xcl 文件,用"-Z(CONST)段名=程序定位的目标段-FFDF"定义段的起始地址.
2.在自己的 C 程序中用#pragma constseg(段名)定位自己的程序
3.结束后恢复编译器的默认定位#pragma default
IAR 1.26b 环境下:
1、将常量数组放在 FLASH 段自定议的 MYSEG 段中
原来的 MSP430F149 XCL 文件如下:
// Constant data
-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=1100-FFDF
如果想从中分出一部分做数据存储区,做如下修改:
-Z(CONST)DATA16_C,DATA16_ID,DIFUNCT,CHECKSUM=1500-FFDF // 将 1100-14FF 从
ROM 中分出存储 arry 数
组
-Z(CONST)MYSEG=1100-14FF
区间大小可自行决定
在程序中描写如下即可:
#pragma memory = constseg(MYSEG) //在.XCL 文件中修改
char arry[]={1,2,3,4,5,6,7};
#pragma memory = default
2、将变量放入所命名的段
在 XCL 文件中开辟一段 MYSEG 段,如上所述
#pragma memory = dataseg(MYSEG)
char i;
char j;
int k;
#pragma memory = default
IAR3.10A 环境下
xcL 文件的更改方法如上
评论0