ソフトウェアとハードウェアの境界

ホビー開発に関する誰得情報満載☆

SL811HSのドライバ on KOZOS (未完) 2nd

(余談)電子工作楽しい

今のところセンサーやLEDなど、ブレッドボードで多少動作確認しただけで、外部機器を全く実装していない状態ではあるが、なんか楽しい。
f:id:tokixy56:20151223155058j:plain
僕はピンアサインをよく忘れるので、シリアルケーブルにはピンの名称を「手書き」で書いて貼り付けてある。アナログとデジタルのインタラクティブな関係を象徴しているかのようだ(意味不明)。
Raspberry Pi(以下RPi)をいじって遊んでいると、新発見をした。以前のブログに書いたように、RPiとシリアル通信をしていた時のことだ。
tokixy56.hatenablog.com
上記の画像に写っているのはRPi B+なので、過去記事で紹介したRPi B('+'なし)と多少ピン配置が違う。とはいってもシリアル通信用のピンは同じなのだが。
http://data.designspark.info/uploads/images/53bc258dc6c0425cb44870b50ab30621
[Rapsberry Pi B+ ピン配置]
過去記事で紹介したUSBシリアル変換ケーブルは、4本のピンが出ているのだが、それぞれ以下のような信号線になっている。

  • 緑 - TxD
  • 白 - RxD
  • 黒 - GND
  • 赤 - VCC(5V)

赤が、電源になるらしい。なんとなしに、赤をRPiの④に刺してみた。
電源無しで動いてくれた。
組込み機器をよく知る人からすると、当たり前のことなのかもしれないが、新たな発見だ、と思って嬉しくなった。

  • 赤→④
  • 黒→⑥
  • 白→⑧
  • 緑→⑩

と接続すれば、RPiはPCとの接続だけで正常に通信することができる。いつでもどこでもRPiが開発できちゃう☆ RPiは推奨電流が2Aということで、PCからの電源供給では不足する可能性があるので、その辺はあしからず。
また、動作させたOSはMINIBIANである。
minibianpi.wordpress.com

USBドライバ難しい

KOZOS学習用に選定したボード、H8-3069F-USBボードに搭載されているUSB機器である、SL811のドライバを書こうとしているのだが、やっぱり難しい…(ちなみにこの学習用ボードもブレッドボードを介してUSBシリアル変換ケーブルから電源を取るようにした。)
このボードを買った時についてきたUSBホストのソースを元に、CQ出版の本を買って参考にしながらコーディングしてるんだけど、元のソースがもともと実用品でなく、ディスクリプタを取得するだけのものなので、USBマスストレージからデータを取ったり、みたいなこともできておらず、その後になかなか進まない。


もちろんドキュメントをしっかり読んで、仕様をきっちり理解しながら作っていくのが一番いいんだろうけど、初学者の僕としてはハードルが高過ぎる(敷居が高い、が誤用だったなんて)と思った。
sl811のデータシートは英語だし、もちろんUSBのスペシフィケーションもすべて英語だ。あの膨大な情報量のドキュメントからどのようにして必要なものを取得すれば良いのか。あのドキュメントとの接し方がわからないよ。
そこで、ウェブページでサンプルコードはないかといろいろ探した結果、次に紹介するOSのドライバを参考にさせていただこうと決めた。
www.interq.or.jp
ライセンスがGPL2なので、その辺も考慮しながら、必要な部分だけいただこうと思う。楽しみにしている諸君、私のこの偉業が完了するまでしばし待たれよ。
github.com