この例では、内部 RAM に格納された FAT12 ボリュームで動作する大容量記憶域クラス デバイスを実装します。このボリュームのサイズは、DataRam.h で定義されている定数DATA_RAM_PHYSICAL_SIZEによって設定されます。
この例を構成するソフトウェアは、さまざまな開発ボードで動作するように設計されています。したがって、コンパイラは、使用している開発ボードを対象とするイメージをビルドするように構成する必要があります。このセクションでは、サポートされている各コンパイラに対してこれらのビルド構成を設定する方法について説明します。
プロジェクトを構成する
[Project Explorer] ウィンドウで BSP プロジェクトを右クリックします。
「Build Configurations」-「Set Active->」>をクリックします(次の表の構成を参照)。
これらの手順を CDL、nxpUSBlib、および Example_MassStorageDevice で繰り返します
MCU の構成
Project ExplorerウィンドウでExample_MassStorageDeviceプロジェクトを右クリックします
Properties->C/C++ Build->MCU settings->をクリックします(下表の構成を参照)。
インデクサーを構成する
[Window]-[>Preferences]-[>C/C++]-[>Indexer]-[Use active build configuration]をクリックします>
BSPの | CDLの | nxpUSBlib | Example_MassStorageDevice | MCU | |
LPC1850 / Hitex | LPC18xx_HITEX | LPC18xx | LPC18xx_Device | LPC18xx | LPC1850 |
LPC4330 / Xplorer | LPC4330_Xplorer | LPC18xx | LPC18xx_Device | LPC18xx | LPC4330 |
LPC4350 / Element14 | LPC1435_ELEMENT14 | LPC18xx | LPC18xx_Device | LPC18xx | LPC4350 |
LPC11U14 / LPCXpresso | LPC11Uxx_LPCXpressoRevB | LPC11Uxx | LPC11Uxx_Device | LPC11Uxx | LPC11U14 |
LPC11U14 / MCB1000 | LPC11u14_MCB1000 | LPC11Uxx | LPC11Uxx_Device | LPC11Uxx | LPC11U14 |
LPC1768 / MCB1700 | LPC1768_MCB1700 | LPC17xx | LPC17xx_Device | LPC17xx | LPC1768 |
LPC1768 / LPCXpresso | LPC17xx_LPCXpressoRevB | LPC17xx | LPC17xx_Device | LPC17xx | LPC1768 |
注意: LPC18xx CDLは、LPC43xxパーツを保持するボードで使用されます。これは、LPC43xx CDLが現在実験段階であるためです。LPC18xx USBライブラリは、両方の部品が同じコントローラーを共有しているため、使用されます。
バッチビルドの設定
[Project->Batch Build...] をクリックします。
BSP プロジェクトを展開して、プロジェクト ターゲットの一覧を表示します。
適切なチェックボックスをオンにして、プロジェクトターゲットを選択します(以下の表のターゲットリストを参照)。
これらの手順を CDL、nxpUSBlib_Device、および Example_MassStorageDevice で繰り返します
BSPの | CDLの | nxpUSBlib_Device | Example_MassStorageDevice | |
LPC1850 / Hitex | HITEX1800 | LPC18xx | LPC18xx_Device | HITEX1800 |
LPC1768 / MCB1700 | MCB1700 | LPC17xx | LPC17xx_Device | MCB1700 |
LPC11U14 / MCB1000 | MCB1000 | LPC11Uxx | LPC11Uxx_Device | MCB1000 |
回路図 ./BSP/schematics/HITEX_SCM_LPC1850EVA-A2-2.pdf
JTAGをX4JTAGとマークされた20ピンレセプタクルに接続します
USBケーブルのタイプB側をX2とマークされたレセプタクルに接続します。このケーブルのタイプA側をPCに差し込みます
回路図 ./BSP/schematics/HITEX_Final_LPC1850EVA-A3.pdf
JTAG を J2 とマークされた 10 ピン レセプタクルに接続します
USBケーブルのmicro-b側をUSB0とマークされたレセプタクルに接続します。このケーブルのタイプA側をPCに差し込みます
JTAG を J6 とマークされた 10 ピン レセプタクルに接続します
タイプ A からタイプ A への USB ケーブルの一方の端を、USB0 とマークされたレセプタクルに接続します。このケーブルのもう一方の端をPCに差し込みます
概略図: ./BSP/schematics/mcb1000-schematics.pdf
ジャンパー:
J4 = 2-3 (UCON - PIO0_6 は D+ を High にプルします)
J2 = 1-2 (VDD - コア電源)
J5がインストールされていません(ISP - COM経由のISP)
J6がインストールされていない(RST - COM経由のISP)
JTAGデバッガをJ3というラベルの付いた10ピンCortexデバッグコネクタに接続します
USBケーブルのタイプBの端をPCのタイプBレセプタクルに接続し、ケーブルのタイプAの端をUSBレセプタクルに接続します
USBケーブルをボードに接続すると、次のLEDが点灯します。
力
PIO2の8つのLEDすべて
概略図: ./BSP/schematics/mcb1700-schematics.pdf
ジャンパー:
E/U = 1-2 (イーサネット/USB)
UMODE = 1-2(USBデバイスモード)
D- = デバイス
D+ = デバイス
VBUS = 1-2
VDDIO=1-2
VDDREG = 1-2
JTAGデバッガを20ピンJTAGまたは10ピンCortexデバッグコネクタに接続します。
USBケーブルのタイプB側を「デバイス」というラベルの付いたタイプBレセプタクルに接続し、ケーブルのタイプA側をPCのUSBレセプタクルに接続します。USBケーブルをボードに接続すると、次のLEDが点灯します。
力
100MHzの
USC(LEDはP2.9からのUSBソフト接続を示します)
概略図: ./BSP/schematics/lpcxpresso.lpc11u14.schematic.pdf
この例を LPCXpresso LPC11U14 で実行するには、次の 2 つの方法のいずれかで実行できます。
1. LPCXpresso LPC11U14スタンドアロン
USBケーブルのタイプB側をJ8というラベルの付いたLPCXpressoボードのミニレセプタクルに接続し、タイプA側をPCのUSBレセプタクルに接続します
2. LPCXpresso LPC11U14 LPCXpressoベースボードRevBに接続されています
LPCXpresso LPC11U14ボードをLPCXpressoベースボードRevBのJ4というラベルの付いたコネクタに差し込みます
Embedded Artistsのユーザーズガイドに従ってベースボードを設定します
USBケーブルのミニタイプB側をX1とラベル付けされたベースボードのレセプタクルに接続し、タイプA側をPCのUSBレセプタクルに接続します
USBケーブルをボードに接続すると、次のLEDが点灯します。
LED25(VBUSの)
LED26(3.3vレール)
どちらの構成でも、JTAGデバッガはLPCXpresso LPC11U14ボードのJ3というラベルの付いたミニUSBレセプタクルに接続されています
概略図: ./BSP/schematics/LPCXpressoLPC1769revB.pdf
この例を LPCXpresso LPC1769で実行するには、次の 2 つの方法のいずれかで実行できます。
1. LPCXpresso LPC1769スタンドアロンです。タイプB USBレセプタクルをボードにはんだ付けし、配線します。詳細については、付属の回路図を参照してください。USBケーブルのタイプB側をLPCXpressoボードのレセプタクルに接続し、タイプA側をPCのUSBレセプタクルに接続します
2. LPCXpresso LPC1769 LPCXpressoベースボードRev Bに差し込みます。LPCXpresso LPC1769ボードをLPCXpressoベースボードRev BのJ4というラベルの付いたコネクタに差し込みます。Embedded Artistsのユーザーガイドに従ってベースボードを構成します。USBケーブルのミニタイプB側をX1というラベルの付いたベースボードのレセプタクルに接続し、タイプA側をPCのUSBレセプタクルに接続します。
USBケーブルをボードに接続すると、次のLEDが点灯します。
LED25(VBUSの)
LED26(3.3vレール)
どちらの構成でも、JTAGデバッガはLPCXpresso LPC1769ボードのJ3というラベルの付いたミニUSBレセプタクルに接続されています。
Windows XP、Vista、または7を実行しているPCを使用しますボードに接続されているUSBケーブルのタイプA側をPCのUSBレセプタクルの1つに接続します
Windows エクスプローラー ウィンドウを開く
IDE のプロジェクト エクスプローラー ウィンドウで、Example_MassStorageDevice プロジェクトを右クリックし、[As->C/C++ MCU アプリケーションをデバッグ] を選択します。
IDEのメイン・ウィンドウで、「実行」→「再開」>をクリックして、アプリケーションの実行を開始します
「バッチ・ビルド」ウィンドウで、「コンパイラ・ビルド構成」の説明に従ってプロジェクト・ターゲットを選択し、「ビルド」をクリックします
IDEのメイン・ウィンドウで、「デバッグ」>「デバッグ・セッションの開始/停止」をクリックし、「デバッグ」>実行をクリックします。
この例を実行し、ボードを USB ケーブルで PC に接続すると、PC 上に大容量記憶装置として列挙され、Windows ファイル エクスプローラーにボリューム ラベル nxpUSBlib のドライブとして表示されます。
ドライブには、「README.TXT」というファイルが 1 つ含まれており、このファイルには「This is a USB Memory Device demonstration."
この大容量記憶装置の例では、仮想ドライブ サイズと物理ドライブ サイズを定義します。
これらの番号は DataRam.h ファイルで定義され、次のようになります。
#define DATA_RAM_START_ADDRESS 0x20080000
#define DATA_RAM_PHYSICAL_SIZE 0xc00