PICBASICコンパイラ
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
まるでインタプリタ。でもコンパイラです。超カンタン超シンプルです。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
[第158回]
●まずはバルクイレーズ(BULK ERASE、全消去)
PICは内蔵するフラッシュメモリ(不揮発性メモリ)にプログラムを書き込むことで機能します。
PICのフラッシュメモリに限らず紫外線消去型のUVEPROMなど多くの不揮発型メモリはビットデータの初期値は1でそれを0に書き換えることでプログラムやデータを記録します。
工場出荷時の何もまだ書かれていない状態では全てのデータはFF(11111111)です。
たとえばそこにデータとしてA5(10100101)を書き込む動作は0にしたいビットに0を書き込む動作になります。
一旦0が書き込まれたビットに1を書き込むことはできません。
そこに新しいデータを書き込むためには一旦すべてのデータを消去して工場出荷時の状態に戻さなければなりません。
PIC WRITERの書き込み動作でもPICにプログラムを書き込む場合にはまずは全部のデータ(プログラム)を消去して全てのビットを1にする必要があります。
そのための動作がバルクイレーズ(全消去)です。
購入したばかりのPICにはまだ何も書かれていませんからそこにプログラムを書き込む場合にはバルクイレーズをする必要はないのですがバルクイレーズはそれほど時間がかかる動作ではありませんから(数msec程度)書き込み動作を行なう前にはまずバルクイレーズを行なうように考えます。
バルクイレーズもプログラムの書き込みもベリファイのための読み出しも全てターゲットのPICのPCK端子にクロックを出力するとともにPDT端子にコマンド、データを入出力することで行ないます。
そこでPIC WRITERプログラムを作成する手始めとしてまずはバルクイレーズプログラムを作成してその動作確認をしました。
PIC WRITERプログラムはPIC−USBIOプログラムをベースにして作成します。
下は作成したバルクイレーズプログラムをテストしている画面です。
こちらはターゲットのPIC18F14K50に書き込んだテストプログラムです。
こちらは今回作成したバルクイレーズプログラムによって全消去したあとのPIC18F14K50をPIC WRITERでREADしてみた画面です。
すべてが消去されてFFになっています。
イレーズコマンドを実行中のPCKとPDTの波形です。
PROBE01がPCKでPROBE02がPDTです。
PDTはPCKの立ち下りでラッチされます。
PICBASICコンパイラ[第158回]
2024.11.3 upload
前へ
次へ
ホームページトップへ戻る