USBで遊ぶ前に
TOPページへ

 USB stackがVer1.3→ Ver.2.3→Ver.2.4と年々バージョンアップしています。デバイスの方も3.3Vで48MHz動作可能な品種や20Pin、USB HOST、OTG等をサポートしたデバイスが沢山出てきました。

 以前のバージョンでは、USB関連レジスタの監視をポーリングで行っていたのですが、新しいバージョンではポーリングか割込みかを選択出来る様になっています。又、ユーザー環境に合わせる為に修正するソースファイルもまとまっておりVer.1.3の頃と比べて解りやすくなって来ていると思います。

 以下の説明ではPIC18Fを使用(MPLAB-C18を使用)するとして、MPLAB V8.30、アプリケーションライブラリ、ツール(C18 v3.30)のインストール先はデフォルトのパスとします。


USB stackをインストールする
  このページから"Microchip Application Libraries"をダウンロードしてインストールしましょう。
 Graphics-LibraryやMemoryDiskDriveも一緒にインストールされるようです。

 普通にインストールすると"C:\Microchip Sokutions"の位置へインストールされるようです。


  このページから"MPLAB C for PIC18 v3.30 Academic Version"をダウンロードしてインストールしましょう。
 こちらは、普通にインストールすると"c:\mcc18"の位置へインストールされます。


ライブラリがテンコ盛りになりました...

赤マークの"include"フォルダは、このライブラリを使用して自前のアプリケーションを作成する時に"MPLAB-Project-Build Options"の"Include Search Path"で登録するフォルダです。記憶に留めて置きましょう。オレンジマークの"Usb"フォルダはワークスペースへ登録するソースファイルです。

 まずは環境のチェックです。一番簡単そうなPIC18F46J50を使った緑矢印のワークスペース"USB Device - CDC - Serial Emulator - C18 - PIC18F46J50 PIM.mcw"を開いて見ましょう。

 そのまま"make"するとエラー無しでワークスペースのあるフォルダに"USB Device - CDC - Serial Emulator - C18 - PIC18F46J50 PIM.hex"ファイルが作成されているはずです。



 セットアップが完了しました。


作り始めるぞ
 以下、"D:\CDC"フォルダを新規作成して、CDCクラス+PIC18F24J50で作り始める場合で説明しています。

 アプリケーションの構築に必要でユーザーが自分自身の仕様に合わせて修正するファイルはワークスペースと同じフォルダに有ります。環境のチェックに使用したワークスペースのデバイスが近そうなので覗いてみると

HardwareProfile - PIC18F46J50 PIM.h
HardwareProfile.h
usb_config.h
main.c
usb_descriptors.c
rm18f46j50_g.lkr

 "rm18f46j50_g.lkr"以外のファイル5つを作成したCDCフォルダへコピーしておきます。一番上のファイルは名前を使用するPICに変えておきましょう。"profile24J50.h"等

 リンカースクリプトは実際に使用するデバイスファイル"C:\Program Files\Microchip\MPASM Suite\LKR\18f24j50_g.lkr"をコピーしておきましょう。そのまま使用出来るはずですがオリジナルの"rm18f46j50_g.lkr"にRAMセクションを確保している行があるのでDATABANKの定義が終った後に

SECTION NAME=USB_VARS RAM=gpr11

の1行を追記しておきましょう...不要ですが

 MPLABのProject Wizard...で新規ワークスペースを作成し、上記6つのファイルをプロジェクトに登録します。Include Search Pathに2箇所追加して(下画像の右側)そのままmakeすると、たくさんのエラーが出ます。orz

 根気良く HardwareProfile.h → profile24J50.h → main.c と修正して行けば"call of function without prototype"エラーのみになるはずです。(この時点で『手段』としてのプロジェクトは完成です)

 その他のファイルは前述の"C:\Microchip Solutions\Microchip"フォルダに有る"Include"と"Usb"に有りますので画像の左部分を良く見ながらプロジェクトに登録して行きましょう。

 サンプルプロジェクトのようにSource Files、Header Files内に"USB Stack"や"Common"等の階層を作っておくと何かと便利です。

 全てのファイルを登録し終えたら make して見ましょう。"BUILD SUCCEEDED"まで行くはずです。

 ここまでのプロジェクト(参考程度)

 後は、あなたのアプリケーションだけ!



TOPへ戻る