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程度以外何も使用していません。
    感想その他はこちらでお待ちしています