Darkside(リンクエラー修正しました)

2018年10月01日の記事

2018年10月1日(月) 21:27

無理だ

 Ver 6.73 のソースには、PICの系統別に多数の bas ファイルが存在する。プログラム書き込みボタンを押すと、選択中のデバイスに応じて異なる bas 上のルーチンが呼ばれる。
 良く見ると、PIC1XF18XX.bas というソースファイルが存在する。ここに分岐している PIC12F1822 も存在する。
 そこで、PIC16F1827 を選択した場合、PIC12F1822 と同じ処理を使うように書き換えてみる。

 これで Ver 6.73 を使用すると、チップイレースを正常終了。
 最後にベリファイエラーが出た。だが、Ver 6.76 が2箇所だけのエラーだったのに対し、多数のエラーが発生している。パターンは見て取れず、全体的に書き込みボロボロという感じだ。
 基本的に成功・・・とは到底言えない。明らかに Ver 6.76 の書き込みとは品質が違う。

 リリースノート上は、Ver 6.73 と Ver 6.76 の差は大したものではない。だが、実際のプログラムコードはかなり違っているようだ。

 こうなると、どうしても Ver 6.76 のソースリストが欲しくなる。そこで、VB Decompiler Lite 11 を使用。これ(無料版)だと、中途半端な解析しかできない。だが、手元には Ver 6.73 のソースがある。Ver 6.76 も処理の概要は同一のはずだ。Ver 6.73 のソースを参考にしつつ、Ver 6.76 の解析結果を見る。
 その結果、どうやら手に負えそうにないと判明。

 まず、無料版の逆コンパイラーでは Ver 6.76 と 6.73 の差異を見分けるのは不可能に近い。PIC16F1827 が文字列として現れているなど分かり易い場所は、既に逆コンパイラーを使う前に修正している。その結果としてチップイレースは可能になったが書き込みまでは成功しない。何が異なるのかまでは、到底読み取れない。
 更に、CONFIG のアドレス違いの問題。
 PC側ソフトでは、CONFIG のアドレスを与えていない。すべてが CONFIG レジスター 200Xh 番地固定の前提でプログラムされている。どうして CONFIG 番地もデーターとして与えるように設計しておいてくれなかったんだ・・・

 この修正は、しょうじきやってられない。
 まだ、今更 PICkit 3 を買い直した方がマシなレベルである。
 そもそも、仮に Ver 6.76 のソースが公開されていたとして、第三者の自分が数日頑張れば PIC16F1827 対応に改造できるようであれば、Ver 6.80 が公開されないまま放置されたりしていないだろ。

 純正 PICkit が出てきているのに、膨大な工数を使って新デバイスに対応させ続けるのはペイしない。秋月がそう判断するのも自然だ。
 だがそうなると、何とかして PICkit 4 で PIC16F1827 に書き込むための基板を用意せねばならない。秋月の 2000 円基板を買えば、案外なぜか書き込めてしまったりするのかもしれない。
 少し迷ったが、PICkit 3(偽)を買うことにした。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4