枯れた開発ツール。

PIC開発をしていて、最新の Microchip MPLAB X IDE 5.15 にアップグレードしてみたんですが、ICD3 の調子がおかしいのです。
まず、動作が異様に遅い気がします。これは書き込みもデバッグも。4.15 でやっていたときにはこんなことはなかったのですが。
それから MCU がフリーズします。正常に動作するときもあるし、しないときもあります。それまで動いていたコードが、build & write したら動かなくなったり。とにかく動きがおかしいのです。

そこで、アンインストールしていなかった 4.15 を使って書き込みしてみると、シュッと終わります。早いです。おかしいです。しかもちゃんと動きます。
もしかしたら ICD3 のファームウェアバージョンかもしれないと思ったんですが、ICD3 のファームウェアは単体ではダウンロードできないようで、過去のバージョンの MPLAB X IDE をダウンロード、インストールして書き換えないとだめなようです。

XC8 コンパイラと IDE のバージョンは特に関連はありませんが、ICD3 や PICkit3 などのデバッガ/プログラマのファームウェアと IDE との関連はあるようです。
ただ、XC8 も AVR にも対応?するようになったようで、ここはやっぱり 1.45 に戻しておこうと思います。
おそらくですが、AVR への対応を ICD3 ファームウェアに取り込んだことでなにか不具合が起きているのかもしれませんね。

過去のバージョンの IDE は、MPLAB Ecosystem Downloads Archiveから入手できるようになっています。

それぞれのバージョンでのファームウェアの場所は、C:\Program Files (x86)\Microchip\MPLABX\v4.xx\mplab_platform\mplablibs\modules\ext\ICD3.jar のなかにアーカイブされているようです。なので、この jar ファイルを展開してみればバージョンが分かります。
手元にある範囲では、

4.15 -> ICD3 FW 01.51.08
4.20 -> ICD3 FW 01.51.12
5.15 -> ICD3 FW 01.55.01

となっていました。

4.20 でやってみたところどうやら調子がいいようなので、5.15 はやめて 4.20 を使うことにします。やっぱり新しいバージョンというのはごにょごにょ。タイトルの「枯れた」というのは悪い意味ではなく、「十分に使われてバグ出しが終わっている」という意味です。

それにしても、開発ツール系のバージョンによる不具合というのは、わりといちばん最後まで可能性として考慮されないので、原因を探るのに思い切り遠回りしてしまいますね。

0 件のコメント:

コメントを投稿

Vimの補完プラグインをインストール。その4

Vimの補完プラグインをインストール。その3 で、 ddc-tabnine が使えそうです、などと書いたのですが、早速やってみました。 まず、tabnineのバイナリを用意しないといけません。がどうにもTabNineのサイトがわかりにくいので、 tabnine-nvim にあるダ...