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

XDT256绝对地址定位问题,恳请版主和各位高人帮忙[求助]

XDT256绝对地址定位问题,恳请版主和各位高人帮忙[求助]

请问:
问题1.想将一个const型数组定位在一个固定的flash地址上,如果我这样做:
const unsigned int myTable[10]@0xC000 = {0,1,2,3,4,5,6,7,8,9}, 编译时出错,说是地址重叠。这样定位常量不可以吗?
如果改成另一种方式:
在prm文件中定义:

SEGMENTS
.....
MYFLASH = READ_ONLY 0x4000 TO 0x4009;
END

PLACEMENT
.....
FLASH_DATA INTO MYFLASH;
END
用户程序中这样定义:
#pragma CODE_SEG MYFLASH
const unsigned int myTable[10]= {0,1,2,3,4,5,6,7,8,9};
#pragma CODE_SEG DEFAULT

请问这样做可不可以,我用full chip simulation 运行时查看0x4000 ~ 0x4009这段地址好像不对?但是用变量把他们读出来却是正确的:如a = myTable[5]结果是正确的。

问题2。如果我要把一个数组放到eeprom中是不是像放在flash中一样可用上面的方法?

请帮帮忙,最好给我一个例程我就更好了!感谢先!

对于问题1就像你说的那样做是可以的,但是要主意PRM内存储空间分配的问题:

对于问题2,EEPROM的操作不能像一种那样,需要按照EEPROM的技术文档来操作

返回列表