PCIデバイス - kentakozuka/yetos GitHub Wiki

PCIバスドライバ

mermaid-diagram-2022-07-28-075705

サンプルコード
graph TD
    host[Host Driver<br/>OS] ---|xHCI| pci(PCI pass driver<br/>PCI Bus)
    pci --> usb[Target Driver<br/>USB Device]
Loading

PCI

  • Peripheral Component Interconnect
  • 部品とマザーボードをつなぐための規格
  • 後継はPCIe。PCIと互換性あり。

USBドライバ

大まかに2つの種類がある

種類 説明
ターゲットドライバ 個々のUSB機器に搭載する
ホストドライバ USBを使用するコンピュータ(USBホスト)に搭載する。OSの一部

ホストドライバ

Screen Shot 2022-07-20 at 8 40 07
種類 説明
クラスドライバ USBターゲットの種類ごとに用意するクラスドライバ
USBバスドライバ ホストコントローラドライバのAPIを利用し、USB規格のAPIを提供する
ホストコントローラドライバ ホストコントローラを制御する

ホストコントローラドライバ

PC向けの規格

名称 説明
OHCI USB1.1
UHCI USB1.1
EHCI USB2.0
xHCI USB3.0

xHCI

  • eXtended Host Controller Interface
  • USB3.x用のホストコントローラの規格
  • xHCIに準拠したホストコントローラをxHCと呼ぶ

クラスドライバ

  • USBターゲットのクラスごとにつくる
    • HID(Human Interface Device)クラス: キーボードやマウス
    • オーディオクラス: オーディオ機器
    • マスストレージクラス: 記憶装置
⚠️ **GitHub.com Fallback** ⚠️