Platform Builder
qemuとTOPPERS/JSPとgdbstubの翌日は,Platform Builderとアドエス.私の低容量なTCB*1は,もう破裂寸前.
たぶん数ヶ月以内に燃え尽きるね.「目標に向かってひた走りましょう。」とMSNの星占いが言っていても,間違いないね.
…
冗談はさておき.
直面した問題は,割とシンプル.守秘とか自社の知財とか省いて簡単に書くと,
- CypressのPSOCを使ってHIDに見えるデバイスがある.
- このデバイスをWM6に繋いでデモしたい.やっぱケータイってビジネスの匂いするじゃん? (謎)
- アドエス(だけでなくWM5/6全般?)のusbhid.dll は,CreateFileはサポートするが ReadFileはサポートしない.DeviceIoControlもサポートしない.
- デバイスを挿すと usbhid.dll が読まれるが,それ以上手も足も出ない.
- 今日もオレのOK負け see you next fight!
勝つ為には,HIDドライバ書けってことですよ.
WinCEのドライバ書きの間では老舗なページでは,eVC++ でもUSBドライバは書けることになっている.おそらく記述は古くはなっていないのだとおもうのだけれど,HIDデバイスは Platform Builder が無いとダメかも.windev.h やHIDデバイスに必須のいくつかのインクルードが,STANDARD SDKでは足りないっぽい.
ソースコード公開のもので何か転がっていないかなぁと思ってみていたら,幸い,WM6携帯の方々の間では常備品らしい(?) ゲームパッドドライバのソースコードが参考になりそうな感じ.
mouhid.dll や kbdhid.dll も参考にならなくはないのだけれど.
で,Platform Builder.会社的には,臨席の同僚(id:mitsu48)が確か案件をこなしていたはずなのだけれども,彼も別件で…というか,私がオーバーフローしたせいで…死に気味なので,捕まえて個人レッスンというわけにもいかず.
そんなこんなでeVC++とPBのインストール/アンインストールに膨大な待ち時間を費やしたけれど,とりあえず,なんとかなった.まだよく判らないのだけれど,最初にOSのビルドをしておくのが肝で*2,それを乗り越えれば,出来の悪いアプリ開発環境として,batファイルを駆使してインストーラ cab を作れるっぽい…のかな?? 手元に cab があるから,たぶんそういうことなのだろう.
アプリ開発環境*3としてはアレだけれど,カーネルコンフィギュレーション環境としては,ツボが押さえてあるのかな.TOPPERS/JSPやTOPPERS/OSEKの前世代的で悲惨なカーネルコンフィギュレーションに慣れていると,ちょっとした安堵感がある.
せめて,これくらいの環境ができないと,使う気にならないよね.国産の Autosar OS の開発が,私が知る限りで数社トライ中なのだけれど,TOPPERSを超えるくらいの完成度はあると期待しちゃおう.