Browse code

Add source code of the firmware for the IO Board

Pawel Jablonski authored on 05/06/2023 17:01:27
Showing 1 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,832 @@
1
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
2
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_projx.xsd">
3
+
4
+  <SchemaVersion>2.1</SchemaVersion>
5
+
6
+  <Header>### uVision Project, (C) Keil Software</Header>
7
+
8
+  <Targets>
9
+    <Target>
10
+      <TargetName>IO</TargetName>
11
+      <ToolsetNumber>0x4</ToolsetNumber>
12
+      <ToolsetName>ARM-ADS</ToolsetName>
13
+      <pCCUsed>6180000::V6.18::ARMCLANG</pCCUsed>
14
+      <uAC6>1</uAC6>
15
+      <TargetOption>
16
+        <TargetCommonOption>
17
+          <Device>STM32F072RBTx</Device>
18
+          <Vendor>STMicroelectronics</Vendor>
19
+          <PackID>Keil.STM32F0xx_DFP.2.1.1</PackID>
20
+          <PackURL>https://www.keil.com/pack/</PackURL>
21
+          <Cpu>IRAM(0x20000000,0x00004000) IROM(0x08000000,0x00020000) CPUTYPE("Cortex-M0") CLOCK(12000000) ELITTLE</Cpu>
22
+          <FlashUtilSpec></FlashUtilSpec>
23
+          <StartupFile></StartupFile>
24
+          <FlashDriverDll>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F0xx_128_2K -FS08000000 -FL020000 -FP0($$Device:STM32F072RBTx$CMSIS\Flash\STM32F0xx_128_2K.FLM))</FlashDriverDll>
25
+          <DeviceId>0</DeviceId>
26
+          <RegisterFile>$$Device:STM32F072RBTx$Drivers\CMSIS\Device\ST\STM32F0xx\Include\stm32f0xx.h</RegisterFile>
27
+          <MemoryEnv></MemoryEnv>
28
+          <Cmp></Cmp>
29
+          <Asm></Asm>
30
+          <Linker></Linker>
31
+          <OHString></OHString>
32
+          <InfinionOptionDll></InfinionOptionDll>
33
+          <SLE66CMisc></SLE66CMisc>
34
+          <SLE66AMisc></SLE66AMisc>
35
+          <SLE66LinkerMisc></SLE66LinkerMisc>
36
+          <SFDFile>$$Device:STM32F072RBTx$CMSIS\SVD\STM32F0x2.svd</SFDFile>
37
+          <bCustSvd>0</bCustSvd>
38
+          <UseEnv>0</UseEnv>
39
+          <BinPath></BinPath>
40
+          <IncludePath></IncludePath>
41
+          <LibPath></LibPath>
42
+          <RegisterFilePath></RegisterFilePath>
43
+          <DBRegisterFilePath></DBRegisterFilePath>
44
+          <TargetStatus>
45
+            <Error>0</Error>
46
+            <ExitCodeStop>0</ExitCodeStop>
47
+            <ButtonStop>0</ButtonStop>
48
+            <NotGenerated>0</NotGenerated>
49
+            <InvalidFlash>1</InvalidFlash>
50
+          </TargetStatus>
51
+          <OutputDirectory>.\Objects\</OutputDirectory>
52
+          <OutputName>io</OutputName>
53
+          <CreateExecutable>1</CreateExecutable>
54
+          <CreateLib>0</CreateLib>
55
+          <CreateHexFile>1</CreateHexFile>
56
+          <DebugInformation>1</DebugInformation>
57
+          <BrowseInformation>1</BrowseInformation>
58
+          <ListingPath>.\Listings\</ListingPath>
59
+          <HexFormatSelection>1</HexFormatSelection>
60
+          <Merge32K>0</Merge32K>
61
+          <CreateBatchFile>0</CreateBatchFile>
62
+          <BeforeCompile>
63
+            <RunUserProg1>0</RunUserProg1>
64
+            <RunUserProg2>0</RunUserProg2>
65
+            <UserProg1Name></UserProg1Name>
66
+            <UserProg2Name></UserProg2Name>
67
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
68
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
69
+            <nStopU1X>0</nStopU1X>
70
+            <nStopU2X>0</nStopU2X>
71
+          </BeforeCompile>
72
+          <BeforeMake>
73
+            <RunUserProg1>0</RunUserProg1>
74
+            <RunUserProg2>0</RunUserProg2>
75
+            <UserProg1Name></UserProg1Name>
76
+            <UserProg2Name></UserProg2Name>
77
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
78
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
79
+            <nStopB1X>0</nStopB1X>
80
+            <nStopB2X>0</nStopB2X>
81
+          </BeforeMake>
82
+          <AfterMake>
83
+            <RunUserProg1>0</RunUserProg1>
84
+            <RunUserProg2>0</RunUserProg2>
85
+            <UserProg1Name></UserProg1Name>
86
+            <UserProg2Name></UserProg2Name>
87
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
88
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
89
+            <nStopA1X>0</nStopA1X>
90
+            <nStopA2X>0</nStopA2X>
91
+          </AfterMake>
92
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
93
+          <SVCSIdString></SVCSIdString>
94
+        </TargetCommonOption>
95
+        <CommonProperty>
96
+          <UseCPPCompiler>0</UseCPPCompiler>
97
+          <RVCTCodeConst>0</RVCTCodeConst>
98
+          <RVCTZI>0</RVCTZI>
99
+          <RVCTOtherData>0</RVCTOtherData>
100
+          <ModuleSelection>0</ModuleSelection>
101
+          <IncludeInBuild>1</IncludeInBuild>
102
+          <AlwaysBuild>0</AlwaysBuild>
103
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
104
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
105
+          <PublicsOnly>0</PublicsOnly>
106
+          <StopOnExitCode>3</StopOnExitCode>
107
+          <CustomArgument></CustomArgument>
108
+          <IncludeLibraryModules></IncludeLibraryModules>
109
+          <ComprImg>1</ComprImg>
110
+        </CommonProperty>
111
+        <DllOption>
112
+          <SimDllName>SARMCM3.DLL</SimDllName>
113
+          <SimDllArguments> -REMAP </SimDllArguments>
114
+          <SimDlgDll>DARMCM1.DLL</SimDlgDll>
115
+          <SimDlgDllArguments>-pCM0</SimDlgDllArguments>
116
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
117
+          <TargetDllArguments> </TargetDllArguments>
118
+          <TargetDlgDll>TARMCM1.DLL</TargetDlgDll>
119
+          <TargetDlgDllArguments>-pCM0</TargetDlgDllArguments>
120
+        </DllOption>
121
+        <DebugOption>
122
+          <OPTHX>
123
+            <HexSelection>1</HexSelection>
124
+            <HexRangeLowAddress>0</HexRangeLowAddress>
125
+            <HexRangeHighAddress>0</HexRangeHighAddress>
126
+            <HexOffset>0</HexOffset>
127
+            <Oh166RecLen>16</Oh166RecLen>
128
+          </OPTHX>
129
+        </DebugOption>
130
+        <Utilities>
131
+          <Flash1>
132
+            <UseTargetDll>1</UseTargetDll>
133
+            <UseExternalTool>0</UseExternalTool>
134
+            <RunIndependent>0</RunIndependent>
135
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
136
+            <Capability>1</Capability>
137
+            <DriverSelection>4096</DriverSelection>
138
+          </Flash1>
139
+          <bUseTDR>1</bUseTDR>
140
+          <Flash2>BIN\UL2CM3.DLL</Flash2>
141
+          <Flash3>"" ()</Flash3>
142
+          <Flash4></Flash4>
143
+          <pFcarmOut></pFcarmOut>
144
+          <pFcarmGrp></pFcarmGrp>
145
+          <pFcArmRoot></pFcArmRoot>
146
+          <FcArmLst>0</FcArmLst>
147
+        </Utilities>
148
+        <TargetArmAds>
149
+          <ArmAdsMisc>
150
+            <GenerateListings>0</GenerateListings>
151
+            <asHll>1</asHll>
152
+            <asAsm>1</asAsm>
153
+            <asMacX>1</asMacX>
154
+            <asSyms>1</asSyms>
155
+            <asFals>1</asFals>
156
+            <asDbgD>1</asDbgD>
157
+            <asForm>1</asForm>
158
+            <ldLst>0</ldLst>
159
+            <ldmm>1</ldmm>
160
+            <ldXref>1</ldXref>
161
+            <BigEnd>0</BigEnd>
162
+            <AdsALst>1</AdsALst>
163
+            <AdsACrf>1</AdsACrf>
164
+            <AdsANop>0</AdsANop>
165
+            <AdsANot>0</AdsANot>
166
+            <AdsLLst>1</AdsLLst>
167
+            <AdsLmap>1</AdsLmap>
168
+            <AdsLcgr>1</AdsLcgr>
169
+            <AdsLsym>1</AdsLsym>
170
+            <AdsLszi>1</AdsLszi>
171
+            <AdsLtoi>1</AdsLtoi>
172
+            <AdsLsun>1</AdsLsun>
173
+            <AdsLven>1</AdsLven>
174
+            <AdsLsxf>1</AdsLsxf>
175
+            <RvctClst>0</RvctClst>
176
+            <GenPPlst>0</GenPPlst>
177
+            <AdsCpuType>"Cortex-M0"</AdsCpuType>
178
+            <RvctDeviceName></RvctDeviceName>
179
+            <mOS>0</mOS>
180
+            <uocRom>0</uocRom>
181
+            <uocRam>0</uocRam>
182
+            <hadIROM>1</hadIROM>
183
+            <hadIRAM>1</hadIRAM>
184
+            <hadXRAM>0</hadXRAM>
185
+            <uocXRam>0</uocXRam>
186
+            <RvdsVP>0</RvdsVP>
187
+            <RvdsMve>0</RvdsMve>
188
+            <RvdsCdeCp>0</RvdsCdeCp>
189
+            <nBranchProt>0</nBranchProt>
190
+            <hadIRAM2>0</hadIRAM2>
191
+            <hadIROM2>0</hadIROM2>
192
+            <StupSel>8</StupSel>
193
+            <useUlib>0</useUlib>
194
+            <EndSel>0</EndSel>
195
+            <uLtcg>0</uLtcg>
196
+            <nSecure>0</nSecure>
197
+            <RoSelD>3</RoSelD>
198
+            <RwSelD>3</RwSelD>
199
+            <CodeSel>0</CodeSel>
200
+            <OptFeed>0</OptFeed>
201
+            <NoZi1>0</NoZi1>
202
+            <NoZi2>0</NoZi2>
203
+            <NoZi3>0</NoZi3>
204
+            <NoZi4>0</NoZi4>
205
+            <NoZi5>0</NoZi5>
206
+            <Ro1Chk>0</Ro1Chk>
207
+            <Ro2Chk>0</Ro2Chk>
208
+            <Ro3Chk>0</Ro3Chk>
209
+            <Ir1Chk>1</Ir1Chk>
210
+            <Ir2Chk>0</Ir2Chk>
211
+            <Ra1Chk>0</Ra1Chk>
212
+            <Ra2Chk>0</Ra2Chk>
213
+            <Ra3Chk>0</Ra3Chk>
214
+            <Im1Chk>1</Im1Chk>
215
+            <Im2Chk>0</Im2Chk>
216
+            <OnChipMemories>
217
+              <Ocm1>
218
+                <Type>0</Type>
219
+                <StartAddress>0x0</StartAddress>
220
+                <Size>0x0</Size>
221
+              </Ocm1>
222
+              <Ocm2>
223
+                <Type>0</Type>
224
+                <StartAddress>0x0</StartAddress>
225
+                <Size>0x0</Size>
226
+              </Ocm2>
227
+              <Ocm3>
228
+                <Type>0</Type>
229
+                <StartAddress>0x0</StartAddress>
230
+                <Size>0x0</Size>
231
+              </Ocm3>
232
+              <Ocm4>
233
+                <Type>0</Type>
234
+                <StartAddress>0x0</StartAddress>
235
+                <Size>0x0</Size>
236
+              </Ocm4>
237
+              <Ocm5>
238
+                <Type>0</Type>
239
+                <StartAddress>0x0</StartAddress>
240
+                <Size>0x0</Size>
241
+              </Ocm5>
242
+              <Ocm6>
243
+                <Type>0</Type>
244
+                <StartAddress>0x0</StartAddress>
245
+                <Size>0x0</Size>
246
+              </Ocm6>
247
+              <IRAM>
248
+                <Type>0</Type>
249
+                <StartAddress>0x20000000</StartAddress>
250
+                <Size>0x4000</Size>
251
+              </IRAM>
252
+              <IROM>
253
+                <Type>1</Type>
254
+                <StartAddress>0x8000000</StartAddress>
255
+                <Size>0x20000</Size>
256
+              </IROM>
257
+              <XRAM>
258
+                <Type>0</Type>
259
+                <StartAddress>0x0</StartAddress>
260
+                <Size>0x0</Size>
261
+              </XRAM>
262
+              <OCR_RVCT1>
263
+                <Type>1</Type>
264
+                <StartAddress>0x0</StartAddress>
265
+                <Size>0x0</Size>
266
+              </OCR_RVCT1>
267
+              <OCR_RVCT2>
268
+                <Type>1</Type>
269
+                <StartAddress>0x0</StartAddress>
270
+                <Size>0x0</Size>
271
+              </OCR_RVCT2>
272
+              <OCR_RVCT3>
273
+                <Type>1</Type>
274
+                <StartAddress>0x0</StartAddress>
275
+                <Size>0x0</Size>
276
+              </OCR_RVCT3>
277
+              <OCR_RVCT4>
278
+                <Type>1</Type>
279
+                <StartAddress>0x8000000</StartAddress>
280
+                <Size>0x20000</Size>
281
+              </OCR_RVCT4>
282
+              <OCR_RVCT5>
283
+                <Type>1</Type>
284
+                <StartAddress>0x0</StartAddress>
285
+                <Size>0x0</Size>
286
+              </OCR_RVCT5>
287
+              <OCR_RVCT6>
288
+                <Type>0</Type>
289
+                <StartAddress>0x0</StartAddress>
290
+                <Size>0x0</Size>
291
+              </OCR_RVCT6>
292
+              <OCR_RVCT7>
293
+                <Type>0</Type>
294
+                <StartAddress>0x0</StartAddress>
295
+                <Size>0x0</Size>
296
+              </OCR_RVCT7>
297
+              <OCR_RVCT8>
298
+                <Type>0</Type>
299
+                <StartAddress>0x0</StartAddress>
300
+                <Size>0x0</Size>
301
+              </OCR_RVCT8>
302
+              <OCR_RVCT9>
303
+                <Type>0</Type>
304
+                <StartAddress>0x20000000</StartAddress>
305
+                <Size>0x4000</Size>
306
+              </OCR_RVCT9>
307
+              <OCR_RVCT10>
308
+                <Type>0</Type>
309
+                <StartAddress>0x0</StartAddress>
310
+                <Size>0x0</Size>
311
+              </OCR_RVCT10>
312
+            </OnChipMemories>
313
+            <RvctStartVector></RvctStartVector>
314
+          </ArmAdsMisc>
315
+          <Cads>
316
+            <interw>1</interw>
317
+            <Optim>3</Optim>
318
+            <oTime>0</oTime>
319
+            <SplitLS>0</SplitLS>
320
+            <OneElfS>1</OneElfS>
321
+            <Strict>0</Strict>
322
+            <EnumInt>0</EnumInt>
323
+            <PlainCh>0</PlainCh>
324
+            <Ropi>0</Ropi>
325
+            <Rwpi>0</Rwpi>
326
+            <wLevel>3</wLevel>
327
+            <uThumb>0</uThumb>
328
+            <uSurpInc>0</uSurpInc>
329
+            <uC99>1</uC99>
330
+            <uGnu>0</uGnu>
331
+            <useXO>0</useXO>
332
+            <v6Lang>3</v6Lang>
333
+            <v6LangP>5</v6LangP>
334
+            <vShortEn>1</vShortEn>
335
+            <vShortWch>1</vShortWch>
336
+            <v6Lto>0</v6Lto>
337
+            <v6WtE>0</v6WtE>
338
+            <v6Rtti>0</v6Rtti>
339
+            <VariousControls>
340
+              <MiscControls></MiscControls>
341
+              <Define></Define>
342
+              <Undefine></Undefine>
343
+              <IncludePath></IncludePath>
344
+            </VariousControls>
345
+          </Cads>
346
+          <Aads>
347
+            <interw>1</interw>
348
+            <Ropi>0</Ropi>
349
+            <Rwpi>0</Rwpi>
350
+            <thumb>0</thumb>
351
+            <SplitLS>0</SplitLS>
352
+            <SwStkChk>0</SwStkChk>
353
+            <NoWarn>0</NoWarn>
354
+            <uSurpInc>0</uSurpInc>
355
+            <useXO>0</useXO>
356
+            <ClangAsOpt>4</ClangAsOpt>
357
+            <VariousControls>
358
+              <MiscControls></MiscControls>
359
+              <Define></Define>
360
+              <Undefine></Undefine>
361
+              <IncludePath></IncludePath>
362
+            </VariousControls>
363
+          </Aads>
364
+          <LDads>
365
+            <umfTarg>1</umfTarg>
366
+            <Ropi>0</Ropi>
367
+            <Rwpi>0</Rwpi>
368
+            <noStLib>0</noStLib>
369
+            <RepFail>1</RepFail>
370
+            <useFile>0</useFile>
371
+            <TextAddressRange>0x08000000</TextAddressRange>
372
+            <DataAddressRange>0x20000000</DataAddressRange>
373
+            <pXoBase></pXoBase>
374
+            <ScatterFile></ScatterFile>
375
+            <IncludeLibs></IncludeLibs>
376
+            <IncludeLibsPath></IncludeLibsPath>
377
+            <Misc></Misc>
378
+            <LinkerInputFile></LinkerInputFile>
379
+            <DisabledWarnings></DisabledWarnings>
380
+          </LDads>
381
+        </TargetArmAds>
382
+      </TargetOption>
383
+      <Groups>
384
+        <Group>
385
+          <GroupName>source</GroupName>
386
+          <Files>
387
+            <File>
388
+              <FileName>main.c</FileName>
389
+              <FileType>1</FileType>
390
+              <FilePath>.\main.c</FilePath>
391
+            </File>
392
+            <File>
393
+              <FileName>led.h</FileName>
394
+              <FileType>5</FileType>
395
+              <FilePath>.\led.h</FilePath>
396
+            </File>
397
+            <File>
398
+              <FileName>led.c</FileName>
399
+              <FileType>1</FileType>
400
+              <FilePath>.\led.c</FilePath>
401
+            </File>
402
+            <File>
403
+              <FileName>rtc.c</FileName>
404
+              <FileType>1</FileType>
405
+              <FilePath>.\rtc.c</FilePath>
406
+            </File>
407
+            <File>
408
+              <FileName>keyboard.h</FileName>
409
+              <FileType>5</FileType>
410
+              <FilePath>.\keyboard.h</FilePath>
411
+            </File>
412
+            <File>
413
+              <FileName>rtc.h</FileName>
414
+              <FileType>5</FileType>
415
+              <FilePath>.\rtc.h</FilePath>
416
+            </File>
417
+            <File>
418
+              <FileName>keyboard.c</FileName>
419
+              <FileType>1</FileType>
420
+              <FilePath>.\keyboard.c</FilePath>
421
+            </File>
422
+            <File>
423
+              <FileName>speaker.h</FileName>
424
+              <FileType>5</FileType>
425
+              <FilePath>.\speaker.h</FilePath>
426
+            </File>
427
+            <File>
428
+              <FileName>speaker.c</FileName>
429
+              <FileType>1</FileType>
430
+              <FilePath>.\speaker.c</FilePath>
431
+            </File>
432
+            <File>
433
+              <FileName>lcd.h</FileName>
434
+              <FileType>5</FileType>
435
+              <FilePath>.\lcd.h</FilePath>
436
+            </File>
437
+            <File>
438
+              <FileName>lcd.c</FileName>
439
+              <FileType>1</FileType>
440
+              <FilePath>.\lcd.c</FilePath>
441
+            </File>
442
+            <File>
443
+              <FileName>flash.h</FileName>
444
+              <FileType>5</FileType>
445
+              <FilePath>.\flash.h</FilePath>
446
+            </File>
447
+            <File>
448
+              <FileName>flash.c</FileName>
449
+              <FileType>1</FileType>
450
+              <FilePath>.\flash.c</FilePath>
451
+            </File>
452
+            <File>
453
+              <FileName>io.h</FileName>
454
+              <FileType>5</FileType>
455
+              <FilePath>.\io.h</FilePath>
456
+            </File>
457
+            <File>
458
+              <FileName>io.c</FileName>
459
+              <FileType>1</FileType>
460
+              <FilePath>.\io.c</FilePath>
461
+            </File>
462
+            <File>
463
+              <FileName>font.h</FileName>
464
+              <FileType>5</FileType>
465
+              <FilePath>.\font.h</FilePath>
466
+            </File>
467
+            <File>
468
+              <FileName>usb.c</FileName>
469
+              <FileType>1</FileType>
470
+              <FilePath>.\usb.c</FilePath>
471
+            </File>
472
+            <File>
473
+              <FileName>usb.h</FileName>
474
+              <FileType>5</FileType>
475
+              <FilePath>.\usb.h</FilePath>
476
+            </File>
477
+            <File>
478
+              <FileName>rs232.c</FileName>
479
+              <FileType>1</FileType>
480
+              <FilePath>.\rs232.c</FilePath>
481
+            </File>
482
+            <File>
483
+              <FileName>rs232.h</FileName>
484
+              <FileType>5</FileType>
485
+              <FilePath>.\rs232.h</FilePath>
486
+            </File>
487
+            <File>
488
+              <FileName>fs.c</FileName>
489
+              <FileType>1</FileType>
490
+              <FilePath>.\fs.c</FilePath>
491
+            </File>
492
+            <File>
493
+              <FileName>fs.h</FileName>
494
+              <FileType>5</FileType>
495
+              <FilePath>.\fs.h</FilePath>
496
+            </File>
497
+          </Files>
498
+        </Group>
499
+        <Group>
500
+          <GroupName>usbd</GroupName>
501
+          <Files>
502
+            <File>
503
+              <FileName>usbd_core.c</FileName>
504
+              <FileType>1</FileType>
505
+              <FilePath>.\USBD\usbd_core.c</FilePath>
506
+            </File>
507
+            <File>
508
+              <FileName>usbd_core.h</FileName>
509
+              <FileType>5</FileType>
510
+              <FilePath>.\USBD\usbd_core.h</FilePath>
511
+            </File>
512
+            <File>
513
+              <FileName>usbd_ctlreq.c</FileName>
514
+              <FileType>1</FileType>
515
+              <FilePath>.\USBD\usbd_ctlreq.c</FilePath>
516
+            </File>
517
+            <File>
518
+              <FileName>usbd_ctlreq.h</FileName>
519
+              <FileType>5</FileType>
520
+              <FilePath>.\USBD\usbd_ctlreq.h</FilePath>
521
+            </File>
522
+            <File>
523
+              <FileName>usbd_def.h</FileName>
524
+              <FileType>5</FileType>
525
+              <FilePath>.\USBD\usbd_def.h</FilePath>
526
+            </File>
527
+            <File>
528
+              <FileName>usbd_ioreq.c</FileName>
529
+              <FileType>1</FileType>
530
+              <FilePath>.\USBD\usbd_ioreq.c</FilePath>
531
+            </File>
532
+            <File>
533
+              <FileName>usbd_ioreq.h</FileName>
534
+              <FileType>5</FileType>
535
+              <FilePath>.\USBD\usbd_ioreq.h</FilePath>
536
+            </File>
537
+            <File>
538
+              <FileName>usbd_msc.c</FileName>
539
+              <FileType>1</FileType>
540
+              <FilePath>.\USBD\usbd_msc.c</FilePath>
541
+            </File>
542
+            <File>
543
+              <FileName>usbd_msc.h</FileName>
544
+              <FileType>5</FileType>
545
+              <FilePath>.\USBD\usbd_msc.h</FilePath>
546
+            </File>
547
+            <File>
548
+              <FileName>usbd_msc_bot.c</FileName>
549
+              <FileType>1</FileType>
550
+              <FilePath>.\USBD\usbd_msc_bot.c</FilePath>
551
+            </File>
552
+            <File>
553
+              <FileName>usbd_msc_bot.h</FileName>
554
+              <FileType>5</FileType>
555
+              <FilePath>.\USBD\usbd_msc_bot.h</FilePath>
556
+            </File>
557
+            <File>
558
+              <FileName>usbd_msc_data.c</FileName>
559
+              <FileType>1</FileType>
560
+              <FilePath>.\USBD\usbd_msc_data.c</FilePath>
561
+            </File>
562
+            <File>
563
+              <FileName>usbd_msc_data.h</FileName>
564
+              <FileType>5</FileType>
565
+              <FilePath>.\USBD\usbd_msc_data.h</FilePath>
566
+            </File>
567
+            <File>
568
+              <FileName>usbd_msc_scsi.c</FileName>
569
+              <FileType>1</FileType>
570
+              <FilePath>.\USBD\usbd_msc_scsi.c</FilePath>
571
+            </File>
572
+            <File>
573
+              <FileName>usbd_msc_scsi.h</FileName>
574
+              <FileType>5</FileType>
575
+              <FilePath>.\USBD\usbd_msc_scsi.h</FilePath>
576
+            </File>
577
+            <File>
578
+              <FileName>usbd_storage_if.c</FileName>
579
+              <FileType>1</FileType>
580
+              <FilePath>.\USBD\usbd_storage_if.c</FilePath>
581
+            </File>
582
+            <File>
583
+              <FileName>usbd_storage_if.h</FileName>
584
+              <FileType>5</FileType>
585
+              <FilePath>.\USBD\usbd_storage_if.h</FilePath>
586
+            </File>
587
+            <File>
588
+              <FileName>usbd_conf.c</FileName>
589
+              <FileType>1</FileType>
590
+              <FilePath>.\USBD\usbd_conf.c</FilePath>
591
+            </File>
592
+            <File>
593
+              <FileName>usbd_conf.h</FileName>
594
+              <FileType>5</FileType>
595
+              <FilePath>.\USBD\usbd_conf.h</FilePath>
596
+            </File>
597
+            <File>
598
+              <FileName>usbd_desc.c</FileName>
599
+              <FileType>1</FileType>
600
+              <FilePath>.\USBD\usbd_desc.c</FilePath>
601
+            </File>
602
+            <File>
603
+              <FileName>usbd_desc.h</FileName>
604
+              <FileType>5</FileType>
605
+              <FilePath>.\USBD\usbd_desc.h</FilePath>
606
+            </File>
607
+          </Files>
608
+        </Group>
609
+        <Group>
610
+          <GroupName>fatfs</GroupName>
611
+          <Files>
612
+            <File>
613
+              <FileName>diskio.h</FileName>
614
+              <FileType>5</FileType>
615
+              <FilePath>.\FatFs\diskio.h</FilePath>
616
+            </File>
617
+            <File>
618
+              <FileName>ff.h</FileName>
619
+              <FileType>5</FileType>
620
+              <FilePath>.\FatFs\ff.h</FilePath>
621
+            </File>
622
+            <File>
623
+              <FileName>ff_gen_drv.h</FileName>
624
+              <FileType>5</FileType>
625
+              <FilePath>.\FatFs\ff_gen_drv.h</FilePath>
626
+            </File>
627
+            <File>
628
+              <FileName>integer.h</FileName>
629
+              <FileType>5</FileType>
630
+              <FilePath>.\FatFs\integer.h</FilePath>
631
+            </File>
632
+            <File>
633
+              <FileName>diskio.c</FileName>
634
+              <FileType>1</FileType>
635
+              <FilePath>.\FatFs\diskio.c</FilePath>
636
+            </File>
637
+            <File>
638
+              <FileName>ff.c</FileName>
639
+              <FileType>1</FileType>
640
+              <FilePath>.\FatFs\ff.c</FilePath>
641
+            </File>
642
+            <File>
643
+              <FileName>ff_gen_drv.c</FileName>
644
+              <FileType>1</FileType>
645
+              <FilePath>.\FatFs\ff_gen_drv.c</FilePath>
646
+            </File>
647
+            <File>
648
+              <FileName>ffconf.h</FileName>
649
+              <FileType>5</FileType>
650
+              <FilePath>.\FatFs\ffconf.h</FilePath>
651
+            </File>
652
+          </Files>
653
+        </Group>
654
+        <Group>
655
+          <GroupName>::CMSIS</GroupName>
656
+        </Group>
657
+        <Group>
658
+          <GroupName>::CMSIS Driver</GroupName>
659
+        </Group>
660
+        <Group>
661
+          <GroupName>::Device</GroupName>
662
+        </Group>
663
+      </Groups>
664
+    </Target>
665
+  </Targets>
666
+
667
+  <RTE>
668
+    <apis>
669
+      <api Capiversion="2.2.0" Cclass="CMSIS Driver" Cgroup="USB Device" exclusive="0">
670
+        <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.5.1"/>
671
+        <targetInfos>
672
+          <targetInfo name="IO"/>
673
+        </targetInfos>
674
+      </api>
675
+    </apis>
676
+    <components>
677
+      <component Capiversion="2.3.0" Cclass="CMSIS Driver" Cgroup="USB Device" Csub="Custom" Cvendor="ARM" Cversion="1.0.0" custom="1">
678
+        <package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0"/>
679
+        <targetInfos>
680
+          <targetInfo name="IO"/>
681
+        </targetInfos>
682
+      </component>
683
+      <component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="5.6.0" condition="ARMv6_7_8-M Device">
684
+        <package name="CMSIS" schemaVersion="1.7.7" url="http://www.keil.com/pack/" vendor="ARM" version="5.9.0"/>
685
+        <targetInfos>
686
+          <targetInfo name="IO"/>
687
+        </targetInfos>
688
+      </component>
689
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="ADC" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL DMA">
690
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
691
+        <targetInfos>
692
+          <targetInfo name="IO"/>
693
+        </targetInfos>
694
+      </component>
695
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="COMMON" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 STARTUP CORTEX GPIO RCC FLASH">
696
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
697
+        <targetInfos>
698
+          <targetInfo name="IO"/>
699
+        </targetInfos>
700
+      </component>
701
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="CORTEX" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL">
702
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
703
+        <targetInfos>
704
+          <targetInfo name="IO"/>
705
+        </targetInfos>
706
+      </component>
707
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="DAC" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL DMA">
708
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
709
+        <targetInfos>
710
+          <targetInfo name="IO"/>
711
+        </targetInfos>
712
+      </component>
713
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="DMA" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL">
714
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
715
+        <targetInfos>
716
+          <targetInfo name="IO"/>
717
+        </targetInfos>
718
+      </component>
719
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="FLASH" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL">
720
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
721
+        <targetInfos>
722
+          <targetInfo name="IO"/>
723
+        </targetInfos>
724
+      </component>
725
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL">
726
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
727
+        <targetInfos>
728
+          <targetInfo name="IO"/>
729
+        </targetInfos>
730
+      </component>
731
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="PCD" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL">
732
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
733
+        <targetInfos>
734
+          <targetInfo name="IO"/>
735
+        </targetInfos>
736
+      </component>
737
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL">
738
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
739
+        <targetInfos>
740
+          <targetInfo name="IO"/>
741
+        </targetInfos>
742
+      </component>
743
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="RTC" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL">
744
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
745
+        <targetInfos>
746
+          <targetInfo name="IO"/>
747
+        </targetInfos>
748
+      </component>
749
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="SPI" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL DMA">
750
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
751
+        <targetInfos>
752
+          <targetInfo name="IO"/>
753
+        </targetInfos>
754
+      </component>
755
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="TIM" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL DMA">
756
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
757
+        <targetInfos>
758
+          <targetInfo name="IO"/>
759
+        </targetInfos>
760
+      </component>
761
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="UART" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL DMA">
762
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
763
+        <targetInfos>
764
+          <targetInfo name="IO"/>
765
+        </targetInfos>
766
+      </component>
767
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="USART" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 HAL DMA">
768
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
769
+        <targetInfos>
770
+          <targetInfo name="IO"/>
771
+        </targetInfos>
772
+      </component>
773
+      <component Cbundle="Standalone" Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F0 CMSIS">
774
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
775
+        <targetInfos>
776
+          <targetInfo name="IO"/>
777
+        </targetInfos>
778
+      </component>
779
+    </components>
780
+    <files>
781
+      <file attr="config" category="source" name="CMSIS\RTOS2\RTX\Config\RTX_Config.c" version="5.1.0">
782
+        <instance index="0" removed="1">RTE\CMSIS\RTX_Config.c</instance>
783
+        <component Capiversion="2.1.3" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.5.0" condition="RTOS2 RTX5 Lib"/>
784
+        <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.5.1"/>
785
+        <targetInfos/>
786
+      </file>
787
+      <file attr="config" category="header" name="CMSIS\RTOS2\RTX\Config\RTX_Config.h" version="5.5.0">
788
+        <instance index="0" removed="1">RTE\CMSIS\RTX_Config.h</instance>
789
+        <component Capiversion="2.1.3" Cclass="CMSIS" Cgroup="RTOS2" Csub="Keil RTX5" Cvariant="Library" Cvendor="ARM" Cversion="5.5.0" condition="RTOS2 RTX5 Lib"/>
790
+        <package name="CMSIS" schemaVersion="1.3" url="http://www.keil.com/pack/" vendor="ARM" version="5.5.1"/>
791
+        <targetInfos/>
792
+      </file>
793
+      <file attr="config" category="source" condition="STM32F072xB ARMCC" name="Drivers\CMSIS\Device\ST\STM32F0xx\Source\Templates\arm\startup_stm32f072xb.s" version="2.3.3">
794
+        <instance index="0">RTE\Device\STM32F072RBTx\startup_stm32f072xb.s</instance>
795
+        <component Cbundle="Standalone" Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F0 CMSIS"/>
796
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
797
+        <targetInfos>
798
+          <targetInfo name="IO"/>
799
+        </targetInfos>
800
+      </file>
801
+      <file attr="config" category="header" name="MDK\Templates\Inc\stm32f0xx_hal_conf.h" version="1.9.0">
802
+        <instance index="0">RTE\Device\STM32F072RBTx\stm32f0xx_hal_conf.h</instance>
803
+        <component Cbundle="Standalone" Cclass="Device" Cgroup="STM32Cube HAL" Csub="COMMON" Cvendor="Keil" Cversion="1.11.3" condition="STM32F0 STARTUP CORTEX GPIO RCC FLASH"/>
804
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
805
+        <targetInfos>
806
+          <targetInfo name="IO"/>
807
+        </targetInfos>
808
+      </file>
809
+      <file attr="config" category="source" name="Drivers\CMSIS\Device\ST\STM32F0xx\Source\Templates\system_stm32f0xx.c" version="2.3.3">
810
+        <instance index="0">RTE\Device\STM32F072RBTx\system_stm32f0xx.c</instance>
811
+        <component Cbundle="Standalone" Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="1.0.0" condition="STM32F0 CMSIS"/>
812
+        <package name="STM32F0xx_DFP" schemaVersion="1.7.2" url="https://www.keil.com/pack/" vendor="Keil" version="2.1.1"/>
813
+        <targetInfos>
814
+          <targetInfo name="IO"/>
815
+        </targetInfos>
816
+      </file>
817
+      <file attr="config" category="source" name="USB\Config\USBD_Config.c" version="5.2.0">
818
+        <instance index="0" removed="1">RTE\USB\USBD_Config_0.c</instance>
819
+        <component Cbundle="MDK-Pro" Cclass="USB" Cgroup="Device" Cvendor="Keil" Cversion="6.13.0" condition="USB Core and Device Driver" maxInstances="4"/>
820
+        <package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.8.0"/>
821
+        <targetInfos/>
822
+      </file>
823
+      <file attr="config" category="source" name="USB\Config\USBD_Config_MSC.h" version="5.1.1">
824
+        <instance index="0" removed="1">RTE\USB\USBD_Config_MSC_0.h</instance>
825
+        <component Cbundle="MDK-Pro" Cclass="USB" Cgroup="Device" Csub="MSC" Cvendor="Keil" Cversion="6.13.0" condition="USB Device" maxInstances="4"/>
826
+        <package name="MDK-Middleware" schemaVersion="1.4" url="http://www.keil.com/pack/" vendor="Keil" version="7.8.0"/>
827
+        <targetInfos/>
828
+      </file>
829
+    </files>
830
+  </RTE>
831
+
832
+</Project>