//上位机通过DMA的方式,将数据写入到DDR中,地址范围0x80000000~0x82000000
Void Pcie_EdmaToDDR()
{
UInt32 i;
UInt32 pcie_dataAddr = DEVICE_REG32_R(0x10800000);
//DMA的src地址 to DMA的dst地址
UInt32 dma_srcAddr = pcie_dataAddr;
UInt32 dma_dstaddr = 0x80000000;
UInt32 data_size = Gps_Nav_Len;
//char *tmp = GPSNavBits;
UInt32 data_size_Nav = 0xA0000000;
//上位机数据 DMA到DDR中 范围0x80000000 ~ 0x82000000
EDMA_mk( (unsigned int)dma_srcAddr,
(unsigned int)GPSNavBits,
data_size,
EDMA_CC2_CH0, DMA_WAIT
);
Shine:
用#pragma DATA_SECTION定义二维数组,在cmd文件中把二维数组地址分配到DDR上。
7.9.7 The DATA_SECTION Pragma
www.ti.com/…/sprui04a.pdf
user5301336:
回复 Shine:
我的意思式有什么方法,可以以实现DDR中的数据可以快速的搬移到二维数组中?我现在可以实现的是通过DEVICE_REG32_R这个语句读出来,再通过DEVICE_REG32_W写到二维数组中,但是每次只能操作一个地址,有点太慢了,有没有什么可以快速实现的方法?
Shine:
回复 user5301336:
用edma传。
user5301336:
回复 Shine:
pdk有没有例程?我想看一下,或者给个链接也可以
user5301336:
回复 Shine:
我这边有个从上位机传数据的edma,但是好像实现不了数据的搬移
Shine:
回复 user5301336:
是上位机-》DDR-》二维数组吗? DDR->二维数组 数据块搬移可以用EDMA啊。
user5301336:
回复 Shine:
那我直接操作地址是不是二维数组中就已经有数据了?