主题中讨论的其他器件:HALCOGEN
工具/软件:TI C/C++编译器
您好!
我正在使用 RM57L 硬件开发套件。 我尝试将 DMA 写入 SDRAM 16位接口、但当我使用代码时、我看到地址线路上没有数据传输、而且没有流量、只有 Wen 在切换(使用数字分析器)。 在 main 中使用此函数:
EMIF_SDRAMInit();
/*-在系统 RAM 中创建数据块,以...开始 *
loadDataPattern (D_size、&TXDATA_RAM[0]、0xFFFFFFFF);// 0x5A5A5A5A
/*-配置 DMA 控制数据包*/
G_dmaCTRLPKT1.Sadd =(uint32) TXDATA_RAM;/*源地址*
G_dmaCTRLPKT1.DADD =(uint32)(0x8000000);//(0x08078000);//目标地址;SDRAM *
G_dmaCTRLPKT1.CHCTTRL = 0;/*通道控制*
G_dmaCTRLPKT1.FRCNT = F_COUNT;/*帧计数*/
G_dmaCTRLPKT1.ELCNT = E_COUNT;/*元素计数*
G_dmaCTRLPKT1.ELDOFFSET = 0;/*元素目标偏移量*
G_dmaCTRLPKT1.ELSOFFSET = 0;/*元素目标偏移量*
G_dmaCTRLPKT1.FRDOFFSET = 0;/*帧目标偏移*
G_dmaCTRLPKT1.FRSOFFSET = 0;/*帧目标偏移*
G_dmaCTRLPKT1.PORTASGN = PORTA_READ_PORTA_WRITE;
G_dmaCTRLPKT1.RDSIZE = ACCESS_32_BIT;/*读取大小*
G_dmaCTRLPKT1.WRSIZE = ACCESS_32_BIT;/*写入大小*
G_dmaCTRLPKT1.tType = frame_transfer;/* transfer type *
G_dmaCTRLPKT1.ADDMODERD = ADDR_INC1;/*地址模式读取*
G_dmaCTRLPKT1.ADDMODEWR = ADDR_INC1;/*地址模式写入*
G_dmaCTRLPKT1.AUTOINIT = AUTOINIT_OFF;/*自动初始化*/
G_dmaCTRLPKT2.Sadd =(uint32)(0x80001000);//(0x80001000)(0x08076000);//源地址*
G_dmaCTRLPKT2.DADD =(uint32) RXDATA_RAM;/*目标地址*
G_dmaCTRLPKT2.CHCTTRL = 0;/*通道控制*
G_dmaCTRLPKT2.FRCNT = F_COUNT;/*帧计数*
G_dmaCTRLPKT2.ELCNT = E_COUNT;/*元素计数*
G_dmaCTRLPKT2.ELDOFFSET = 0;/*元素目标偏移量*
G_dmaCTRLPKT2.ELSOFFSET = 0;/*元素目标偏移量*
G_dmaCTRLPKT2.FRDOFFSET = 0;/*帧目标偏移*
G_dmaCTRLPKT2.FRSOFFSET = 0;/*帧目标偏移*
G_dmaCTRLPKT2.PORTASGN = PORTA_READ_PORTA_WRITE;
G_dmaCTRLPKT2.RDSIZE = ACCESS_32_BIT;/*读取大小*
G_dmaCTRLPKT2.WRSIZE = ACCESS_32_BIT;/*写入大小*
G_dmaCTRLPKT2.tType = frame_transfer;/* transfer type *
G_dmaCTRLPKT2.ADDMODERD = ADDR_INC1;/*地址模式读取*
G_dmaCTRLPKT2.ADDMODEWR = ADDR_INC1;/*地址模式写入*
G_dmaCTRLPKT2.AUTOINIT = AUTOINIT_OFF;/*自动初始化*
/*-设置 DMA 控制数据包*/
dmaSetCtrlPacket (dma_ch1、g_dmaCTRLPKT1);//TX
//dmaSetCtrlPacket (dma_CH0、g_dmaCTRLPKT2);//rx
/*-将 DMA 通道设置为在硬件请求时触发*/
dmaSetChEnable (DMA_CH1、DMA_SW);
//dmaSetChEnable (DMA_CH0、DMA_SW);
/*传输完成后为接收启用块传输完成中断*/
//dmaEnableInterrupt (DMA_CH0、BTC、DMA_INTA);
dmaEnable();
在 sys_link 中、我使用该地址
引导程序(X):origin=0x00000000 length=0x00000020
FLASH0 (RX):origin=0x00000020 length=0x001FFFE0
FLASH1 (RX):origin=0x00200000 length=0x00200000
堆栈(RW):origin=0x08000000 length=0x00001500
RAM (RW):origin=0x08001500 length=0x0007BB00
SHAREDRAM (RW):origin=0x0807D000 length=0x00003000
/*用户代码开始(3)*/
SDRAM (rwx):origin=0x8000000 length=0200000000
谢谢你
Marcel