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


PICBASICコンパイラ

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

[第65回]



●PIC WRITER(試作2号機)を使ってPIC18F13K50の書き込みテスト

PIC18F13K50のWRITEプログラムについては2ヶ月ほど前に作成してテスト済みですと前回書きました。
そのときはエラーなく書き込めたこととそのPIC18F13K50が正しく動作することをざっと確認しました。
その時点ではプリント基板の作成までは作業していませんでしたのでROM WRITERの基板を利用して作った試作1号機([第61回])でのテストでした。
その後に作った試作2号機についてはとりあえず組んだだけでまだ実際にそれを使ってのテストはしていませんでした。
試作1号機でテストしてから大分時間も経ったことですしホームページにて紹介するためと私自身の備忘録を兼ねて試作2号機でのテストをしてみることにしました。
[第61回]に書きましたように製作したPIC WRITERはND80Z3.5に接続して使います。
私にはそれが一番慣れている方法なのです。
前回書きましたようにいずれはND80Z3.5に接続しなくても動作するものも製作できればと思っております。

PIC WRITERの書き込み用テストソケットにPIC18F13K50をセットしました。

PIC18F13K50の場合には28pinソケットに1pinを合わせる形でセットします。

ND80Z3.5はWindowsパソコンにUSB接続してZB3BASICを起動します。

PICWRITERプログラムはND80Z3.5での作業エリア、データエリアを空けておくようにするためRAMアドレスA000から後ろにロードします。
PIC18F13K50用のWRITERプログラムは13K50B.BINです。
PIC13K50に書き込むデータ(プログラム)は先にロード済みです(そこのところはこの画面ではスクロールしてしまって見えません)。
JP A000[Enter]でWITERプログラム13K50B.BINの実行を開始します。
最初に18F13K50のプログラムエリアとCONFIGエリアを消去します(ERASE〜DONE)。
そのあと先にプログラムを書き込んだあとCONFIGデータを書き込みます。
書き込みが終了したら念のためにベリファイを実行して書き込みデータを読み出してもとのデータと比較して確認します。
プログラムとCONFIGの内容が全て一致したら書き込み完了です。

上の画面ではもとになるファイルをロードするところがスクロールしてしまって見えませんのでそこをスクロールダウンして見えるようにしました。

今回テストのためPIC18F13K50に書き込んだデータ(PICプログラム)はPICIO−03P_31.HEXです。
ファイルサイズが大きくても読み込めるようND80Z3.5のシステムROMの裏に配置した裏RAM(アドレス0000〜7FFFの32KB)にロードします。
PICIO−03P_31.HEXは0000−1EB7の約500バイトほどですからまだ十分余裕があります。
PICIO−03P_31.HEXはMPLABを使ってPICアセンブラで作成したインテルヘキサファイルです。
PICに書き込むデータ(プログラム)は16進コードのバイナリデータですがPIC WRITERでPICに書き込むためのファイルとしてはHEX(インテルヘキサ)ファイルが使われます。
PIC WRITERプログラムではそもそもの最初にインテルヘキサ形式で書かれたファイルからPICに書き込むためのバイナリコードに翻訳するところから始めなければなりません。
なかなかに手間なのです。
PICIO−03P_31.HEXはPICUSBI/OボードPICUSBIO−03のシステムプログラムです(PICUSBIOボードについてはホームページトップの「PIC−USBIO using BASIC」をお読みください)。

書き込んだばかりのPIC18F13K50をPICUSBIO−03ボードに実装して動作確認をしました。

ちゃんと動作することが確認できました。

次回は別の角度からPIC WRITERを検証します。

PICBASICコンパイラ[第65回]
2023.8.17upload

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