各位朋友,接触过CAN总线pci卡驱动的朋友给一些意见,谢谢
现在正开发在pc机上的CAN总线控制器在vxworks下的驱动程序,一块卡是pci的,是周立功公司的pci5121CAN控制器卡,上面有两个sja1000CAN控制器,我现在对CAN的原理性的东西不是很了解,希望大家指点一下:
1。基地址得到后对sja1000寄存器的操作是通过I/O映射还是内存映射;
2。在用pciFindDevice找到设备后得到I/O基地址和内存基地址的程序是不同的吧,如有,给个实例,感谢;
3。在windowsXP的设备管理中我看到pci5121卡的资源有五段,即内存映射地址(不知理解是否有误),我希望知道sja1000寄存器映射到了那一段地址中,是否是从那段地址的开头开始映射,即是否为 基地址+0 表示第一个控制寄存器; 4。卡上有两个sja1000CAN控制器,他们的基地址间距是多少,即在找到第一个sja1000基地址之后怎样找到第二个sja1000的基地址;
5。我不知为什么在应用程序中不能对4个字节的地址的内存操作,总是显示“页面错误”,是不是还要在哪里做内存映射啊,但对2个字节和3个字节的内存可以操作啊,我只是向里面写数然后读出来,我不知怎么回事
大家有思路就给我个启示,我在试一试,任何一个问题都可以,非常感谢