PIC32MXで、USBメモリーを扱う
2017年4月1日
ちょっと訳あって、マイコンからUSBメモリーへのアクセスの方法を探っている。この手のことをする場合、最近はほとんどMicrochip社のPIC32MXを使っているので、今回もこれでどうやるのかを探ってみた。
回路は、以下の通り。なお、パスコンはすべて0.1 μFで。
最近は、PIC32用のライブラリーは、Harmonyという巨大なフレームワークに統合されているらしく、プロプライエタリーなファームウェアを開発するのには、これはこれで便利なのだろうけれど、小規模なオープンソースファームウェアを開発するのには、向かなさそう。今回は、Microchipが提供しているライブラリーのうち、legacy版の2013_06_15を使うことにした(Microchip Libraries for Applicationsで、「Legacy MLA」タブを選択)。
「USB Host - MSD - Simple Demo - XC32」というのがあったのでこれだろうと調べてみると、どうやら、USBメモリーを認識するとルートディレクトリーに"test.txt"という名のファイルを作成する、シンプルなプログラムのよう。とりあえず、PIC32MX250F128Bのプロジェクトとしてビルド出来るところまでこぎ着け、必要なファイル(*c 及び *.h)だけを抽出して、一つのディレクトリーに収まるプロジェクトとした。
もしこれを、何か他のソフトウェアーに取り込むのなら、USBメモリー読み書き部分のライブラリー(*.a)を作成して、このライブラリーをインクルードする(MachiKaniaが取っている方式)のが、すっきりしそう。
usbhost2のver 0.12は、ここからダウンロードできます。
Microchip社のコードを改変して用いているので、使用の際、ライセンスはMicrochip社のそれに従って下さい。
回路は、以下の通り。なお、パスコンはすべて0.1 μFで。
最近は、PIC32用のライブラリーは、Harmonyという巨大なフレームワークに統合されているらしく、プロプライエタリーなファームウェアを開発するのには、これはこれで便利なのだろうけれど、小規模なオープンソースファームウェアを開発するのには、向かなさそう。今回は、Microchipが提供しているライブラリーのうち、legacy版の2013_06_15を使うことにした(Microchip Libraries for Applicationsで、「Legacy MLA」タブを選択)。
「USB Host - MSD - Simple Demo - XC32」というのがあったのでこれだろうと調べてみると、どうやら、USBメモリーを認識するとルートディレクトリーに"test.txt"という名のファイルを作成する、シンプルなプログラムのよう。とりあえず、PIC32MX250F128Bのプロジェクトとしてビルド出来るところまでこぎ着け、必要なファイル(*c 及び *.h)だけを抽出して、一つのディレクトリーに収まるプロジェクトとした。
もしこれを、何か他のソフトウェアーに取り込むのなら、USBメモリー読み書き部分のライブラリー(*.a)を作成して、このライブラリーをインクルードする(MachiKaniaが取っている方式)のが、すっきりしそう。
usbhost2のver 0.12は、ここからダウンロードできます。
Microchip社のコードを改変して用いているので、使用の際、ライセンスはMicrochip社のそれに従って下さい。