デモプログラムを汎用I/Oユニットに移植する


【概要】

汎用I/Oユニットでデモプログラムを動作させるようにデモプログラムを
汎用I/Oユニットに移植します。
Ver3.75では、プロジェクトの内容整理が行われ、移植が極めて簡単に
できるようになりました。とくにあらかじめ提供されているプロジェクトを
修正しながら移植を行うと実に簡単に移植ができます。

【デモプログラムの修正】

汎用I/Oユニットに使用したデモプログラムは、デモプログラムの構成の中で
ウェブサーバ用のデータをプログラムメモリに格納する構成のものです。
「C18ProgramMem」というプロジェクト名となっています)
プログラムの移植に必要な変更は下記のみです。

ファイル名 場所 修正内容
Compiler.h 1000行目以降 // Define your own board hardware profile here
の行の下に汎用I/OボードのI/O設定を追加
追加した行は下記参照
 ★ 追加したI/O指定行
47行目 クロックの周波数を合わせるためYOUR_BOARDを追加する
 #if defined(PICDEMNET2)
|| defined(YOUR_BOARD)
MainDemo.c 1081行目 A/D入力ポートをあわせるためYOUR_BOARDを追加
#if defined(PICDEMNET2) || defined(PIC18F97J60_TEST_BOARD)
  
|| defined(YOUR_BOARD)

【デモプログラムのプロジェクト生成】

プロジェクトを生成するときのプロジェクトの設定です。今回はあらかじめ
存在するプロジェクトを修正して作成しました。手順は下記となります。

(1) 既存プロジェクトの「C18ProgramMem」を選択してプロジェクトを開きます。

(2) デバイスの変更をします。
   Configure → Select Device で開く下記ダイアログでDeviceを
   PIC18F67J60に変更します。




(3) 次にプロジェクト環境の設定で、下記を変更します。
  ・Project→Build Options → Project
    → MPLAB-C18タブ → CategoriesのGenaral
      ・Macro DefinitionでRemoveボタンで「HPC_EXPLORER」を削除
       してから、Addボタンを押して「YOUR_BOARD」を追加する
  これでプロジェクト設定は下図のようになります。




(4) 登録ファイルの変更
  またプロジェクトに登録されているソースファイルの中からENC28J60.cと
  ヘッダファイルの中のENC28J60.hを削除します。
  SourceにETH97J60.cを追加します。
  Linker Scriptsに、MCC18フォルダ内にある18f67j60.lkrに置き換えます。
  そのほかのソースやヘッダファイルはそのままでも必要なものだけリンク
  されるように修正されました。(Ver3.75より)

















ヘッダファイルを開いて
ENC28J60.hを削除する
ETH97J60.hは登録済み。

(5) 前記項目の修正を各ソースのファイルに加えます。

(6) Build Allとすれば正常にコンパイルが終了するはずです。
  このときのメモリサイズは下図のようになりました。



(7) MPLAB ICD2で書き込む


        目次に戻る