Device – HID – Mouseのビルド

Microchip社のMicrochip Libraries for ApplicationsのUSBマウスのサンプルは、”microchip_solutions_v2012-10-15/USB/Device – HID – Mouse/Firmware”にある。

まずはMPLAB X IDEを起動し、空のプロジェクトを作成。

MPLAB X IDEを起動し、空のプロジェクトを作成

MPLAB X IDEを起動し、空のプロジェクトを作成

ウイザード形式でプロジェクトの設定を行う。

プロジェクトの設定(その1)

プロジェクトの設定(その1)

今回は秋月電子のAE-PIC18F14K50を使うので、PIC18F14K50を選択。

プロジェクトの設定(その2)

プロジェクトの設定(その2)

プロジェクトの設定(その3)

プロジェクトの設定(その3)

PICKit2を選択。

プロジェクトの設定(その4)

プロジェクトの設定(その4)

コンパイラーに「C18」を選択

プロジェクトの設定(その5)

プロジェクトの設定(その5)

プロジェクト名を「ak18_usb_mouse」に。

プロジェクトの設定(その6)

プロジェクトの設定(その6)

空のプロジェクトができた。

できた空のプロジェクト

できた空のプロジェクト

Finderでできたプロジェクトのフォルダーを確認。

プロジェクトのフォルダー内部

プロジェクトのフォルダー内部

“microchip_solutions_v2012-10-15/USB/Device – HID – Mouse/Firmware/mouse.c”を自分のプロジェクトのフォルダーにコピーしてくる。

Device - HID - Mouseのmouse.cをコピー

Device – HID – Mouseのmouse.cをコピー

プロジェクトのフォルダーにペースト

プロジェクトのフォルダーにペースト

コピーしてきたmouse.cをプロジェクトに追加する。

mouse.cをプロジェクトに追加

mouse.cをプロジェクトに追加

mouse.cを選択

mouse.cを選択

mouse.cを右クリックして、「Compile File」でコンパイルしてみる。

mouse.cをコンパイル

mouse.cをコンパイル

ヘッダーファイルが3つ足りないというエラーメッセージが出たので、足りないファイルを探す。

コンパイルエラーを確認

コンパイルエラーを確認

プロジェクトのフォルダー内にUSBフォルダーを作成。

プロジェクトのフォルダー内にUSBフォルダーを作る

プロジェクトのフォルダー内にUSBフォルダーを作る

できたUSBフォルダー

できたUSBフォルダー

足りないファイルをコピーしたところ。

足りないファイルをコピー

足りないファイルをコピー

再度コンパイルし、また足りないファイルを探してくることを繰り返す。

再度コンパイルし、エラーメッセージを確認

再度コンパイルし、エラーメッセージを確認

コンパイルエラーが無くなった。

コンパイルエラーが無くなった

コンパイルエラーが無くなった

今度はビルドしてみてエラーメッセージを確認する。
USBDeviceTasksという関数が足りないようだ。

今度はビルドをしてエラーメッセージを確認する

今度はビルドをしてエラーメッセージを確認する

USBDeviceTasksという関数が実装されているusb_device.cをコピーしてプロジェクトに追加。
再度ビルドし、エラーメッセージを確認。
USBCheckHIDRequestという関数が足りない。

usb_device.cを追加して再度ビルドし、エラーメッセージを確認

usb_device.cを追加して再度ビルドし、エラーメッセージを確認

usb_function_hid.cを追加し、再度ビルド。

usb_function_hid.cを追加

usb_function_hid.cを追加

usb_descpritor.cを追加して必要なファイルがそろった最終的なフォルダーの状態

最終的なフォルダーの状態

最終的なフォルダーの状態

これでビルドが完了。

ビルド完了

ビルド完了

後は自分の回路に合わせて”HardwareProfile – LPC USB Development Kit – PIC18F14K50.h”を編集してビルドする。

Device – HID – Mouseのビルド への1件のフィードバック

  1. ピンバック: USBマウス再び « Physical Computingに挑戦!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください