Здравствуйте. Имеется отладочная плата с адресом 0х200 на шине PCI. В ДОСе она данные хватает исправно, а как запмсать в нее в Линуксе? Исходник драйвера скачал с www.fpga4fun.com, однако там ничего не сказано, как этот драйвер использовать для записи данных. Помогите, пожалуйста, кто знает. Исходник драйвера привожу:
#include <linux/init.h> #include <linux/pci.h> MODULE_LICENSE("GPL");
#define VENDOR_ID 0x1000 #define DEVICE_ID 0x0000
static struct pci_device_id pci_device_id_DevicePCI[] = { {VENDOR_ID, DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, {} // end of list };
int device_probe(struct pci_dev *dev, const struct pci_device_id *id) { int ret; ret = pci_enable_device(dev); if (ret < 0) { printk(KERN_WARNING "DevicePCI: unable to initialize PCI device\n"); return ret; }
ret = pci_request_regions(dev, "MyPCIDevice"); if (ret < 0) { printk(KERN_WARNING "DevicePCI: unable to reserve PCI resources\n"); pci_disable_device(dev); return ret; }
printk(KERN_INFO "DevicePCI: device_probe successful\n"); return ret; }
void device_remove(struct pci_dev *dev) { pci_release_regions(dev); pci_disable_device(dev); printk(KERN_INFO "DevicePCI: device removed\n"); }
struct pci_driver pci_driver_DevicePCI = { name: "MyPCIDevice", id_table: pci_device_id_DevicePCI, probe: device_probe, remove: device_remove };
static int init_module_DevicePCI(void) { printk(KERN_INFO "DevicePCI: init\n"); return pci_module_init(&pci_driver_DevicePCI); }
void cleanup_module_DevicePCI(void) { printk(KERN_INFO "DevicePCI: cleanup\n"); pci_unregister_driver(&pci_driver_DevicePCI); }
module_init(init_module_DevicePCI); module_exit(cleanup_module_DevicePCI);
|