25
25
#ifndef RAMDISK_H_
26
26
#define RAMDISK_H_
27
27
28
- #define README_CONTENTS \
29
- "This is Adafruit TinyUSB MassStorage device demo on RAM disk."
28
+ //--------------------------------------------------------------------+
29
+ // LUN 0
30
+ //--------------------------------------------------------------------+
31
+ #define README0_CONTENTS \
32
+ "LUN0: This is tinyusb's MassStorage Class demo.\r\n\r\n\
33
+ If you find any bugs or get any questions, feel free to file an\r\n\
34
+ issue at github.com/hathach/tinyusb"
30
35
31
- uint8_t msc_disk [DISK_BLOCK_NUM ][DISK_BLOCK_SIZE ] =
36
+ uint8_t msc_disk0 [DISK_BLOCK_NUM ][DISK_BLOCK_SIZE ] =
32
37
{
33
38
//------------- Block0: Boot Sector -------------//
34
39
// byte_per_sector = DISK_BLOCK_SIZE; fat12_sector_num_16 = DISK_BLOCK_NUM;
35
40
// sector_per_cluster = 1; reserved_sectors = 1;
36
41
// fat_num = 1; fat12_root_entry_num = 16;
37
42
// sector_per_fat = 1; sector_per_track = 1; head_num = 1; hidden_sectors = 0;
38
43
// drive_number = 0x80; media_type = 0xf8; extended_boot_signature = 0x29;
39
- // filesystem_type = "FAT12 "; volume_serial_number = 0x1234; volume_label = "TinyUSB MSC ";
44
+ // filesystem_type = "FAT12 "; volume_serial_number = 0x1234; volume_label = "TinyUSB 0 ";
40
45
// FAT magic code at offset 510-511
41
46
{
42
47
0xEB , 0x3C , 0x90 , 0x4D , 0x53 , 0x44 , 0x4F , 0x53 , 0x35 , 0x2E , 0x30 , 0x00 , 0x02 , 0x01 , 0x01 , 0x00 ,
43
48
0x01 , 0x10 , 0x00 , 0x10 , 0x00 , 0xF8 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
44
49
0x00 , 0x00 , 0x00 , 0x00 , 0x80 , 0x00 , 0x29 , 0x34 , 0x12 , 0x00 , 0x00 , 'T' , 'i' , 'n' , 'y' , 'U' ,
45
- 'S' , 'B' , ' ' , 'M ' , 'S ' , 'C ' , 0x46 , 0x41 , 0x54 , 0x31 , 0x32 , 0x20 , 0x20 , 0x20 , 0x00 , 0x00 ,
46
-
50
+ 'S' , 'B' , ' ' , '0 ' , ' ' , ' ' , 0x46 , 0x41 , 0x54 , 0x31 , 0x32 , 0x20 , 0x20 , 0x20 , 0x00 , 0x00 ,
51
+
47
52
// Zero up to 2 last bytes of FAT magic code
48
53
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
49
54
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
@@ -71,7 +76,85 @@ uint8_t msc_disk[DISK_BLOCK_NUM][DISK_BLOCK_SIZE] =
71
76
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
72
77
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
73
78
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
74
-
79
+
80
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
81
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
82
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
83
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x55 , 0xAA
84
+ },
85
+
86
+ //------------- Block1: FAT12 Table -------------//
87
+ {
88
+ 0xF8 , 0xFF , 0xFF , 0xFF , 0x0F // // first 2 entries must be F8FF, third entry is cluster end of readme file
89
+ },
90
+
91
+ //------------- Block2: Root Directory -------------//
92
+ {
93
+ // first entry is volume label
94
+ 'T' , 'i' , 'n' , 'y' , 'U' , 'S' , 'B' , ' ' , '0' , ' ' , ' ' , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 ,
95
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4F , 0x6D , 0x65 , 0x43 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
96
+ // second entry is readme file
97
+ 'R' , 'E' , 'A' , 'D' , 'M' , 'E' , '0' , ' ' , 'T' , 'X' , 'T' , 0x20 , 0x00 , 0xC6 , 0x52 , 0x6D ,
98
+ 0x65 , 0x43 , 0x65 , 0x43 , 0x00 , 0x00 , 0x88 , 0x6D , 0x65 , 0x43 , 0x02 , 0x00 ,
99
+ sizeof (README0_CONTENTS )- 1 , 0x00 , 0x00 , 0x00 // readme's files size (4 Bytes)
100
+ },
101
+
102
+ //------------- Block3: Readme Content -------------//
103
+ README0_CONTENTS
104
+ };
105
+
106
+ //--------------------------------------------------------------------+
107
+ // LUN 1
108
+ //--------------------------------------------------------------------+
109
+ #define README1_CONTENTS \
110
+ "LUN1: This is tinyusb's MassStorage Class demo.\r\n\r\n\
111
+ If you find any bugs or get any questions, feel free to file an\r\n\
112
+ issue at github.com/hathach/tinyusb"
113
+
114
+ uint8_t msc_disk1 [DISK_BLOCK_NUM ][DISK_BLOCK_SIZE ] =
115
+ {
116
+ //------------- Block0: Boot Sector -------------//
117
+ // byte_per_sector = DISK_BLOCK_SIZE; fat12_sector_num_16 = DISK_BLOCK_NUM;
118
+ // sector_per_cluster = 1; reserved_sectors = 1;
119
+ // fat_num = 1; fat12_root_entry_num = 16;
120
+ // sector_per_fat = 1; sector_per_track = 1; head_num = 1; hidden_sectors = 0;
121
+ // drive_number = 0x80; media_type = 0xf8; extended_boot_signature = 0x29;
122
+ // filesystem_type = "FAT12 "; volume_serial_number = 0x5678; volume_label = "TinyUSB 1 ";
123
+ // FAT magic code at offset 510-511
124
+ {
125
+ 0xEB , 0x3C , 0x90 , 0x4D , 0x53 , 0x44 , 0x4F , 0x53 , 0x35 , 0x2E , 0x30 , 0x00 , 0x02 , 0x01 , 0x01 , 0x00 ,
126
+ 0x01 , 0x10 , 0x00 , 0x10 , 0x00 , 0xF8 , 0x01 , 0x00 , 0x01 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
127
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x80 , 0x00 , 0x29 , 0x78 , 0x56 , 0x00 , 0x00 , 'T' , 'i' , 'n' , 'y' , 'U' ,
128
+ 'S' , 'B' , ' ' , '1' , ' ' , ' ' , 0x46 , 0x41 , 0x54 , 0x31 , 0x32 , 0x20 , 0x20 , 0x20 , 0x00 , 0x00 ,
129
+
130
+ // Zero up to 2 last bytes of FAT magic code
131
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
132
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
133
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
134
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
135
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
136
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
137
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
138
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
139
+
140
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
141
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
142
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
143
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
144
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
145
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
146
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
147
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
148
+
149
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
150
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
151
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
152
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
153
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
154
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
155
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
156
+ 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
157
+
75
158
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
76
159
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
77
160
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
@@ -86,16 +169,16 @@ uint8_t msc_disk[DISK_BLOCK_NUM][DISK_BLOCK_SIZE] =
86
169
//------------- Block2: Root Directory -------------//
87
170
{
88
171
// first entry is volume label
89
- 'T' , 'i' , 'n' , 'y' , 'U' , 'S' , 'B' , ' ' , 'M ' , 'S ' , 'C ' , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 ,
172
+ 'T' , 'i' , 'n' , 'y' , 'U' , 'S' , 'B' , ' ' , '1 ' , ' ' , ' ' , 0x08 , 0x00 , 0x00 , 0x00 , 0x00 ,
90
173
0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x4F , 0x6D , 0x65 , 0x43 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
91
174
// second entry is readme file
92
- 'R' , 'E' , 'A' , 'D' , 'M' , 'E' , ' ' , ' ' , 'T' , 'X' , 'T' , 0x20 , 0x00 , 0xC6 , 0x52 , 0x6D ,
175
+ 'R' , 'E' , 'A' , 'D' , 'M' , 'E' , '1 ' , ' ' , 'T' , 'X' , 'T' , 0x20 , 0x00 , 0xC6 , 0x52 , 0x6D ,
93
176
0x65 , 0x43 , 0x65 , 0x43 , 0x00 , 0x00 , 0x88 , 0x6D , 0x65 , 0x43 , 0x02 , 0x00 ,
94
- sizeof (README_CONTENTS )- 1 , 0x00 , 0x00 , 0x00 // readme's files size (4 Bytes)
177
+ sizeof (README1_CONTENTS )- 1 , 0x00 , 0x00 , 0x00 // readme's files size (4 Bytes)
95
178
},
96
179
97
180
//------------- Block3: Readme Content -------------//
98
- README_CONTENTS
181
+ README1_CONTENTS
99
182
};
100
183
101
184
#endif /* RAMDISK_H_ */
0 commit comments