阅读:1846回复:1
求救,关于PLX9656.
各位高手,麻烦帮小弟看看目前的情况。谢谢。
我这个设备中的寄存器是映射到内存中的,bar0是用来访问plx9656的寄存器的基地址,bar2是用来访问板上自定义寄存器的偏移量。在机器启动后,我通过bar0来读取plx9656寄存器的值,把这些值和硬件手册上各个寄存器的缺省值进行比较,以此来判断能够正确读写这部分寄存器。 在我通过bar2访问板上自定义寄存器的时候,遇到这种情况。首先,我要开启板上的一些中断,比如这个中断寄存器的偏移量是0x4,当读写这个寄存器的时候,从目前来看是正常的,原因是我观察了内存中的值,想偏移量为0x4的地址写1的时候,确实能够看到相应的变化。但是我同样通过ba2访问有关数据传输的寄存器的时候,出现了问题。比如偏移量是0x00002ff4是代表PC从双口RAM中读数据的标志,如果PC要从双口RAM中读数据,那么首先要将偏移量为0x00002ff4这个单元的值置1。当我在向这个内存单元写1的时候,最终结果确将0x00002ff0和0x00002ff8这两个单元的值写成了1。当我从0x00002ff8这个寄存器读取值的时候,如果在内存中观察这个地址的值是1,但是读取出来的值是0。 |
|
沙发#
发布于:2008-01-10 21:04
|
|