现象:ARM已控制FPGA将数据送出,通过示波器测量和FPGA内部抓数,已发现数据线上数据正常,但是从ARM端读出的数据为0. 为减小篇幅贴上部分代码: 1、CONFIG寄存器设置 #define FPGA_GPMC_CONFIG1 0xA9001001 #define FPGA_GPMC_CONFIG2 0x001E1404 //CSontime = 4 fclk, CSRDofftime = 20 fclk #define FPGA_GPM...
(1)在linux3.2内核下,ARM与FPGA通过GPMC接口通信,由FPGA给ARM不定时发送数据包,每包为192字节数据,通过EDMA方式将FPGA中的数据搬移至内存。 (2)FPGA端数据由CS2口出来,假设FPGA端数据地址为cs2_base_addr。 (3)在linux3.2内核中通过dma_alloc_coherent()函数申请大小为192*80的内存缓冲区,假设内存缓冲区首地址为...
AM5728外设接口丰富,有V-PORT接口、PCIe、GPMC、USB、UART等等,通常与FPGA之间高速数据通信可以选择V-PORT、PCIe、GPMC,这里以实现起来最简单的GPMC为例,实现了从FPGA到AM5728的高速数据搬运。 AM5728的ARM端运行Linux 4.4内核操作系统,通过GPMC接口采用DMA的方式读取FPGA端的数据,读取32KB数据大概用了540us,即60MB/s...
1、硬件连接方式:在DM8168中GPMC接口时钟在异步模式下为125MHz,这里就把GPMC接口配置为异步模式并设置NOR FLASH、非地址数据线复用的模式与FPGA通信,但只用16位数据线,不用地址线,即采用类似于FIFO的方式与FPGA通信。目前实际只使用到了如下I/O口: GPMC_CS3:用CS3做片选信号 GPMC_OEN:输出使能时钟 D[15:0]:16...
第一是GPMC的片选寻址机制,第二是GPMC的数据输出时的写法。 首先来讲讲GPMC的片寻,GPMC总共有八个片寻CS0-CS7,其中CS0-1是用来做flash的,和FPGA通信可以从CS2-CS7里面选。在GPMC的寄存器里,一般用到的也就是CONFIG1-CONFIG7这七个配置寄存器,关于片寻的在CONFIG7里。CONFIG7的意义在于,当处理器检测到你往...
分享一下FPGA与ARM基于GPMC的通信测试,测试的开发板为创龙TL437xF-EVM(基于TI AM437x ARM Cortex-A9 + Xilinx Spartan-6 FPGA处理器),如图所示:方法/步骤 1 以下介绍:本测试程序将FPGA模拟成GPMC内存设备,对Linux系统而言,等效于外接内存。使用GMPC总线进行读写操作时,只需通过mmap函数将物理地址映射为...
第3期014年1月No.3December,014图FPGA与Dm3730连接原理GPMC总线在DM3730与FPGA通信应用中的Linux驱动实现尹剑峰,王冰山,王(中国电子科技集团公司第二十八研究所,江苏南京10007)耿,李韩芬摘要:文章介绍了GPMC总线在DM3730微处理器芯片与FPGA芯片通信中的应用方案,针
看到不少朋友在使用AM335x的过程中,都有遇到过调试GPMC与FPGA通信的问题。GPMC与FPGA的通信,可以通过同步或异步的方式来实现,主要涉及到的问题点,多数是在如何规划片选信号,如何划分地址区域。。
AM5728外设接口丰富,有V-PORT接口、PCIe、GPMC、USB、UART等等,通常与FPGA之间高速数据通信可以选择V-PORT、PCIe、GPMC,这里以实现起来最简单的GPMC为例,实现了从FPGA到AM5728的高速数据搬运。 AM5728的ARM端运行Linux 4.4内核操作系统,通过GPMC接口采用DMA的方式读取FPGA端的数据,读取32KB数据大概用了540us,即60MB/s...
AM5728外设接口丰富,有V-PORT接口、PCIe、GPMC、USB、UART等等,通常与FPGA之间高速数据通信可以选择V-PORT、PCIe、GPMC,这里以实现起来最简单的GPMC为例,实现了从FPGA到AM5728的高速数据搬运。 AM5728的ARM端运行Linux 4.4内核操作系统,通过GPMC接口采用DMA的方式读取FPGA端的数据,读取32KB数据大概用了540us,即60MB/s...