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

关于AM335X 与FPGA 之间的GPMC通信异常

    目前采用GPMC并行总线将FPGA与AM335X进行关联,kernel采用的是老牌的3.2版本,通过修改 board-xxxx.c里头进行GPIO配置。硬件方面采用的是16位数据线ad[15-0] 以及地址线 a[11-0],参考nand方式omap_init_gpmc进行设备初始化,然后就是编写驱动,硬件采用片选CS3,驱动中gpmc配置的设备类型是nor flash , 具体配置位:

GPMC_CONFIG1 0x00001200

GPMC_CONFIG2 0x00000B00

GPMC_CONFIG3 0x00000200

GPMC_CONFIG4 0x00000B03

GPMC_CONFIG5 0x010A000B

GPMC_CONFIG6 0x00000080

GPMC_CONFIG7 0x00000840

写入并且能正常的读取出Config ,但是写数据的时候却发现CS3以及OEN等pin脚没有任何波形输出。其实有一点不是很理解通过总线地址的方式去写入数据

目前怀疑的可能性有两个1:  我写入数据的函数有问题,暂时是直接通过写io_base方式写入的,未采用EDMA。写数据的方式函数为:

   void __iomem* reg_addr;

   reg_addr=gpmc->io_base+GPMC_CS0_OFFSET+(cs*GPMC_CS_SIZE)+idx;

   writew(val,reg_addr);

   其次就是配置问题。因此,请帮忙解惑。

yongqing wang:

参考一下这个帖子:www.xuebuyuan.com/2147979.html

JUN HU:

回复 yongqing wang:

你好,已经尝试过你发的贴子的寄存器配置以及内存申请代码,可以获取到内存地址,但是读写内存地址却是没有任何波形输出,这边采用了Am3354,GPMC与MMC1共用数据线0–3,经过调试发现一个问题,共用的数据线控制模式更改不了。

yongqing wang:

回复 JUN HU:

你是用官方的板子吗?还是自己设计的

JUN HU:

回复 yongqing wang:

不是官方的板子,所以不知道怎么回事。

yongqing wang:

回复 JUN HU:

找个正常的官方的板子先试一下?

JUN HU:

回复 yongqing wang:

官方的板子在哪里可以买到。

yongqing wang:

回复 JUN HU:

TI的官网就可以啊

yongqing wang:

回复 yongqing wang:

或者淘宝找一下吧

赞(0)
未经允许不得转载:TI中文支持网 » 关于AM335X 与FPGA 之间的GPMC通信异常
分享到: 更多 (0)