TI中文支持网
TI专业的中文技术问题搜集分享网站

2812 xintf zone6

     我使用外部存储的zone6,但是我只要给地址0x100000赋值,0x102000、0x104000、0x106000这三个地址的值就会变得跟0x100000的值一样,其他相对应的地址还是相同的现象,感觉像是分成了四个模块:0x100000~0x11FFFF      0x120000~0x13FFFF     0x140000~0x15FFFF      0x160000~0x17FFFF ,只要其中一个模块的值改变,其他三个模块对应地址的值就会变成一样的值,设置如下:

      cmd文件加了一句: A012       : origin = 0x100000, length = 0x080000

xintf初始化:XintfRegs.XINTCNF2.bit.XTIMCLK = 0x0000;

                       XintfRegs.XTIMING6.bit.USEREADY = 0;   

                       XintfRegs.XTIMING6.bit.XRDLEAD = 3;    
                       XintfRegs.XTIMING6.bit.XWRACTIVE = 7;   
                       XintfRegs.XTIMING6.bit.XRDTRAIL = 3;   
                       

                       XintfRegs.XTIMING6.bit.X2TIMING = 1;                     

                      XintfRegs.XBANK.bit.BANK = 2;
                      XintfRegs.XBANK.bit.BCYC = 3;

主函数中宏定义:

 #define  A1    *(Uint32 *)(0x100000+n*2)
#define  A2     *(Uint32 *)(0x108000+n*2)
#define  A3     *(Uint32 *)(0x110000+n*2)

A1=n;
A2=i_rebulid;
A3=Um;
n++; n=n%16384;

n是存储个数据个数,还请遇到过的高手回复下,谢谢了

mangui zhang:

你扩展的外设是什么     这些数据是写出去读上来看到的吗

有没有外设影响了数据线的可能

     我使用外部存储的zone6,但是我只要给地址0x100000赋值,0x102000、0x104000、0x106000这三个地址的值就会变得跟0x100000的值一样,其他相对应的地址还是相同的现象,感觉像是分成了四个模块:0x100000~0x11FFFF      0x120000~0x13FFFF     0x140000~0x15FFFF      0x160000~0x17FFFF ,只要其中一个模块的值改变,其他三个模块对应地址的值就会变成一样的值,设置如下:

      cmd文件加了一句: A012       : origin = 0x100000, length = 0x080000

xintf初始化:XintfRegs.XINTCNF2.bit.XTIMCLK = 0x0000;

                       XintfRegs.XTIMING6.bit.USEREADY = 0;   

                       XintfRegs.XTIMING6.bit.XRDLEAD = 3;    
                       XintfRegs.XTIMING6.bit.XWRACTIVE = 7;   
                       XintfRegs.XTIMING6.bit.XRDTRAIL = 3;   
                       

                       XintfRegs.XTIMING6.bit.X2TIMING = 1;                     

                      XintfRegs.XBANK.bit.BANK = 2;
                      XintfRegs.XBANK.bit.BCYC = 3;

主函数中宏定义:

 #define  A1    *(Uint32 *)(0x100000+n*2)
#define  A2     *(Uint32 *)(0x108000+n*2)
#define  A3     *(Uint32 *)(0x110000+n*2)

A1=n;
A2=i_rebulid;
A3=Um;
n++; n=n%16384;

n是存储个数据个数,还请遇到过的高手回复下,谢谢了

rookiecalf:

这需要看一下你的外围器件设计的时候的地址范围,如果设计的时候有些地址位没设计好,或者是使用的时候某些位有问题,可能会出上述问题。你可以看一下你上面地址异或为真值的位是不是有问题。

赞(0)
未经允许不得转载:TI中文支持网 » 2812 xintf zone6
分享到: 更多 (0)