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

- UID
- 124450
- 性别
- 男
|
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)去了,很奇怪。 |
|
|
|
|
|

- UID
- 124450
- 性别
- 男
|
楼上的,你好,我也试过你那样的定义,唯一的不同是少了const限定,但那样试了还是不对.
另外,我直接读D_Flash的0x100000,通过设置EPage=0x00,读地址0x0800的内容,验证确实读的就是0x100000的内容.
现在就是想把变量直接定义到D_Flash的一个地址,怎么试都不行. prm文件里的配置也试过. |
|
|
|
|
|

- UID
- 124450
- 性别
- 男
|
本帖最后由 wjckzdh 于 2011-5-20 08:41 编辑
最好是编译器使程序能够自动切换EPAGE。 |
|
|
|
|
|