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

XEP100 里怎样将一个数组定义到D_Flash某个地址

XEP100 里怎样将一个数组定义到D_Flash某个地址

本帖最后由 wjckzdh 于 2011-5-19 10:36 编辑

我想将unsigned int a[10]这样一个数组定义到D_Flash(0x100000~0x107FFF)的某个地址比如0x100000(不属于EEE部分),现在写D_Flash已经可以,如果a[10]能直接定在那,那么程序里就可以直接引用a了。试了unsigned int a[10]@0x100000不行。谢谢大家!
以前的DZ60等Freescale等都是可以直接定义到Flash的某个地址的。

如果要用时,再导到RAM里,那样麻烦,固定数据表(并不是固化,偶尔要通过上位机修改)比较多,用一张导一张太耗时,一次导入全部,太耗内存。

经调试发现,我定义unsigned int a[10]@0x00800,查看数据,真正定义到全局地址0x13F800(也就是BUF_RAM)去了,很奇怪。
楼上的,你好,我也试过你那样的定义,唯一的不同是少了const限定,但那样试了还是不对.
另外,我直接读D_Flash的0x100000,通过设置EPage=0x00,读地址0x0800的内容,验证确实读的就是0x100000的内容.
现在就是想把变量直接定义到D_Flash的一个地址,怎么试都不行. prm文件里的配置也试过.
本帖最后由 wjckzdh 于 2011-5-20 08:41 编辑

最好是编译器使程序能够自动切换EPAGE。
返回列表