您的位置: OpenADSP社区论坛 -> SHARC/TigerSHARC专区 -> 新手上路 -> adsp21489的DMA使用
本帖共有596个阅读者
发表帖子 发表投票 回复主题
adsp21489的DMA使用
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
adsp21489的DMA使用
问题:
谁能给我一个针对214XX系列DSP芯片的DMA例子?用DMA实现内部sram与片外sdram之间数据传输。我调试了很久,不知道我程序哪里出了问题。谢谢

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2014/7/18 15:29:26
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
答:此时要使用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.


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2014/7/18 15:29:38
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159016 Call, 1 Queries, Processed in 0.015625 second(s),