H8で作るPICプログラマ(ソフトウェア編)
2003/02/16Version By watson8
必要なソフトウェア
H8処理系...移植性という意味では「むむむ」なソースですが、
バイトスワップとかコードページングのないH8ですから比較的移植は容易だと思われます。
「日立半導体製DOS版評価版2.0」で動作確認しています。(秋月電子製ではありません)
PIC処理系...要は最終的にIntelHEXレコードを吐いて
くれればなんでもOKです。添付したhexExtr.jsが読めないHEXレコード
が出てきた場合、一報いただければ幸いです。「microchip製MPLAB v5.70」に添付されていた「
MPASM v03.20(ファイル名はMPASMWIN.EXE)」というのを使っています。
make.exe...
手順が長い上「違うことしたいときはPICWrter.cを書き換えてリコンパイル」というインターフェースしか
実装していませんので、DOS版処理系をお使いの方はmake.exeの使用をおすすめします。統合環境の方は各自
工夫してください。
データシート類...
H8関係は日立半導体社のhpから、PIC関係はmicrochip社のhpからそれぞれダウンロードできます。PICの
「ROM書き関係」についてはいわゆる「データシート」とは別ファイルがあります。

少々手順が複雑ですが上の図を見て、自分で書いたLEDflash.asmがPICに焼かれるまで
の流れをつかんでください。
Connect.hのカスタマイズ…は一度決めてしまえばハードウェアの構成を変えない限り変更不要です。

ここは特に説明の必要はないと思います。

ConfigWord関係です。PICアセンブラソース内で宣言されたConfigWordは
(unsigned int )CWORDで参照できますが、無理にでも立てたいビット
を
CWALWAYSで宣言しておきます。不用意にビットを落とさないため
に…
また強制的に指定したい場合CWORDLOCALに宣言しておきます。
(といっても自動的に替わるわけではなく、応じてたとえば
PICWriteConfig(CWORD|CWALWAYS);を書き換えてください。)
PICWrter.cのカスタマイズ

今回の版では「頭からがばっと読む」「頭からがばっと書く」しかサポートしていません。
「がば」の量を宣言しておきます。8だと
プログラムメモリの場合…0x0000-0x0007の8ワード(=16バイト)
コンフィグメモリの場合…0x2000-0x2007の8ワード(=16バイト)
が対象になります。

ここの0/1で4種の動作を切り替えます。
00....プログラムメモリの0番地からPICCOUNTSバイト書き込みます。
01....プログラムメモリの0番地からREADWORDSワード読み出します。
10....コンフィグメモリの0x2007番地にConfigWordを書き込みます。
11....コンフィグメモリの0x2000番地からREADWORDSワード読み出します。
「何もせずPICのRESET/BOOTだけ」という動作は用意しませんでしたので、01をお使いください。
今回の版では、これらを切り替えるたびにリコンパイルが必要、という点にご注意ください。
makefile.makのカスタマイズ
は特に気をつけることはありません。各人の環境に応じて書き換えてください。
必要なH8ボード内資源
RAMが1kB程度以外何も使用していません。
感想その他はこちらでお待ちしています