首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FLBPR 怎么附值

FLBPR 怎么附值

有什么简单的方法,千万不要教我改.s文件
我的方法比较麻烦:
1.在prm文件中,增加:

SEGMENTS
    ROM_FF7E_SEG = READ_ONLY  0xFF7E TO 0xFF7E;    //增加FLBPR        !
END

PLACEMENT
    ROM_FF7E                 INTO ROM_FF7E_SEG;  //定义ff7e
  

2.在IO_map.c文件内,将FLBPR定义屏蔽:
        //volatile FLBPRSTR _FLBPR;

3.定义FLBPR_DATA字节                //FLBPR段定义


//根据CPU型号和需要,修改下面2个参数  
//-------------------------------V-------V--------

#pragma CONST_SEG  ROM_FF7E                //FLBPR段定义
const unsigned char FLBPR_DATA@0xff7e =    4 ;        //修改:保护前4页为可擦写区(256字节)
我的方法比较麻烦:
1.在prm文件中,增加:

SEGMENTS
    ROM_FF7E_SEG = READ_ONLY  0xFF7E TO 0xFF7E;    //增加FLBPR        !
END

PLACEMENT
    ROM_FF7E                 INTO ROM_FF7E_SEG;  //定义ff7e
  

2.在IO_map.c文件内,将FLBPR定义屏蔽:
        //volatile FLBPRSTR _FLBPR;

3.定义FLBPR_DATA字节                //FLBPR段定义


//根据CPU型号和需要,修改下面2个参数  
//-------------------------------V-------V--------

#pragma CONST_SEG  ROM_FF7E                //FLBPR段定义
const unsigned char FLBPR_DATA@0xff7e =    4 ;        //修改:保护前4页为可擦写区(256字节)
试试这样:

const char FLBPR_DATA@0xFF7E = 4; //prm文件中不需要任何改动。
海纳百川  有容乃大
斑竹可能不能这样吧,好象不能直接写值
签名: 最多300字节 文字将出现在您发表的文章的结尾处。体现您的个性。
我倒是觉得改。S文件可行
签名: 最多300字节 文字将出现在您发表的文章的结尾处。体现您的个性。
受斑竹启发,找到好办法了,

1。在IO_map.c文件内,将FLBPR定义屏蔽,如下:
     //volatile FLBPRSTR _FLBPR;

2。const unsigned char FLBPR_DATA@0xff7e = 4 ;
受斑竹启发,找到好办法了,

1。在IO_map.c文件内,将FLBPR定义屏蔽,如下:
     //volatile FLBPRSTR _FLBPR;

2。const unsigned char FLBPR_DATA@0xff7e = 4 ;
谢谢大家,
今天试了一下,发现直接在程序中写入
FLBPR=0x0c;
语句,掉电后居然数据也保存了,
其他什么都没动,呵呵
不知是我运气好,还是哪里出了什么问题(怕以后运行中有问题)
谁有兴趣也试试,最好把结果贴出来
如果不设定FLBPR,那么值为0xff,可以对所有的flash擦写。
我确实忽略了,FLBPR及其地址应该已经被定义过了,所以可以直接引用。而且如果再在此地址上定义别的常量,可能会发生地址冲突。
海纳百川  有容乃大
返回列表