UBWを試す(続編)

とりあえず動くようになったが、いまいち使いにくいので試行錯誤してみます。

fsusbについて

fsusbは千秋ゼミに改良版があるようです。UBW開発ツールアーカイブの中にある「UBW用tool」の fsusb-20090218.zip を取ってきて展開、srcフォルダで make、sudo make install でインストールできました。インストールは容易なのですが、やはり root権限がないと動作しません。

sdccUSB-cdcを書き込んでみる

こちらのページにある仮想COMポートのスケルトンを取ってきて、展開、hexフォルダにあるhexファイルを書き込んで動かしてみます。ブートモードに変更してから

$ sudo fsusb cdcusb.hex

で書き込んだ後、リセットをかけて、

$ screen /dev/ttyACM0

で仮想COMポートに接続してみると無事にエコーバックが帰ってきました。「Ctrl-A \」で切断して終了です。

sdccUSB-cdcをコンパイルして書き込んでみる

Synapticからsdccをインストールした後、srcディレクトリで make をかけるとパスのエラーが出ました。途中の「MY_BASE=C:/SDCC」を「MY_BASE=/usr」に修正すると make に成功しました。

その後、

$ sudo fsusb cdcusb.hex

で書き込んだ後、

$ screen /dev/ttyACM0

でエコーバックを確認できました。さらに、小文字大文字変換をするように変更して再度 make して書き込んで接続すると変更が反映されていることが確認できました。

まとめ

これでとりあえずUBW + sdccで仮想シリアルポート付きの何かを作る環境が整いました。

ただ、sdccUSB-cdcを改造しようとしてすぐに気づいたのですが、これはMicrochip社のUSBフレームワークをベースにしているようです。このフレームワークはずいぶん前にMPLAB上で弄ったことがあるのですが、割り込みではなくポーリングで動作しています。そのため、処理に時間がかかるとUSBプロトコル上で問題がありそうで、いまいち使いにくかったように思います。とはいえ、Linux上で開発できるのはありがたい話です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)