完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
谁能给我一个针对214XX系列DSP芯片的DMA例子?用DMA实现内部sram与片外sdram之间数据传输。我调试了很久,不知道我程序哪里出了问题。谢谢
|
|
相关推荐
4个回答
|
|
|
此时要使用214xx的External Port DMA即可。
下面是一个External Port DMA的例子: while((*pDMAC0)&DMAS){asm("nop;");}; // DMA in progress *pDMAC0 = 0; //Disable External Port CH 0 DMA *pIIEP0 = Internal_buffer; //Internal Memory Source *pEIEP0 = SDRAM_wbuffer; //External Memory Destination *pIMEP0 = 1; //Set up internal modify *pEMEP0 = 1; //Set up external modify *pICEP0 = DMA_LEN; //length of DMA *pECEP0 = DMA_LEN; printf("nWrite DDR DMA start!n"); //Config and enable External Port CH 0 DMA *pDMAC0 = DEN|TRAN|DFLSH|INTIRT; // write to external memory, Internal DMA Completion Interrupt in enabled. |
|
|
|
|
|
谢谢frank! 我参考了你的代码,发现我的程序还有些问题。 我需要从外部sdram读数据到内部sram,计算好之后再将结果写到外部sdram。我配置了DDR2,我的代码类似于下面的: DMA_Internal2External(int*Internal_buffer,int *SDRAM_buffer,int DMA_LEN) { while((*pDMAC0)&DMAS){asm("nop;");}; *pDMAC0 = 0; *pIIEP0 = Internal_buffer; *pEIEP0 = SDRAM_buffer; *pIMEP0 = 1; *pEMEP0 = 256; //此处我设置为256 *pICEP0 = DMA_LEN; *pECEP0 = DMA_LEN *pDMAC0 = DEN|TRAN|DFLSH|INTIRT; } DMA_External2Internal(int *SDRAM_rbuffer,int *Internal_buffer,int DMA_LEN) { while((*pDMAC0)&DMAS){asm("nop;")};//代码会在此处死循环,死循环的发生很随机 *pDMAC0 = 0; *pIIEP0 = Internal_buffer; *pEIEP0 = SDRAM_buffer; *pIMEP0 = 1; *pEMEP0 = 1; //此处仍为1 *pICEP0 = DMA_LEN; *pECEP0 = DMA_LEN *pDMAC0 = DEN|DFLSH|INTIRT; } 调用过程类似于: for(i = 0; i < 100; i++) { DMA_External2Internal(); DMA_External2Internal(); 数据计算; DMA_Internal2External(); DMA_Internal2External(); } 我配置了DDR2,不知道是不是这里有问题。 当用DMA将外部数据读入内部时发现,得到的数据里第一个数有时候会读取失败,得到数据0。 另外我用的是adsp-21469评估板 我的问题在哪里呢?谢谢! |
|
|
|
|
bisong13 发表于 2018-11-29 18:18 附件里,是一个DMA的完整例子,直接可以在ADI的评估板上运行。你可以参考该例程即可。 附件
|
|
|
|
|
|
frank 谢谢你 |
|
|
|
|
只有小组成员才能发言,加入小组>>
寻求ADF5355类似的微波源,在DC-15GHz内,锁频时间在1ms内
1788 浏览 0 评论
1630 浏览 0 评论
999 浏览 0 评论
1100 浏览 0 评论
ADF5355失锁: 在用ADF5355进行多次扫频时,延时给了500ms还是经常会失锁
1189 浏览 0 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
2845浏览 3评论
2087浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
2120浏览 2评论
1174浏览 2评论
使用ADI官方提供的no-OS來接收GPS L1(1575.42MHz)的資料
1405浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 08:26 , Processed in 0.493360 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
3302