PICBASICコンパイラ
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第220回]
●PIC16F627(15)logianaで解析(8)
また間が3日空いてしまいました。
やらなければならないこととやりたいことがいっぱいあってあっというまに1日が終ってしまいます。
気長なお付き合いをお願いいたします。
前回はVHDLとC++をいじくってPICKITUの出力データを観測いたしました。
それで。
やっと悩んでいたことがクリアできたのですけれど。
なんだかなあというトホホの結果でありました。
前回お見せした画像です。
それを解析した結果です。
00 Load Configuration
00 データ ”00”
00 データ ”00”
06 Increment Address
06 Increment Address
06 Increment Address
06 Increment Address
06 Increment Address
06 Increment Address
04 Read Data from Program Memory
05 データ ”05”
60 データ ”60”
00 Load Configuration
FF データ ”FF”
3F データ ”3F”
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
01 Bulk Erase Setup 1
07 Bulk Erase Setup 2
03 Load Data for Data Memory
FF データ ”FF”
3F データ ”3F”
01 Bulk Erase Setup 1
07 Bulk Erase Setup 2
08 Begin Erase/Programming Cycle
01 Bulk Erase Setup 1
07 Bulk Erase Setup 2
CPLDは超高速動作(100MHz)ですので前回の写真のようにミノムシクリップなどで適当なデータ取得をしたりするとノイズでおかしなデータを拾ってしまったりします。
そういうあたりを推測して補正しながら解析した結果です。
ERASE動作としては辻褄が合っていますから上記の解析結果で合っていると思います。
ところがですね。
これって私が書いたPIC16F627のBULK ERASEプログラムと同じなんですよお。
んな、ばかな。
で。
あらためてよーくプログラムを確認してみましたら。
やってしまっておりました。
なんとも痛恨のミスでありました。
左が今までのPICWR PROGRAMです。
右は今回ミスに気がついて直したプログラムです。
1行落ちておりました。
下から4行目のcall prwrsub3です。
この行が欠落していたために解析リストの最初のあたりにありますLoad Config ”3FFF”が発行されなかったのでした。
まったく。
この何日間はいったいなんだったのでしょう。
もうがっくりです。
ま。
前から作ろうと思っていたPICKITUの解析ツールを作ってしまったことですから、よしとしましょお(自分を慰めております)。
本日は時間がありませんのでバグ取り後の検証結果については次回に整理して書くことにいたします。
ほんとうにとほほであります。
PICBASICコンパイラ[第220回]
2025.2.17 upload
前へ
次へ
ホームページトップへ戻る