Hardware connection

  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下的输入设备。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值