anycui
驱动牛犊
驱动牛犊
  • 注册日期2005-01-05
  • 最后登录2005-05-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1691回复:3

关于9054DMA寄存器配置问题

楼主#
更多 发布于:2005-01-05 17:49
 9054配置:
>     Master Enable bit PCICR [04h][2]:1b 置9054对PCI总线主设备
>     DMAMODE0[100h]:00000043h:置本地总线为32bit C模式,设置DMA通道0为 BLOCK 模式,使能
>     通道0的ready#输入,使能本地总线单周期模式。
>     DMAPADR0[104h]:00000840h:置PCI总线DMA起始地址为00000840h。
>     DMALADR0[108h]: 03E48000h: 置本地总线DMA起始地址为03E48000h。
>     DMASIZ0[10Ch]:00000010h:  置一次DMA过程传输数据尺寸为16BYTE。
>     DMADRP0[110h]:00000000h:  置DMA方向为从PCI总线到本地总线方向。
>>    启动PCI到本地端sdram的DMA过程:置DMACSR0[128h]:00000003h。

>     结果:未能读到希望的数据。
>  
>     发现问题:
>    
>     分析9054在DMA过程LA线上送出的地址,发现地址是从00000000连续加4的地址。该地址随着每次DMA过程持续增加。每次DMA都以前次DMA的结束时的LA送出的地址作为本次DMA开始的LA送出地址而不是我所设置的DMALADR0[108h]: 03E48000h。
>  
>   请问blockDMA的寄存器配置是否是正确的?是否blockDMA过程设置这些寄存器即可正确完成?
谢谢!
anycui
驱动牛犊
驱动牛犊
  • 注册日期2005-01-05
  • 最后登录2005-05-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-06 09:18
没有人回答吗?
请帮帮我吧。
给20分,不过分值怎么过户呢?
berrie
驱动牛犊
驱动牛犊
  • 注册日期2004-06-16
  • 最后登录2005-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-06 22:23
应该不会有错啊
我使用的BLOCK DMA也是这样配置的

我的配置是这样的:
           PCICR [04h][2]:1b
(DMAMODE0,0x20583)
(DMAPADR0,PAddress)
(DMALADR0,LAddress)
(DMASIZ0,NBytes)
(DMADPR0,0x8)
(DMACSR0,0x3)
zab
zab
驱动小牛
驱动小牛
  • 注册日期2001-07-04
  • 最后登录2008-01-10
  • 粉丝0
  • 关注0
  • 积分126分
  • 威望14点
  • 贡献值0点
  • 好评度12点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-07 10:13
怎么觉得你那个DMAPADR0中的PCI地址值那么小呢:)
游客

返回顶部