この例では、大容量記憶装置クラス デバイス (USB フラッシュ ドライブ) を列挙する大容量記憶装置クラス ホスト モード デバイスを実装します。デバイスの最初のセクターを読み取り、そのデータの hexdump スタイルのリストを端末に表示します。
この例を構成するソフトウェアは、さまざまな開発ボードで動作するように設計されています。したがって、コンパイラは、使用している開発ボードを対象とするイメージをビルドするように構成する必要があります。このセクションでは、サポートされている各コンパイラに対してこれらのビルド構成を設定する方法について説明します。
プロジェクトを構成する
[Project Explorer] ウィンドウで BSP プロジェクトを右クリックします。
「Build Configurations」-「Set Active->」>をクリックします(次の表の構成を参照)。
これらの手順を CDL、nxpUSBlib、および CD で繰り返しますExample_MassStorageHost
MCU の構成
Project ExplorerウィンドウでExample_MassStorageHostプロジェクトを右クリックします。
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_Host | LPC18xx | LPC1850 |
LPC4330 / Xplorer | LPC4330_Xplorer | LPC18xx | LPC18xx_Host | LPC18xx | LPC4330 |
LPC4350 / Element14 | LPC1435_ELEMENT14 | LPC18xx | LPC18xx_Host | LPC18xx | LPC4350 |
LPC1768 / MCB1700 | LPC1768_MCB1700 | LPC17xx | LPC17xx_Host | LPC17xx | LPC1768 |
LPC1768 / LPCXpresso | LPC17xx_LPCXpressoRevB | LPC17xx | LPC17xx_Host | LPC17xx | LPC1768 |
注意: LPC18xx CDLは、LPC43xxパーツを保持するボードで使用されます。これは、LPC43xx CDLが現在実験段階であるためです。LPC18xx USBライブラリは、両方の部品が同じコントローラーを共有しているため、使用されます。
バッチビルドの設定
[Project->Batch Build...] をクリックします。
BSP プロジェクトを展開して、プロジェクト ターゲットの一覧を表示します。
適切なチェックボックスをオンにして、プロジェクトターゲットを選択します(以下の表のターゲットリストを参照)。
これらの手順を CDL、nxpUSBlib_Host、および Example_MassStorageDevice で繰り返します
BSPの | CDLの | nxpUSBlib_Host | Example_MassStorageDevice | |
LPC1850 / Hitex | HITEX1800 | LPC18xx | LPC18xx_Host | HITEX1800 |
LPC1768 / MCB1700 | MCB1700 | LPC17xx | LPC17xx_Host | MCB1700 |
回路図 ./BSP/schematics/HITEX_SCM_LPC1850EVA-A2-2.pdf
JTAGをX4JTAGとマークされた20ピンレセプタクルに接続します
USBフラッシュドライブをX10とマークされたタイプAレセプタクルに接続します
9ピンシリアルケーブルをUARTX1とマークされたレセプタクルに接続します。このケーブルのもう一方の端を、ターミナルプログラムを実行しているPCに接続します。
ボードに電力を供給するには:
電源付きUSBケーブルのタイプB側をX13とマークされたレセプタクルに接続します
又は
X14とラベル付けされたDCコネクタに5vを供給します
回路図 ./BSP/schematics/HITEX_Final_LPC1850EVA-A3.pdf
回路図: ./BSP/schematics/mcb1700-schematics.pdf
| ジャンパ | 設定 |
| E/U | 1-2 |
| UMODE | 1-2 |
| D- | ホスト |
| D+ | ホスト |
| VBUS | 1-2 |
| VDDIO | 1-2 |
| VDDREG | 1-2 |
| ISPの | 次の項目を削除 |
JTAGデバッガを20ピンJTAGまたは10ピンCortexデバッグコネクタに接続します
ボード上のCOM0とターミナルプログラムを実行しているPCとの間に9ピンシリアルケーブルを接続します。ボーレート = 9600
USBフラッシュドライブをHOSTとマークされたタイプAレセプタクルに差し込みます
ボードに電力を供給するには:
電源付きUSBケーブルのタイプB側を「デバイス」というラベルの付いたタイプBレセプタクルに接続します
又は
JTAGとCOM0レセプタクルの間の-VIN+ピンに5Vを供給
ボードに電力が供給されると、次のLEDが点灯します。
力
100MHzの
USCの
概略図: ./BSP/schematics/LPCXpressoLPC1769revB.pdf
LPCXpresso LPC1769ボードをJ4というラベルの付いたコネクタに差し込みます。
LPCXpressoベースボード
JTAG LPCXpresso LPC1769のJ3というラベルの付いたミニUSBレセプタクルに接続します
板
Embedded Artistsのユーザーガイドに従ってベースボードを設定します
ベースボードのJ61とマークされたジャンパーブロックにジャンパー1-2、3-4、5-6を取り付けます
USBフラッシュドライブをベースボードのJ60とマークされたタイプAレセプタクルに差し込みます
USBケーブルのミニタイプB側をUSB-シリアルレセプタクルに接続します
X3 とラベル付けされたベース ボードと PC の USB レセプタクルのタイプ A エンド。
USBケーブルをボードに接続すると、次のLEDが表示されます
点灯:
LED25(VBUSの)
LED26(3.3vレール)
Windows XP、Vista、または 7 を実行している PC を使用して、Teraterm や Hyperterm などのターミナル エミュレーション プログラムで表示できるランタイム診断を表示します。これらのプログラムのボーレートは 9600 に設定する必要があります。
IDE のプロジェクト エクスプローラー ウィンドウで、Example_MassStorageHost プロジェクトを右クリックし、[As->C/C++ MCU Application のデバッグ] を選択します。
IDEのメイン・ウィンドウで、「実行」→「再開」>をクリックして、アプリケーションの実行を開始します
「バッチ・ビルド」ウィンドウで、「コンパイラ・ビルド構成」の説明に従ってプロジェクト・ターゲットを選択し、「ビルド」をクリックします
IDEのメイン・ウィンドウで、「デバッグ」>「デバッグ・セッションの開始/停止」をクリックし、「デバッグ」>実行をクリックします。
この例を最初に実行すると、ターミナルウィンドウに次のように表示されます。
大容量記憶装置ホストのデモを実行しています。
フラッシュドライブが接続されると、ターミナルウィンドウが表示されます
次のようなものがあります。
デバイスが接続されています。
合計 LUN: 1 - デバイス内の最初の LUN を使用。
ベンダー「USB」、製品「フラッシュディスク」
列挙された大容量記憶装置。
準備が整うまで待っています...
容量を取得しています...
1957887 512 バイトのブロック。
最初のブロックの内容:
33 C0 8E D0 BC 00 7C FB 50 07 50 1F FC BE 1B 7C 3.....|.P.P....|
BF 1B 06 50 57 B9 E5 01 F3 A4 CB BD BE 07 B1 04 ...捕虜。。。。。。。。。。。
38 6E 00 7C 09 75 13 83 C5 10 E2 F4 CD 18 8B F5 8n.|.u..........
83 C6 10 49 74 19 38 2C 74 F6 A0 B5 07 B4 07 8B ...それ.8,t.......
F0 AC 3C 00 74 FC BB 07 00 B4 0E CD 10 EB F2 88 ..<.t...........
4E 10 E8 46 00 73 2A FE 46 10 80 7E 04 0B 74 0B N..F.S*.F.(英語)~..t.
80 7E 04 0C 74 05 A0 B6 07 75 D2 80 46 02 06 83 .~..t....u..F...
46 08 06 83 56 0A 00 E8 21 00 73 05 A0 B6 07 EB F...V...!.s.....
BC 81 3E FE 7D 55 AA 74 0B 80 7E 10 00 74 C8 A0 ..>.}U.T.(英語)~..t..
B7 07 EB A9 8B FC 1E 57 8B F5 CB BF 05 00 8A 56 .......W.......V
00 B4 08 CD 13 72 23 8A C1 24 3F 98 8A DE 8A FC .....r#..$?.....
43 F7 E3 8B D1 86 D6 B1 06 D2 EE 42 F7 E2 39 56 C..........B..9Vの
0A 77 23 72 05 39 46 08 73 1C B8 01 02 BB 00 7C .w#r.9F.s.......|
8B 4E 02 8B 56 00 CD 13 73 51 4F 74 4E 32 E4 8A .N.V...sQOtN2..
56 00 CD 13 EB E4 8A 56 00 60 BB AA 55 B4 41 CD V......V.`..アラブ首長国連邦
13 72 36 81 FB 55 AA 75 30 F6 C1 01 74 2B 61 60 .r6..U.U0...T+A'
6A 00 6A 00 FF 76 0A FF 76 08 6A 00 68 00 7C 6A j.j..v..v.j.h.|j
01 6A 10 B4 42 8B F4 CD 13 61 61 73 0E 4F 74 0B .j..B....AASです。オット。
32 E4 8A 56 00 CD 13 EB D6 61 F9 C3 49 6E 76 61 2..V.....ある。。インバ
6C 69 64 20 70 61 72 74 69 74 74 69 6F 6E 20 74 61 蓋パーティション
62 6C 65 00 45 72 72 6F 72 20 6C 6F 61 64 69 6E ble.エラーロードイン
67 20 6F 70 65 72 61 74 69 6E 67 20 73 79 73 74 g オペレーティングシステム
65 6D 00 4D 69 73 73 69 6E 67 20 6F 70 65 72 61 em.オペラの欠落
74 69 6E 67 20 73 79 73 74 65 6D 00 00 00 00 00 tingシステム.....
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 2C 44 63 18 2E 07 C3 00 00 80 01 .....,Dc........
01 00 06 20 00 77 00 02 00 00 00 DE 1D 00 00 00 ... .w..........
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA ..............U.
フラッシュドライブを取り外すと、ターニマルウィンドウが表示されます。
デバイスが接続されていません。