Ice_Bin
驱动牛犊
驱动牛犊
  • 注册日期2002-02-25
  • 最后登录2004-01-06
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1127回复:1

在驱动里面如何写dsp内部的程序存储器

楼主#
更多 发布于:2003-04-16 21:14
正在写一个pci卡的驱动,卡上是c6205的dsp系统,
想通过pci来加载程序,但是写Inner Program Cache的时候,出现一点问题,

就是假如我每次向Inner Program Cache写4096byte的‘00’时,Inner Program Cache总是有小部分不是‘00’,这一小部分是不连续的,比如如下:
71 00 13 00, 00 00 00 00
00 00 00 00, 00 00 00 00
00 00 13 00, 00 24 00 00
00 00 00 00, 00 00 00 00
00 00 13 00, 00 24 00 00
00 00 00 00, 00 00 00 00
00 00 13 00, 00 00 00 00
00 00 00 00, 00 00 00 00

有时好像这些写的不正确的数据还有规律。试过写其他的数据,也是一样的。

我写的时候也试过两种方法

FORM 1:

VOID outb(
   ULONG ByteOffset,
   UCHAR Data
);用个循环语句写,每写一个,读一个出来是对的
全部写完后,用
VOID inb(
   ULONG ByteOffset,
   PUCHAR Buffer,
   ULONG Count
);
全部读出来就出现上述问题了。

FORM 2:

VOID outb(
   ULONG ByteOffset,
   PUCHAR Buffer,
   ULONG Count
);
问题也一样!

不知道这是什么原因?
如果上面的是写dsp内部的数据cache就一点问题也没有。




好好学习 天天向上
zytzjx
驱动牛犊
驱动牛犊
  • 注册日期2001-12-24
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望41点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-11-10 11:25
这个我是做过的,都是没有总是。我不知道你的CeX配的对吗,这些register的内容,你可以看一下他的例子文档。
Wecan
游客

返回顶部