Darkside(https対応しました) |
2018年9月30日(日) 21:00
ソースが公開されていない最新版の Ver 6.76 で、device6.ini だけ書き換えて PIC16F1827 に書き込んでみる。すると、2箇所のベリファイエラーが出てそれ以外は書き込み成功した。
ただしそれ以外にも、恐らく CONFIG レジスターは書き込みできていない。
もう少し良く見ると、ベリファイエラーが出た2箇所は、書き込もうとしている値がおかしい。というのも、プログラムエリアは14ビットなので、0x0000 〜 0x3FFF までの値しか存在し得ない。だが、7番地と8番地はそれを超える値になっている。そんな値は絶対に書き込みできない。下位14ビットは正常に書き込まれている。
つまり、恐らく書き込みは CONFIG 以外成功していて、なぜかHEXファイルの読み込みで2箇所のデーター化けが生じている。
不具合は書き込みではなく、HEX読み込みの方だ。
MPLAB X IDE 上からオリジナルのプログラムコードを確認すると、7番地と8番地は全く異なる値である。そして、それ以外のプログラムコードは AKI-PIC 上でも正常に読み込まれているようだ。
原因は、恐らく CONFIG レジスターである。AKI-PIC が7番地と8番地に読み込んだ値が、CONFIG1 と CONFIG2 の値と一致している。そして、CONFIG レジスターは、8007h 番地と 8008h 番地である。
ちなみに、PIC16F88 の場合、CONFIG レジスターは 2007h 番地と 2008h 番地に存在する。
AKI-PIC がHEXファイルを読み込んだとき、番地を14ビットマスクしてしまい、CONFIG レジスターの値を7番地と8番地に上書きしてしまったのだと思われる。そして CONFIG レジスターは 2007h 番地と 2008h 番地に存在すると思い込んでいて、だから値を読み込めずデフォルトの 0x3FFF が設定されたまま。
何てこった。
Ver 6.76 は、恐らく PIC16F1827 に書き込むことができる。HEXファイルの読み込みさえ修正すれば、恐らく使える。だが、Ver 6.76 はソースが公開されていないので修正できない。
ソースが公開されている Ver 6.73 は、チップイレースでエラーが出て書き込みできない。
written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]
Generated by MySketch GE 1.4.1
Remodelling origin is MySketch 2.7.4