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

AM3359的GPMC总线读周期时序设置方面有bug???!!!

  把AM3359 GPMC总线设置为8bit位宽,异步单周期读写模式,读和写周期都为消耗8个时钟(总线时钟频率为100MHz)。

  测试连续读10MB个数据,消耗时间为 2857ms;

  测试连续写10MB个数据,消耗时间为 840ms;

  问:读和写周期设置为同样的8个时钟,为何实测读周期比写周期消耗时间长了好几倍???

读写周期相关寄存器设置代码如下:

#define GPMC_CS   2

gpmc_cs_write_reg(GPMC_CS, GPMC_CS_CONFIG1,  0x00000000);
gpmc_cs_write_reg(GPMC_CS, GPMC_CS_CONFIG2,  0x00070700);
gpmc_cs_write_reg(GPMC_CS, GPMC_CS_CONFIG3,  0x00000000);
gpmc_cs_write_reg(GPMC_CS, GPMC_CS_CONFIG4,  0x07020702);
gpmc_cs_write_reg(GPMC_CS, GPMC_CS_CONFIG5,  0x00060808);
gpmc_cs_write_reg(GPMC_CS, GPMC_CS_CONFIG6,  0x00000000);

测试代码如下:

char bufa[1024*1024];

for(cnt=0; cnt<10; cnt++)  // 读10MB
ioread8_rep(base_mem, (void *)bufa, sizeof(bufa));

for(cnt=0; cnt<10; cnt++)  // 写10MB
iowrite8_rep(base_mem, (void *)bufa, sizeof(bufa));

zhixie hediu:

  这里不是TI的技术支持社区吗?没一个人懂的??

leo chen:

回复 zhixie hediu:

我的配置是这样的

#define STNOR_GPMC_CONFIG1  0x00001000#define STNOR_GPMC_CONFIG2  0x00040401#define STNOR_GPMC_CONFIG3 0x0#define STNOR_GPMC_CONFIG4  0x04020402#define STNOR_GPMC_CONFIG5 0x00050707#define STNOR_GPMC_CONFIG6 0x0

写10MB时间大约700ms,读10MB时间大概170ms

时间测算使用gettimeofday

赞(0)
未经允许不得转载:TI中文支持网 » AM3359的GPMC总线读周期时序设置方面有bug???!!!
分享到: 更多 (0)