Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
USBデバイスドライバの開発/cybozulabs-youth10-tokunaga
Search
Cybozu
PRO
March 31, 2021
Technology
0
240
USBデバイスドライバの開発/cybozulabs-youth10-tokunaga
Cybozu
PRO
March 31, 2021
Tweet
Share
More Decks by Cybozu
See All by Cybozu
PSIRTでAIテストを実施するまでの道のり
cybozuinsideout
PRO
0
87
無理なく続けるサイボウズの社内勉強会
cybozuinsideout
PRO
1
1.2k
分散システムにおける 無兆候データ破損の影響について
cybozuinsideout
PRO
1
59
タンパク質構造のシミュレーションソフトウェア試行錯誤
cybozuinsideout
PRO
1
47
読みやすいアセンブリ言語
cybozuinsideout
PRO
1
43
Wasmで拡張できる軽量マークアップ⾔語Brack(後編)
cybozuinsideout
PRO
1
36
Wasmで拡張できる軽量マークアップ⾔語Brack(前編)
cybozuinsideout
PRO
1
37
kintone開発組織のAWSエンジニアの紹介
cybozuinsideout
PRO
0
240
kintone開発組織のサービスプラットフォームチームの紹介
cybozuinsideout
PRO
0
130
Other Decks in Technology
See All in Technology
本部長の代わりに提案書レビュー! KDDI営業が毎日使うAIエージェント「A-BOSS」開発秘話
minorun365
PRO
14
2.3k
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
140
ハノーバーメッセ2025座談会.pdf
iotcomjpadmin
0
150
Agentic Workflowという選択肢を考える
tkikuchi1002
1
380
Amplifyとゼロからはじめた AIコーディング 成果と展望
mkdev10
1
360
エンジニア向け技術スタック情報
kauche
0
110
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
0
130
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
700
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
390
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
390
AIのAIによるAIのための出力評価と改善
chocoyama
0
500
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
230
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
Stop Working from a Prison Cell
hatefulcrawdad
270
20k
Building Adaptive Systems
keathley
43
2.6k
Code Review Best Practice
trishagee
68
18k
Being A Developer After 40
akosma
90
590k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Done Done
chrislema
184
16k
Faster Mobile Websites
deanohume
307
31k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
790
Transcript
USB σόΠευϥΠόͷ։ൃ USBσόΠευϥΠόͷ։ൃ ୈ 10 ظੜɹϨΠϠθϛɹಙӬେو March 30, 2021
USB σόΠευϥΠόͷ։ൃ ༰ 1 ͡Ίʹ 2 USB σόΠευϥΠόͷ։ൃ USB σόΠεڞ௨ͷखॱ
USB ϑϥογϡϝϞϦυϥΠόͷ࡞
USB σόΠευϥΠόͷ։ൃ ͡Ίʹ ࣗݾհ ໊લ ಙӬେو ډॅ ਆಸݝҏݪࢢ ॴଐ ిؾ௨৴େֶใཧֶҬ
I ྨίϯϐϡʔλα ΠΤϯεϓϩάϥϜ౬ݚڀࣨ
USB σόΠευϥΠόͷ։ൃ ͡Ίʹ ࣮ͨ͠υϥΠό USB ΩʔϘʔυ USB Ϛε USB ϑϥογϡυϥΠϒ
USB σόΠευϥΠόͷ։ൃ ͡Ίʹ ΩʔϘʔυ͔ΒͷಡΈࠐΈ Figure: ΩʔϘʔυ͔ΒͷಡΈࠐΈ
USB σόΠευϥΠόͷ։ൃ ͡Ίʹ Ϛε͔ΒͷಡΈࠐΈ Figure: Ϛε͔ΒͷಡΈࠐΈ
USB σόΠευϥΠόͷ։ൃ ͡Ίʹ USBϑϥογϡϝϞϦ͔ΒͷಡΈࠐΈ
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USBσόΠευϥΠόͷ։ൃͷେ·͔ͳྲྀ Ε 1 ϗετίϯτϩʔϥʢHCʣΛݟ͚ͭΔ 2 HC
ͷॳظԽ 3 USB σόΠεΛݟ͚ͭΔ 4 USB σόΠεڞ௨ͷॳظԽ 5 USB σόΠεͷछྨʹԠͨ͡ॳظԽ
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB σόΠεڞ௨ͷखॱ HCΛݟ͚ͭΔ HC PCI
σόΠεͷҰछ όε൪߸ (0 ≤ x < 256) ͱσόΠε൪߸ (0 ≤ y < 32) Λ શ୳ࡧ͢Δɽ xHCI ͷ߹ (class, sub, interface) = (0x0C, 0x03, 0x30)
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB σόΠεڞ௨ͷखॱ HCͷॳظԽ Ϧηοτ ϨδελʹඞཁͳΛઃఆʢ࠷େϙʔτͳͲʣ ֤छσʔλߏͷઃఆ
Ϧϯά ίϯςΫετ εΫϥονύου HC ͷಈ࡞։࢝
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB σόΠεڞ௨ͷखॱ USBσόΠεΛݟ͚ͭΔ HC ͕ USB
σόΠεͷଓΛݕ͢ΔͱɼΠϕϯτϦ ϯάʹใࠂ͞ΕΔ
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB σόΠεڞ௨ͷखॱ USBσόΠεڞ௨ͷॳظԽ ֤छσʔλߏͷॳظԽ τϥϯεϑΝʔϦϯά ίϯςΫετ
σεΫϦϓλͷऔಘ
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB σόΠεڞ௨ͷखॱ USBσόΠεͷछྨʹԠͨ͡ॳظԽ ͲͷઃఆΛར༻͢Δ͔ʢϒʔτϓϩτίϧʣ ετϨʔδͷ༰ྔͳͲͷऔಘ
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB ϑϥογϡϝϞϦυϥΠόͷ࡞ USBϚεετϨʔδσόΠεͷυϥΠόͷ ࡞ 2 ͭͷΓํ͕ଘࡏ͢Δɽ
Table: ϓϩτίϧͷҧ͍ ϓϩτίϧͷ໊લ ରԠ͍ͯ͠Δछྨ Bulk-Only Transport Specification શػछ USB Attached SCSI Protocol USB 3.0 ͷΈ
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB ϑϥογϡϝϞϦυϥΠόͷ࡞ σόΠεͱͷΓऔΓ 1 SCSI ίϚϯυͷૹ৴
2 σʔλͷૹ৴ɼ·ͨड৴όοϑΝͷϙΠϯλૹ৴ 3 ίϚϯυͷऴྃεςʔλεͷड৴
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB ϑϥογϡϝϞϦυϥΠόͷ࡞ ࢀߟʹͨ͠ͷ ༷ॻ xHCI USB3.2
USB2.0 ιʔείʔυ MikanOS QEMU ॻ੶ USB: The Universal Serial Bus, Benjamin David Lunt, Forever Young Software
USB σόΠευϥΠόͷ։ൃ USB σόΠευϥΠόͷ։ൃ USB ϑϥογϡϝϞϦυϥΠόͷ࡞ ॻ͍ͨιʔείʔυ Ramen OS https://github.com/toku-sa-n/ramen