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

XEQ100 EEE问题

XEQ100 EEE问题

本帖最后由 wjckzdh 于 2011-5-18 20:59 编辑

对于XEQ512,使用EEE时,改写EEE_RAM会自动存储到EEE_Flash,但是调试发现定义到EEE_RAM的unsigned int型数据(在EEE_RAM里看每个数据确实只占两个字节),在对应EEE_Flash里却要用4个字节存储,每4个字节的后两个字节跟对应EEE_RAM的数据一样,前面两个字节不知道是什么数据。
比如EEE_RAM存了0x1111和0x2222两个数据,显示 11 11 22 22,但在对应的EEE_Flash里,显示的是:** ** 22 22 ** ** 11 11。而且地址好象有点错位,还是顺序倒过来的。
这个有什么说法吗? 难怪例子中设置1个区256字节的EEE_RAM,却相应的设置了12个sectors的EEE_Flash(达256字节*12=3K)。
尽管我们其实是不需要知道EEE_RAM存储到EEE_Flash的哪个地方去了(只要留足即可)。
另外剩余的USER_Flash,要写的话,是不是写CCOB指令。
比如向add开始的地址连续写4个字,调用
status = LaunchFlashCommand(4 ,PROGRAM_D_FLASH, add, Data1, Data2, Data3, Data4, 0, 0, 0);

谢谢!
没有原码还真不知道是怎么回事。但应该是你FLASH写入的程序有问题。我用过的X系列的片子都不会这样的问题。
本帖最后由 wjckzdh 于 2011-5-19 20:15 编辑

看了文档,相应的EEE_Flash比EEE_RAM多,是其芯片内部EEE操作机制问题,开发人员不必太关心,反正重新上电执行指令前会自动把EEE_Flash内容拷贝到EEE_RAM里。现在写D_FLash任何地址的数据都没问题, 第1贴函数的调用参数设置稍微有点错误,通过那个函数可以写1~4word到某个全局的D_Flash地址.
通过EPAGE读D_Flash的任何一个地址也没有任何问题。现在唯一不方便的是,想跟用以前的freescale单片机一样,把某个变量定义到D_Flash具体的地址,总也试不好。全局地址不行,考虑到映射到64KCPU地址空间也不行。
本帖最后由 lzh2010 于 2011-5-20 08:57 编辑

3# wjckzdh

      我在使用XEP100,这两天也正在研究EEE的问题。看了官方的应用文档AN3490也没看明白在DFlash中如何对EEE RAM中的数据备份的。你提到的(比如EEE_RAM存了0x1111和0x2222两个数据,显示 11 11 22 22,但在对应的EEE_Flash里,显示的是:** ** 22 22 ** ** 11 11。而且地址好象有点错位,还是顺序倒过来的)我发现也是这样的,** ** 好像是在DFlash中备份EEE RAM的地址吧,AN3490中有提到,我看得不是太明白。
     把变量定义在Dflash中我还没试验过,这方面希望我们以后能多多交流。
希望以后多交流。
返回列表