我在看一个嵌入式x86系统设计文档。一个包含Xilinx的I/O板连接到linux x86 PCI总线。FPGA的实现如下:
• PCI interface core to connect to the x86 PCI bus
• Xilinx MB soft processor
• Xilinx OPB bus (this is a processor bus for the MB)
• PCI <-> OPB interface to allow the PCI bus to access all OPB peripherals
• Interrup
我阅读linux内核开发和设备驱动程序已经有一段时间了。我觉得我已经准备好在真正的硬件上试一试了。我想为桌面计算机写一个驱动程序,最好是usb (或者pci)设备。但似乎我想到的每一个设备都已经被支持(包括我拥有的所有自动取款机)。所以,欢迎任何建议。
附注:如果价格低于100 to (150美元),愿意购买。
我试图匹配使用udev的设备,并在设备每次连接时(通过RUNS)运行一个命令。设备(一个V4L2 USB摄像头)总是连接到同一个USB端口,所以我想我可以依靠KERNELS属性来匹配它。我一直认为设备的sysfs路径将是持久的,但是对于连接到同一个USB端口的同一设备,我看到了不同的路径和KERNELS值:
$ udevadm info -a /dev/video0
...
looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-1/3-1.4/3-1.4:1.0/video4linux/video0':
我正在试图找到一个微控制器设备,用USB连接到我的电脑上,理想情况下,我想打开它所连接的端口。问题是我在/dev/tty*下面找不到设备的名称
当我运行lsusb时,我得到了这个
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: I
目前,我有一个Linux2.6内核模块,它通过pci_get_device()和pci_read_config_dword()访问某个设备。将来,该模块将被修改为,也会工作一台似乎没有PCI总线的机器(/sys/ bus /pci不存在),但是在一个固定的已知地址上有特定的设备。现在,我希望one模块二进制没有在两台机器上工作的参数。为了能够在非PCI机器上加载模块,我认为我必须避免使用pci_get_device()等;因此,我必须以其他方式在PCI机器上获得所需的配置空间信息。我可以在init_module()中从init_module()中读取它,但我认为让内核模块读取文件被认为是错误的