查看: 6179|回复: 2

[MPC] mpc8313的DMA的例程

[复制链接]

该用户从未签到

1

主题

3

帖子

0

新手上路

Rank: 1

积分
64
最后登录
1970-1-1
发表于 2008-12-15 23:13:44 | 显示全部楼层 |阅读模式
有人做过这方面的工作吗?可否给点思路或则例程啊?
我知道答案 目前已有1人回答
回复

使用道具 举报

该用户从未签到

0

主题

3

帖子

0

新手上路

Rank: 1

积分
21
最后登录
1970-1-1
发表于 2008-12-22 11:10:00 | 显示全部楼层

回复:mpc8313的DMA的例程

也要用,加我,一起学习啊 MSN:huang_xianguo@hotmail.com

该用户从未签到

0

主题

3

帖子

0

新手上路

Rank: 1

积分
21
最后登录
1970-1-1
发表于 2008-12-30 17:57:18 | 显示全部楼层

回复:mpc8313的DMA的例程

DMA mode, use the 8313E as the DMAC to read/write the PCI target card, if reading ,it's failed, if writing, it's successful! why?
the corrective code list as:
 
 
 
    void __iomem *DMA_BASE = ioremap(get_immrbase() + DMA_OFFSET, 0x300);
    void __iomem *DMA_SR = DMA_BASE + DMASR0;
    void __iomem *DMA_MR = DMA_BASE + DMAMR0;
    void __iomem *DMA_SAR = DMA_BASE + DMASAR0;
    void __iomem *DMA_DAR = DMA_BASE + DMADAR0;
    void __iomem *DMA_BCR = DMA_BASE + DMABCR0;
    printk(KERN_INFO "dma prepare2!\n");
    if(mypci_card->channels == 0)
    {    // Source Address
        out_le32(DMA_SAR, mypci_card->bs_addr[1].base);
        // Destination Address
        out_le32(DMA_DAR, mypci_card->dmabuf.dma_addr);
        // Counter
        out_le32(DMA_BCR, 0x100);
        // DMA mode
        reg = DMAMR_CTM | DMAMR_SEN PRC_H;//|DMAMR_IRQS|DMAMR_EOTIE; //后两项开启DMA中断
        out_le32(DMA_MR, reg);
        printk("Going to start transfer: 0x%08lx->0x%08lx(0x%08lx) mode=0x%08lx\n",
            (long unsigned int) in_le32(DMA_SAR), (long unsigned int)in_le32(DMA_DAR),(long unsigned int) in_le32(DMA_BCR), (long unsigned int)in_le32(DMA_MR));
        // Start transfer
        reg |= DMAMR_CS;
        msleep(1);
        out_le32(DMA_MR, reg);
        reg = in_le32(DMA_SR);
        while (reg & DMASR_CB) {        //此处请采用中断方式处理
            printk("CB=1\n");
            reg = in_le32(DMA_SR);
        }
        printk("Done! DMA Status=0x%x\n", reg);
    }
    else
    {
        printk("channel error\n");
    }
    iounmap(DMA_BASE);
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-20 18:58 , Processed in 0.085338 second(s), 22 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表