【技術書典4】USB 3.0 ホストドライバ自作入門を出します(ダウンロード頒布有)
大人気の技術書オンリーの同人誌即売会「技術書典 4」が、2018/04/22(日)に秋葉原 UDX で開かれます。
今回は「USB 3.0 ホストドライバ自作入門」を出しますので、そのお知らせです。
頒布情報
- 日時 2018 年 4 月 22 日(日)
- 場所 秋葉原 UDX アキバ・スクエア
- ブース け 51「windhole」 windhole のサークルページ
- 書名 USB 3.0 ホストドライバ自作入門
- windhole ブースでは他にも Linux や自作 OS 系の低レイヤな同人誌を頒布しています。
- ページ数 52(表紙含む)
概要
本書は自作 OS 向けの USB 3.0 ホストドライバの作り方を説明しています。最終的には USB キーボードからの入力を受け付けられるようになります。 関連する仕様書と合わせて本書を一緒に読むことで、最短で USB ホストドライバを作ることを目指します。
現代の x86_64 アーキテクチャのコンピュータには USB 3.0 ホストコントローラとして xHCI 準拠のコントローラが搭載されています。 xHCI は Intel が作ったホストコントローラ規格であり、xHCI に対応できれば USB 1.1、USB 2.0、USB 3.0 のデバイスを扱えるようになります。
本書はホストコントローラを PCI バス上で検索するやり方から始まり、ホストコントローラの初期化、USB デバイスの認識、USB キーボード用クラスドライバの作り方を解説します。 PCI における割り込み(MSI)の説明もしています。複数の関連する仕様にまたがって一気通貫で説明しているのが特徴です。
目次
- 第 1 章はじめに
- 第 2 章PCI バス
- 第 3 章xHCI ドライバの重要な概念
- 第 4 章ホストコントローラの初期化
- 第 5 章デバイス検出と初期化
- 第 6 章クラスドライバ
- HID クラス
- HID のエンドポイント
- コラム:Interrupt エンドポイント
- エンドポイントの有効化
- キーボードからの入力
- モディファイアキー
- キーコードとASCII 文字コード
チラ見
中身を数ページだけ公開します。 ブースに立ち寄るかどうかの参考になれば幸いです。
ダウンロード頒布
同人誌即売会の雰囲気を大事にしたいので、当日ブースまで来ていただけると嬉しいです。しかし、何らかの理由により来られない方のために、ダウンロードによる頒布を行っています。
ダウンロード頒布は https://uchan.booth.pm/ で行っています。(過去作もあります)
ブース紹介
け 51 では本書の他に低レイヤな本が並びます。それらを簡単にご紹介。
武内さんの同人誌
武内さん(@satoru_takeuchi)は Linux カーネルエンジニアであり、サイボウズ株式会社の技術顧問です。
- 図解でわかる Meltdown
- Btrfs の薄い本
- Btrfs というファイルシステムの解説。Btrfs の開発に携わっている武内さんによる直々の説明はこの本でしか読めない!?
- カーネルモジュール作成で学ぶ Linux カーネル開発の基礎
- Linux カーネルで学ぶ C 言語マクロテクニック
筆者(@uchan_nos)の同人誌
- USB 3.0 ホストドライバ自作入門
- 本ページで解説。ここまで具体的な値を載せてある本も珍しい、と思います。
- システムプログラミングハンドブック
- 「30 日でできる!OS 自作入門」を読んだ人が、一歩進んだ機能を OS に追加したいときに役立つ資料集。
- Linux カーネルモジュール自作入門
- ハローワールドはもちろん、kprobes を使って実用的なカーネルモジュールを作ります。
どの本も読みごたえがあると思います。是非お立ち寄りください。