hucatty
驱动牛犊
驱动牛犊
  • 注册日期2005-11-01
  • 最后登录2007-11-12
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:3763回复:0

tornado2.2下的cacheDmaMalloc问题

楼主#
更多 发布于:2007-10-30 11:09
    在tornado2.0下调试通过的声卡驱动程序,移植到tornado2.2下一启动dma就死机(声卡其他功能正常),今天找到导致死机的问题如下:
    通过cacheDmaMalloc(size)分配buffer供dma传输用,buffer的大小小于0X9F0字节时,DMA工作正常,buffer的大小超过0X9F0时,cacheDmaMalloc()函数返回仍显示内存分配成功,但此时一启动DMA就死机了.
  这个问题让我想起移植的最初我回避了的一个问题:当时是定义了一个全局数组,结果发现数组的长度只能非常小,否则系统启动时加载了vxworks image就死机.将数组改为malloc动态分配内存就好了,就可以得到我需要的比较大的一段内存了.
      不知道这个数组大小受限问题和dma buffer大小受限问题有没有联系,希望能得到大家的指点和启发,不胜感激!

  
游客

返回顶部