携帯電話のUSBマスストレージ化ドライバ

というプロジェクトをSourceForge立ち上げました
概要は以下のとおりです。

USB通信ケーブルやシリアルケーブルでPCに接続可能な全ての携帯電話において、シリアル通信をラッピングすることで、携帯電話をUSBマスストレージとして認識出来るようにするラッパードライバを開発します。携帯電話内蔵のminiSDカードなどにもアクセス出来るようにする予定です

動機

  • 私個人がJavaPythonはそれなりに使える(と思っている)ものの、C/C++等によるいわゆるネイティブアプリケーションの開発経験が無く、低レベルな処理を書けないことが弱点だと思っている
  • どうせやるなら面白いネタで身につけたい(モチベーションのためにも)
  • 現在やっているQRコードライブラリ開発プロジェクトオープンソースプロジェクトの面白さに目覚めた

そんな感じです。ドライバを書くということは必然的にC/C++をやることになると思います。ちなみにC/C++のスキルは

C
大学の演習程度
C++
2年ぐらい前にC++の文法全体をカバーするチュートリアルをやった程度 (ほとんど身につきませんでした)

今までの経験から、何かプログラム言語を身につけるには、モチベーションになるようなネタが重要、だと思ってます。

もちろんドライバを書くのは今回が初めてです。

現状の認識、分かっていること

今のところドライバを書くために必要な各種資料を集めている段階なのですが、このサイトが参考になる、とかこの本が参考になる、といったご助言いただければ幸いです。現状のid:y_yanbeの認識としては

  • Daemon Toolsみたいに仮想的なデバイスを構成し、その裏側でシリアル通信で携帯電話とコミュニケート、みたいなイメージ
  • Windowsでドライバを書くにはWindows Driver Foundation (WDF)というフレームワークが必要らしい

こんな感じです。