Pinguinoのピン配置
秋月電子で220円で売ってあるPIC32MX220F032BでPinguinoが動くようになったがピン配置がわからないと騒いでいたのだが、なんとか状況が理解できた。
マギワらしいのがPIC32_Pinguino_DIYの存在。DIP品のPIC32MXを使った自作基板なので、これを使えばよさそうなのだが、Pinguinoではサポートされていない。自力で、いろいろ改造すれば使用可能なのだろうが、それよりも良いものがある。
PIC32-PINGUINO-MX220だ。Olimexが9.95EURで販売しているボードでCPUはPIC32MX220F032Dで、パッケージが44ピンのQFPで端子が多いが、内部はDIP品と同じ。 Pinguinoでしっかりサポートされている。ということで、みんなこれを使っているらしい。上の図は、DIP品のPIC32MXをPIC32-PINGUINO-MX220の設定で使った場合の端子の配置を調べた結果をまとめたもの。
なお、回路図はすzのAVR研究のものを使わせてもらっている。
端子がわかりPinguinoのサンプルプログラムを試すと、殆ど問題なく動作した。01.Basics/PrintFormatted/print.pdeは、そのままだとリンク時にエラーとなるが、CDC.printfで浮動小数点”%f”を使用している行をコメントアウトすると問題なく動作した。浮動小数点ライブラリを入れるのには32Kbyteでは足りないということだろう。
Pinguino bootloader動作
PIC32MXでPinguinoのbootloaderが動かないので、古いUSBプロトコルアナライザを引っ張りだし、通信の内容を見るのだが、ひさしぶりに見るので内容を理解できない。 USBの本「USBコンプリート」を読み直しプロトコルを思い出す。
その結果、STALLパケットは、別に誤動作しているわけではないことが判明。ということは、bootloaderが動いていても良さそうだが、動かすことが出来ない。
bootloaderのソースをこのサイトからダウンロードし、中を読みつつ、いろいろイジって試す。そうこうしているうちに、ダウンロードしたファイルにReadMe.txtがあることに気がつく。回路図から開発環境の構築方法、コンパイル方法、書き込み方、動作確認方法まで書いてある。
続きを読む… »
古いUSBプロトコルアナライザ動く
PIC32MXいじり中。 Pinguinoのファームウェアが、まだ動かない。PCにつなぐと音がして認識しているっぽいのだが、Pinguinoで書き込もうとすろと、デバイスが見つからない言われる。USBの動作を確認したいので、Windowsで動くソフトウェアのUSBプロトコルアナライザを探してインストールしてみるが、いまいち使い方がわからないし、いろいろドライバを組み込むのが怖い。
後閑さんのHPを見て、同じUSBプロトコルアナライザAubitのUS-F100Aを持っていることを思い出す。10年ぐらい前に10万円ぐらいで買ったと思う。何の業務用だったのか思い出せない。かなり使い易かった記憶がある。なにぶん古い機械で、プリンタポート接続でソフトウェアもWindows7で動くが怪しいので試す気持ちにもならなかったのだ。
まず、PCにプリンタポートが有るか確認したら、なんとちゃんとあった。次にメーカーのサイトから最新版のソフトウェアをダウンロードしようとするがログインがうまくいかない。最新版といっても2005年のものなので製品に同梱されていたCDからソフトのインストールを試すと意外に、あっさりインストールされ、動作した。10年前のソフトとハードが動くなんて偉い。メーカーが偉いのかMicrosoftが偉いのかはよくわからない。
Pinguinoのファームウェアを書き込んだPIC32MXの動作をプロトコルアナライザで調べると、セットアップの途中でストールし返事をしなくなっていることが判明した。プロトコルアナライザがあると動作が一目瞭然。今後はファームウェアの動作を追っていきながら、ストールする原因を調べるつもりだ。
PIC32MXに手を出す
ある程度のROM/RAM容量があってDIPパッケージがある安価なCPUが欲しくなり、PIC32MXに手を出す。最初はLPC1114あたりを考えていたのだが,できればUSBも使いたいということで調べていたらPIC32MXは使えるらしい。秋月電子で200円ぐらいで買える。PinguinoというプロジェクトでgccやIDEも提供されているらしいとうことでPIC32MXに手を出すことにした。
すzのAVR研究: PIC32MX220F032B メモやマイコン風雲録: 秋月でPIC32MX 28pin DIP版出るを参考に試作基板を製作。PIC32MX – AVR etcにあったLチカのプログラムをpic32progで書き込んでLEDが点滅した。
pic32progはWindows用バイナリの在処が、わからなかったのでソースをダウンロードしMinGWでコンパイル。PICkit3では認識してくれなかったがPICkit2で無事書き込むことができた。PICkit3で動かなかった理由はわからない。ダウンロードしたソースを間違えたのかもしれない。
最近のコメント