USBフェイク
STM32:なんちゃってマスストレージ・デバイス on STM8S-Discovery†
ソースはこちらにある、以下のこれ。
アプリケーション・サンプルソース†
| 種別 | ファイル | 対応基板 | 
| STM32版 仮想COMサンプル他 | sample.zip | STM8S-DiscoveryのSTM32側、他 | 
- sample.zip内にmsdデバイスサンプルがあります。
 - ハードウェアは、とりあえず、STM8S-DiscoveryのST-Link側だけを使用します。(CQ-STARMなどでも同様に可)
 - ファーム書き込みは拙作 armboot.exe で行ないます。
 - ファームを書き込んだら、ブートジャンパーをOPENにして、USB再接続するとUSB HDDデバイスが現れます。
 
差分はこちら†
Index: msc/src/scsi_data.c
===================================================================
--- msc/src/scsi_data.c (revision 290)
+++ msc/src/scsi_data.c (working copy)
@@ -32,7 +32,7 @@
     0x80,          /* RMB = 1: Removable Medium */
     0x02,          /* Version: No conformance claim to standard */
     0x02,
-
+#if    0
     36 - 4,          /* Additional Length */
     0x00,          /* SCCS = 1: Storage Controller Component */
     0x00,
@@ -44,6 +44,20 @@
     'D', 'i', 's', 'k', ' ', ' ', ' ',
     /* Product Revision Level */
     '1', '.', '0', ' '
+#else
+    36 - 4,          /* Additional Length */
+    0x00,          /* SCCS = 1: Storage Controller Component */
+    0x00,
+    0x00,
+    /* Vendor Identification */
+    'M', 'a', 'x', 't', 'o', 'r', ' ', '5',
+    /* Product Identification */
+    'A', '1', '2', '0', 'J', '0', ' ', ' ', ' ',
+    ' ', ' ', ' ', ' ', ' ', ' ', ' ',
+    /* Product Revision Level */
+    '1', '.', '0', ' '
+#endif
+
   };
 uint8_t Standard_Inquiry_Data2[] =
   {
- 文字数は変えません。
 - ほんとうは(たぶん)SPIインターフェースの先にMMC/SDを接続しないと正しく動作しないような気もします。
 - まあ、フェイクなので未配線のままテストします。
 
- これで、Maxtorのドライブがデバイス一覧のドライブに現れればOKです。
 
- SPIインターフェースの先にMMC/SDを接続して実ドライブにしたいなぁ・・・。(SPIだしUSB FullSpeedなので遅いけど)
 

