vx-pci -驱动

来源:互联网 发布:linux如何查询端口号 编辑:程序博客网 时间:2024/04/28 08:29

挂中断

Pci的用

pciIntConnect

其他的

         IntConnect

pciIntConnect(INUM_TO_IVEC(INT_NUM_GET(irq)),Cpci7841canIsr, cardNum); //这种是永远对的 INUM_TO_IVEC和INT_NUM_GET这两个宏

调式

调式驱动程序,给对应的寄存器赋值发生腹部进去是,可能是自己映射的地址不对。可以超级终端下用命令d+地址去看内存的数据,用m修改。还是改不了的话,肯定是程序的问题。在超级终端下pciDeviceShow 看东西pciHeaderShow.

驱动知识

-> pciHeaderShow 1,12,0


这里的末尾1是i/o访问,0是内存访问。

 

 

Pci驱动

pciFindDevice(HI32IOVENDOR,HI32IODEVICE,boardnum,

&pciBus,&pciDevice,&pciFunc);找到bus device和function

 

pciConfigInLong(pciBus,pciDevice,pciFunc,

           PCI_CFG_BASE_ADDRESS_2,&HI32IO_addr[boardnum]

这个PCI_CFG_BASE_ADDRESS_2(offset)看红框内,使用有数字的那个PCI_CFG_BASE_ADDRESS_X(取值于0-5)

0 0