Upgrade to Pro — share decks privately, control downloads, hide ads and more …

USBデバイスドライバの開発/cybozulabs-youth10-tokunaga

Cybozu
March 31, 2021

 USBデバイスドライバの開発/cybozulabs-youth10-tokunaga

Cybozu

March 31, 2021
Tweet

More Decks by Cybozu

Other Decks in Technology

Transcript

  1. USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USBσόΠευϥΠόͷ։ൃͷେ·͔ͳྲྀ Ε 1 ϗετίϯτϩʔϥʢHCʣΛݟ͚ͭΔ 2 HC

    ͷॳظԽ 3 USB σόΠεΛݟ͚ͭΔ 4 USB σόΠεڞ௨ͷॳظԽ 5 USB σόΠεͷछྨʹԠͨ͡ॳظԽ
  2. USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB σόΠεڞ௨ͷखॱ HCΛݟ͚ͭΔ HC ͸ PCI

    σόΠεͷҰछ όε൪߸ (0 ≤ x < 256) ͱσόΠε൪߸ (0 ≤ y < 32) Λ શ୳ࡧ͢Δɽ xHCI ͷ৔߹ (class, sub, interface) = (0x0C, 0x03, 0x30)
  3. USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB ϑϥογϡϝϞϦυϥΠόͷ࡞੒ USBϚεετϨʔδσόΠεͷυϥΠόͷ ࡞੒ 2 ͭͷ΍Γํ͕ଘࡏ͢Δɽ

    Table: ϓϩτίϧͷҧ͍ ϓϩτίϧͷ໊લ ରԠ͍ͯ͠Δछྨ Bulk-Only Transport Specification શػछ USB Attached SCSI Protocol USB 3.0 ͷΈ
  4. USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB ϑϥογϡϝϞϦυϥΠόͷ࡞੒ σόΠεͱͷ΍ΓऔΓ 1 SCSI ίϚϯυͷૹ৴

    2 σʔλͷૹ৴ɼ·ͨ͸ड৴όοϑΝͷϙΠϯλૹ৴ 3 ίϚϯυͷऴྃεςʔλε౳ͷड৴
  5. USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB ϑϥογϡϝϞϦυϥΠόͷ࡞੒ ࢀߟʹͨ͠΋ͷ ࢓༷ॻ xHCI USB3.2

    USB2.0 ιʔείʔυ MikanOS QEMU ॻ੶ USB: The Universal Serial Bus, Benjamin David Lunt, Forever Young Software