我们在AM335X上连接了一个外围设备,地址数据复用的16bit,DRAM工作模式,现在读写都正常,但是读写速度很慢,与三星的S5PC100(800MHz,我们的AM335X升到了1G)相比,差不多只有S5PC100的一半.我们猜测是不是GPMC的读写速度不够快。
根据对datasheet 的理解,GPMC的时钟最大支持到100M,时钟源是L3S_GCLK,但是L3S_GCLK是如何计算,我们还不清楚.感觉PRCM那块写的模模糊糊的.如果你们有直接的计算方式,请帮忙告知?或者你们觉得哪里的设置,可以提高读写速度,也可以告知我们,谢谢!
leo chen:
听说用DMA方式传输速度会很快,不过这个我也没有尝试过
坛子里面有其它大神已经实现了,盼大神出手
Jian Zhou:
回复 leo chen:
可以从两个方面做优化:
调整GPMC和外设配合的读写时序。
使用GPMC的DMA传输方式,可以参考\drivers\mtd\nand\omap2.c中的NAND FLASH的驱动,omap_nand_probe()函数中的case NAND_OMAP_PREFETCH_DMA,但是对于FPGA操作,要去掉prefetch。也可以参考starterware:http://processors.wiki.ti.com/index.php/StarterWare_02.00.01.01_User_Guide#NAND