阅读:1162回复:1
在驱动里面如何写dsp内部的程序存储器
正在写一个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就一点问题也没有。 |
|
|
沙发#
发布于:2003-11-10 11:25
这个我是做过的,都是没有总是。我不知道你的CeX配的对吗,这些register的内容,你可以看一下他的例子文档。
|
|
|