nishino

USBホストドライバの開発

USBホストドライバの開発をSH7262上で行います。
他のUSBホストコントローラ付きのヤツでも参考になれば……いいな。

参考

公式
USB.org
参考サイト
H8/3069F で USB
Enjoy CQ-SH7262
参考書籍
組込み機器へのUSBホスト実装 Interface編集部 編

用語注意

USBホストスタック=USBホストプロトコルスタック
通信のためのプロトコルスイートを何故かプロトコルスタックと呼ぶ。
USBホストプロトコルスタックと書いてあれば、USBホストがデバイスと通信できるようにするための機能が実装されてるんだな、と考えればおk。

めんどいので、取り敢えずはUSBホストスタック≒USBホストドライバという認識で可。
USBホストスタックって書いたほうがいいんじゃないの?と思われる場所もこの記事ではUSBホストドライバと書いてます。

USB開発に必要なスキル&知識

【最低限必要なモノ】
・C言語の知識
・コードを書きまくっても折れない心
SEC BOOKS

【USBの概要】
Wikipedia(USB)(微妙)
Fujitsu技術解説(USB)
ルネサス(USBとは)
【ハードウェアについて】
・ハードウェア固有の特性や構造の違い(通信モード, 通信パイプの種類, DMA, SOF・転送スケジューリングパケット, HUB くらいは概要を確認しておく)
・USBホストを使用する際のレジスタ設定
・USBホストコントローラの通信方式(OHCI, UHCI, EHCI, ベンダ独自)

【ソフトウェアについて】
・USBホストドライバの実装に必要な関数やデータの構造体がぼんやり浮かぶ
・ホストとデバイス間でやり取りする情報の中身
・分からないコードは「おまじない」で済ませる諦め

仕様書ぐらい見よう。

実装手順

大雑把に言うと
1.USBホストドライバを作成
2.クラスドライバを作成

基本的にUSBホストの通信は何かと面倒臭いので
TOPPERS/ASP上にホスト機能を実装します。これで多少はクラスドライバの移植が楽になります。
BT用のクラスドライバの実装は「H8/3069FでUSB」を参考にBluzを移植。

開発環境

初めの一歩

USB Protocol Analyzerなしでデータを解析する方法

魔法の言葉”根性”


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-10-02 (日) 11:12:58