430F149的信息段FLASH中定义变量问题

pala3cecili   2005-7-14 00:21 楼主
把几个需要掉电保存的变量定义在信息段flash中。

参见斑竹以及几位大侠的介绍,我修改了xcl(连接文件)

-Z(CODE)INFOA=1000-1079 //yg change
-Z(CODE)INFOB=1080-10FF //yg change

把A 和B两个各128字节的 信息段flash标志出来。

问题:如果在INFOA中定义2个变量用以下那种方式:

用这种
#pragma location="INFOA"
const unsigned char macAddr ={0x00,0x00,0x43};
const unsigned char longAddr ={0x00,0x00,0x97,0x43};

还是用这种

#pragma location="INFOA"
const unsigned char macAddr ={0x00,0x00,0x43};
#pragma location="INFOA"
const unsigned char longAddr ={0x00,0x00,0x97,0x43};

回复评论 (7)

好像这两种方法都不可以的
点赞  2005-7-14 08:38
两种都可以
点赞  2005-7-14 08:38
版主,这应该咋样去放,放在哪
我是过了,咋也不行啊
点赞  2005-7-26 22:32
版主能不能讲一讲啊,这个到底咋用,我试了许多次了,还是不行
点赞  2005-7-26 23:03
我还是想问问,我用的是IAR V3.30A 。
我试过
#pragma location="INFOA"
const unsigned char macAddr ={0x00,0x00,0x43};
#pragma location="INFOA"
const unsigned char longAddr ={0x00,0x00,0x97,0x43};

还是编译不能通过。
我们现在急需要将一些数据表映射到Flash里去,请版主指点一二,谢谢。
点赞  2005-7-27 09:03
#include <msp430x12x2.h>
#define uchar unsigned char

const unsigned char macAddr[3] @0x1080 ={0x00,0x00,0x43};
const unsigned char longAddr[4] @0x1000 ={0x00,0x00,0x97,0x43};
unsigned char mystr1[3];
unsigned char mystr2[4];
main()
{

mystr1[1]=macAddr[2];
mystr2[2]=longAddr[3];

}

是可以用的,这个论坛讨论过很多次了
点赞  2005-7-27 09:12
可以用结构把要放的数据全部都做到一个结构中,再存就可以了阿
点赞  2005-7-27 09:17
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复