情報収集

全体像が掴めてきた。

EZ-USB側のファームウェア開発にSDCCを使おうと思ったが、どうにも出発点になるコードが見つからなかったので、諦めて純正(?)のコンパイラを使うことにした。そのうちSDCCに移行したい。

Linux側のしくみ。

usbfsってのがある。Zaurusにも標準で入っていて、/proc/bus/usbにマウントされてる。んで、USBデバイスを繋ぐと/proc/bus/usb/001/001てなエントリが現われるので、こいつに対してread/write/ioctlすれば大抵の操作は出来るようだ。別にドライバを作る必要は無かった。

ファームウェアの転送にはfxloadを使った。転送先USBデバイスを指定するのに/proc/bus/usb以下のファイルを指定するのが面倒だったので、こちらのgetdevpathというスクリプトを使わせてもらう。"getdevpath -v 04bb -p 0902"といったようにVendor IDとProduct IDを引数にして実行すると、対応するデバイスファイルを返してくれる。

libusbがusbfsに対するシステムコールを使い易くラップしてくれるみたい。とりあえずlookbackとして機能するファームウェアを作ってlibusbのテストをしたところ、正常に動いてる。

……うがぁ、バンブラFlashメモリが読めない。ちゃんとデータシートの通りに操作してるはずなんだが。

ハードウェアのほうの配線が外れてた……orz。

というわけで、無事に読み出し成功。なんともアホなことで悩んでしまった。

諸事情により火曜日までに完成させたい。(骨折さん and すめさんメテオス対戦オフの予定なんで、ついでに披露出来たらいいなーなどと思ふ)

さっき結構大きな地震があった。山口県地震が起こるのは、かなり珍しいような?