Pinguinoのピン配置

fig130829a1秋月電子で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動作

130824a4PIC32MXでPinguinoのbootloaderが動かないので、古いUSBプロトコルアナライザを引っ張りだし、通信の内容を見るのだが、ひさしぶりに見るので内容を理解できない。 USBの本「USBコンプリート」を読み直しプロトコルを思い出す。

その結果、STALLパケットは、別に誤動作しているわけではないことが判明。ということは、bootloaderが動いていても良さそうだが、動かすことが出来ない。

bootloaderのソースをこのサイトからダウンロードし、中を読みつつ、いろいろイジって試す。そうこうしているうちに、ダウンロードしたファイルにReadMe.txtがあることに気がつく。回路図から開発環境の構築方法、コンパイル方法、書き込み方、動作確認方法まで書いてある。
続きを読む… »

古いUSBプロトコルアナライザ動く

130821a0PIC32MXいじり中。 Pinguinoのファームウェアが、まだ動かない。PCにつなぐと音がして認識しているっぽいのだが、Pinguinoで書き込もうとすろと、デバイスが見つからない言われる。USBの動作を確認したいので、Windowsで動くソフトウェアのUSBプロトコルアナライザを探してインストールしてみるが、いまいち使い方がわからないし、いろいろドライバを組み込むのが怖い。

後閑さんのHPを見て、同じUSBプロトコルアナライザAubitのUS-F100Aを持っていることを思い出す。10年ぐらい前に10万円ぐらいで買ったと思う。何の業務用だったのか思い出せない。かなり使い易かった記憶がある。なにぶん古い機械で、プリンタポート接続でソフトウェアもWindows7で動くが怪しいので試す気持ちにもならなかったのだ。

まず、PCにプリンタポートが有るか確認したら、なんとちゃんとあった。次にメーカーのサイトから最新版のソフトウェアをダウンロードしようとするがログインがうまくいかない。最新版といっても2005年のものなので製品に同梱されていたCDからソフトのインストールを試すと意外に、あっさりインストールされ、動作した。10年前のソフトとハードが動くなんて偉い。メーカーが偉いのかMicrosoftが偉いのかはよくわからない。

Pinguinoのファームウェアを書き込んだPIC32MXの動作をプロトコルアナライザで調べると、セットアップの途中でストールし返事をしなくなっていることが判明した。プロトコルアナライザがあると動作が一目瞭然。今後はファームウェアの動作を追っていきながら、ストールする原因を調べるつもりだ。

PIC32MXに手を出す

130814a2ある程度の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で動かなかった理由はわからない。ダウンロードしたソースを間違えたのかもしれない。