现在的位置: 首页 > 综合 > 正文

Hardware connection

2013年01月07日 ⁄ 综合 ⁄ 共 1488字 ⁄ 字号 评论关闭

  QNX Neutrino在启动时会启动一个设备管理器(device enumerator),它会监测多数硬件的驱动。这个管理器会根据/etc/system/enum/devices里定义的信息,来定义在添加或移除硬件是系统应该作什么。
一、PCI/AGP 设备
  你可以使用下面的命令来查询你使用的控制器的型号:
  pci -vvv

二、USB设备
  USB Bus(Universal Serial Bus)为USB设备提供一个可热插拔的共通接口。可以通过以下命令查询:
  usb -vvv
  USB控制器有三种类型:
  ・UHCI:一般控制器接口(Universal Host Controller Interface)。对应USB1.1
  ・EHCI:增强控制器接口(Enhanced Host Controller Interface)。对应USB2.0
  ・OHCI:开放控制器接口(Open Host Controller Interface(made by others))。

  OS需要为了了解与USB设备的交互方式,就需要run the stack。需要作如下操作,以启动USB设备:
1、设备设别
  可以通过pci -vvv来识别
2、利用合适的模块启动io-usb堆栈。
  ・OHCI controller:devu-ohci.so
  ・UHCI controller:devu-uhci.so
  ・EHCI controller:devu-ehci.so
  在启动io-usb以后,启动驱动之前,需要使用waitfor命令来确保/dev/io-usb/io-usb已经出现。
3、当堆栈启动后,启动驱动。
  ・Printers:对于USB打印机使用devu-prn,如:
    io-usb -dohci
    waitfor /dev/io-usb/io-usb
    devu-prn
  ・Mice and Keyboards:现在还不支持文本模式的USB键盘,但是Intel的机器能够使用BIOS模拟来支持。Photon 支持USB Human-Interface设备(HID),如键盘,话筒。启动过程如下:
    io-usb -dohci
    waitfor /dev/io-usb/io-usb
    io-hid -dusb
    devi-hid kbd [-u USB_device_Number] mouse
  ・Touchscreens:先启动USB堆栈,然后是io-hid,最后使用devi-microtouch microtouch touchusb
  ・Ethernet adapters:先启动USB堆栈,再使用io-pkt*来加载对应的网卡驱动。
  ・Mass-storage devices:先启动io-usb,再启动devb-umass。当启动后可以看着是硬盘。

三、Hard disks
  任何一个自宿主系统,都会设备系统中安装的磁盘控制器,并能够加载合适的驱动。在QNX的核心中是通过diskboot来启动块设备的。如果希望修改这类设备的启动方式,就应该修改启动镜像中的diskboot的参数。
1、EIDE
  EIDE通过devb-eide驱动,来自动监测依附与其上的设备。他支持UDMA(Ultra Direct Memory Access)模式,通常使用Generic PIO(Programmed Input/Output)模式。
2、SCSI设备
  当SCSI(Small Computer Systems Interface)驱动启动时,会扫描总线来添加设备。当找到支持的设备时就会在/dev下建一个目录。

四、输入设备
  devi-*设备驱动组处理Photon下的输入设备。

抱歉!评论已关闭.