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

数据读取的问题: dsp程序采用boot方式加载,从上位机下载数据到DDR中 ,采用EDMA的方式,但是EDMA是把数据直接存在了ddr的地址上,我想把数据存到的二维数组中,这个二维数组也在ddr上,这个要怎么做?

//上位机通过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:

那我直接操作地址是不是二维数组中就已经有数据了?

赞(0)
未经允许不得转载:TI中文支持网 » 数据读取的问题: dsp程序采用boot方式加载,从上位机下载数据到DDR中 ,采用EDMA的方式,但是EDMA是把数据直接存在了ddr的地址上,我想把数据存到的二维数组中,这个二维数组也在ddr上,这个要怎么做?
分享到: 更多 (0)