2025.2.9
前へ
次へ
ホームページトップへ戻る


PICBASICコンパイラ

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第215回]



●PIC16F627(10)logianaで解析(3)

せっかくロジアナで解析しようとしたところ記録できるメモリ容量が絶望的に小さいという致命的な壁にぶち当たってしまいました。
しかしここで諦めるわけにはいきません。
なんとかこの壁を突破しなければ。
前回はそのように書いたあとでいっそのことPIC16F627なんて古いPICをさわるのは止めてPIC16F627A/628Aをさわることにしたらどうかという方向に行ってしまいました。
しかし最後のところでは、それはやっぱり面白くないのでとにかく意地でもPIC16F627をなんとかしてやるぞ、という決意表明をして終ったのでありました。
なかなかにしつこい性格であります。
そうは言ったもののさてどうやってこの難題をクリアするか。
そこが問題であります。
PGC信号とPGD信号を解読することでPICKITUがPIC16F627をERASEするとき何をやっているのかを探るということからするとその道具としてはやっぱりロジアナを使うということになります。
とりあえず使ってみたところサンプリングクロック25MHzで確保できる測定期間26msの範囲ではやっとデバイスIDを読み出しただけで終ってしまいました([第213回])。
本当はその次のところが見たい、知りたいところです。
さて、どうするか。
その腹案はいくつか頭の中にちらついているのですが。
とりあえず全く原始的であてずっぽうなやりかたですが。
PICKITUのERASEボタンを押してひと呼吸置いたあとでカメレオンロジアナのSTARTボタンをクリックしました。
うまくいけば途中のところがキャッチできるかも。
結果は?



サンプリングクロックは10MHzです。
おお。
たまたまいいところがキャッチできました。
解読してみましたところ以下が読み取れました。

00 3FFF Load Configuration ”3FFF”
06      Increment Address
06      Increment Address
06      Increment Address
06      Increment Address
06      Increment Address
06      Increment Address
06      Increment Address
01      Bulk Erase Setup 1
07      Bulk Erase Setup 2
08      Begin Erase/Programming Cycle
約10msクロック、データなし
01      Bulk Erase Setup 1
07      Bulk Erase Setup 2
約13msクロック、データなし

ラッキーなことにちょうど狙ったようにコードプロテクトを外すところがしっかり読み取れました。
ここは前回お見せしたドキュメントの通りです。
あれえ。
その通りにちゃんとプログラムしましたよお。
でも全く消去できませんでした。
すると。
この後になにかドキュメントにはないおまじないのようなことをやっているのか?
あるいは。
この前に何かわからないけれどやっぱりおまじないのようなことをやっているのかもしれない。

そういうことになりますと。
なんとかして最初から最後までしっかりパルスをキャッチする方法を考えなければいけません。
いくつか腹案はあるのですけれど。
なかなか一筋縄ではいきません。

PICBASICコンパイラ[第215回]
2025.2.9 upload

前へ
次へ
ホームページトップへ戻る