【概要】
汎用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で書き込む