您的位置 首页 元件

s3c6410 DMA 完成(入门级)

charsrc[200]=abcdefghigklmn123456\n;chardest[200]=kkkk\n;voiddma_init(void){DMACConfiguration=1;//开总

char src[200] = “abcdefghigklmn123456\n”;

char dest[200] = “kkkk\n”;

void dma_init(void)
{
DMACConfiguration = 1; //开总的DMA 使能
DMACC7SrcAddr = (int)src; //给源地址寄存器赋源地址
DMACC7DestAddr = (int)dest;//给方针地址寄存器赋意图地址
DMACC7Control0 = 0x0c000000; //【26】【27】方位1,使源地址和方针地址在发送后递加
DMACC7Control1 = 0x64; //写入复制的size;
DMACC7Configuration |= 1<<0; //开channel7 DMA
}

main()

{

dma_init();
delay();
my_puts(“—————-\n”);
my_puts(src);
my_puts(dest);

}

之后打印出的src和dest内容相同

6410手册中操作DMA的编程过程:

Steps to program a DMA channel:

1. Decide whether use secure DMAC(SDMAC) or general DMAC(DMAC). In order to use general DMAC,

disable secure DMA control register(SDMA_SEL) of system controller. (Reset value is SDMAC)

2. Select a free DMA channel with the priority needed. Where DMA channel 0 has the highest priority and DMA

channel 7 the lowest priority.

DMACCXCONFIGURATION

DMACC7Configuration 【0】位值1

3. Clear any pending interrupts on the channel to be used by writing to the DMACIntTCClr and DMACIntErrClr

registers. The previous channel operation might have left interrupts active.

4. Write the source address into the DMACCxSrcAddr register.

5. Write the destination address into the DMACCxDestAddr register.

6. Write the address of the next LLI into the DMACCxLLI register. If the transfer comprises of a single packet of

data then must be written into this register.

Offset Contents

Next LLI address Source Address for next transfer

Next LLI address + 0x04 Destination Address for next transfer

Next LLI address + 0x08 Next LLI address for next transfer

Next LLI address + 0x0C DMACCxControl0 data for next transfer

Next LLI address + 0x10 DMACCxControl1 data for next transfer

7. Write the control information into theDMACCxControlregister.

DMACCxControl0

DMACCxControl1 transfer size

8. Write the channel configuration information into the DMACCxConfiguration register. If the Enable bit is set

then the DMA channel is automatically enabled.

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/274537.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部