Просмотр исходного кода

fix error in dcd_lpc175x_6x (still has problem with control transfer)
fix build error for host
start to add keil support for device
opt out pca9532.c when ea4357 is not the selected board

hathach 12 лет назад
Родитель
Сommit
8bd6440547

+ 5 - 0
demos/bsp/boards/embedded_artists/oem_base_board/pca9532.c

@@ -24,6 +24,9 @@
 /******************************************************************************
  * Includes
  *****************************************************************************/
+#include "../../board.h"
+
+#if BOARD == BOARD_EA4357
 
 #include "lpc43xx_i2c.h"
 #include "lpc43xx_cgu.h"
@@ -342,3 +345,5 @@ void pca9532_setBlink1Leds(uint16_t ledMask)
     blink1Shadow |= ledMask;
     setLeds();
 }
+
+#endif

+ 58 - 34
demos/device/device_os_none/.cproject

@@ -467,49 +467,73 @@
 	<storageModule moduleId="com.crt.config">
 		<projectStorage>&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#13;
 &lt;TargetConfig&gt;&#13;
-&lt;Properties property_0="" property_3="NXP" property_4="LPC1347" property_count="5" version="1"/&gt;&#13;
-&lt;infoList vendor="NXP"&gt;&lt;info chip="LPC1347" match_id="0x08020543" name="LPC1347" stub="crt_emu_lpc11_13_nxp"&gt;&lt;chip&gt;&lt;name&gt;LPC1347&lt;/name&gt;&#13;
-&lt;family&gt;LPC13xx (12bit ADC)&lt;/family&gt;&#13;
+&lt;Properties property_0="" property_3="NXP" property_4="LPC1769" property_count="5" version="1"/&gt;&#13;
+&lt;infoList vendor="NXP"&gt;&lt;info chip="LPC1769" match_id="0x26113F37" name="LPC1769" package="lpc17_lqfp100.xml"&gt;&lt;chip&gt;&lt;name&gt;LPC1769&lt;/name&gt;&#13;
+&lt;family&gt;LPC17xx&lt;/family&gt;&#13;
 &lt;vendor&gt;NXP (formerly Philips)&lt;/vendor&gt;&#13;
 &lt;reset board="None" core="Real" sys="Real"/&gt;&#13;
-&lt;clock changeable="TRUE" freq="12MHz" is_accurate="TRUE"/&gt;&#13;
+&lt;clock changeable="TRUE" freq="20MHz" is_accurate="TRUE"/&gt;&#13;
 &lt;memory can_program="true" id="Flash" is_ro="true" type="Flash"/&gt;&#13;
 &lt;memory id="RAM" type="RAM"/&gt;&#13;
 &lt;memory id="Periph" is_volatile="true" type="Peripheral"/&gt;&#13;
-&lt;memoryInstance derived_from="Flash" id="MFlash64" location="0x0" size="0x10000"/&gt;&#13;
-&lt;memoryInstance derived_from="RAM" id="RamLoc8" location="0x10000000" size="0x2000"/&gt;&#13;
-&lt;memoryInstance derived_from="RAM" id="RamUsb2" location="0x20004000" size="0x800"/&gt;&#13;
-&lt;memoryInstance derived_from="RAM" id="RamPeriph2" location="0x20000000" size="0x800"/&gt;&#13;
-&lt;prog_flash blocksz="0x1000" location="0x0" maxprgbuff="0x400" progwithcode="TRUE" size="0x10000"/&gt;&#13;
-&lt;peripheralInstance derived_from="V7M_MPU" id="MPU" location="0xe000ed90"/&gt;&#13;
-&lt;peripheralInstance derived_from="V7M_NVIC" id="NVIC" location="0xe000e000"/&gt;&#13;
-&lt;peripheralInstance derived_from="V7M_DCR" id="DCR" location="0xe000edf0"/&gt;&#13;
-&lt;peripheralInstance derived_from="V7M_ITM" id="ITM" location="0xe0000000"/&gt;&#13;
-&lt;peripheralInstance derived_from="I2C" id="I2C" location="0x40000000"/&gt;&#13;
-&lt;peripheralInstance derived_from="WWDT" id="WWDT" location="0x40004000"/&gt;&#13;
-&lt;peripheralInstance derived_from="USART" id="USART" location="0x40008000"/&gt;&#13;
-&lt;peripheralInstance derived_from="CT16B0" id="CT16B0" location="0x4000c000"/&gt;&#13;
-&lt;peripheralInstance derived_from="CT16B1" id="CT16B1" location="0x40010000"/&gt;&#13;
-&lt;peripheralInstance derived_from="CT32B0" id="CT32B0" location="0x40014000"/&gt;&#13;
-&lt;peripheralInstance derived_from="CT32B1" id="CT32B1" location="0x40018000"/&gt;&#13;
-&lt;peripheralInstance derived_from="ADC" id="ADC" location="0x4001c000"/&gt;&#13;
-&lt;peripheralInstance derived_from="PMU" id="PMU" location="0x40038000"/&gt;&#13;
-&lt;peripheralInstance derived_from="FLASHCTRL" id="FLASHCTRL" location="0x4003c000"/&gt;&#13;
-&lt;peripheralInstance derived_from="SSP0" id="SSP0" location="0x40040000"/&gt;&#13;
-&lt;peripheralInstance derived_from="IOCON" id="IOCON" location="0x40044000"/&gt;&#13;
-&lt;peripheralInstance derived_from="SYSCON" id="SYSCON" location="0x40048000"/&gt;&#13;
-&lt;peripheralInstance derived_from="GPIO-PIN-INT" id="GPIO-PIN-INT" location="0x4004c000"/&gt;&#13;
-&lt;peripheralInstance derived_from="SSP1" id="SSP1" location="0x40058000"/&gt;&#13;
-&lt;peripheralInstance derived_from="GPIO-GROUP-INT0" id="GPIO-GROUP-INT0" location="0x4005c000"/&gt;&#13;
-&lt;peripheralInstance derived_from="GPIO-GROUP-INT1" id="GPIO-GROUP-INT1" location="0x40060000"/&gt;&#13;
-&lt;peripheralInstance derived_from="RITIMER" id="RITIMER" location="0x40064000"/&gt;&#13;
-&lt;peripheralInstance derived_from="USB" id="USB" location="0x40080000"/&gt;&#13;
-&lt;peripheralInstance derived_from="GPIO-PORT" id="GPIO-PORT" location="0x50000000"/&gt;&#13;
+&lt;memoryInstance derived_from="Flash" id="MFlash512" location="0x0" size="0x80000"/&gt;&#13;
+&lt;memoryInstance derived_from="RAM" id="RamLoc32" location="0x10000000" size="0x8000"/&gt;&#13;
+&lt;memoryInstance derived_from="RAM" id="RamAHB32" location="0x2007c000" size="0x8000"/&gt;&#13;
+&lt;prog_flash blocksz="0x1000" location="0" maxprgbuff="0x1000" progwithcode="TRUE" size="0x10000"/&gt;&#13;
+&lt;prog_flash blocksz="0x8000" location="0x10000" maxprgbuff="0x1000" progwithcode="TRUE" size="0x70000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_NVIC" id="NVIC" location="0xE000E000"/&gt;&#13;
+&lt;peripheralInstance derived_from="TIMER" enable="SYSCTL.PCONP.PCTIM0&amp;amp;0x1" id="TIMER0" location="0x40004000"/&gt;&#13;
+&lt;peripheralInstance derived_from="TIMER" enable="SYSCTL.PCONP.PCTIM1&amp;amp;0x1" id="TIMER1" location="0x40008000"/&gt;&#13;
+&lt;peripheralInstance derived_from="TIMER" enable="SYSCTL.PCONP.PCTIM2&amp;amp;0x1" id="TIMER2" location="0x40090000"/&gt;&#13;
+&lt;peripheralInstance derived_from="TIMER" enable="SYSCTL.PCONP.PCTIM3&amp;amp;0x1" id="TIMER3" location="0x40094000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_RIT" enable="SYSCTL.PCONP.PCRIT&amp;amp;0x1" id="RIT" location="0x400B0000"/&gt;&#13;
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO0" location="0x2009C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO1" location="0x2009C020"/&gt;&#13;
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO2" location="0x2009C040"/&gt;&#13;
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO3" location="0x2009C060"/&gt;&#13;
+&lt;peripheralInstance derived_from="FGPIO" enable="SYSCTL.PCONP.PCGPIO&amp;amp;0x1" id="GPIO4" location="0x2009C080"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_I2S" enable="SYSCTL.PCONP&amp;amp;0x08000000" id="I2S" location="0x400A8000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_SYSCTL" id="SYSCTL" location="0x400FC000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_DAC" enable="PCB.PINSEL1.P0_26&amp;amp;0x2=2" id="DAC" location="0x4008C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17xx_UART" enable="SYSCTL.PCONP.PCUART0&amp;amp;0x1" id="UART0" location="0x4000C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17xx_UART_MODEM" enable="SYSCTL.PCONP.PCUART1&amp;amp;0x1" id="UART1" location="0x40010000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17xx_UART" enable="SYSCTL.PCONP.PCUART2&amp;amp;0x1" id="UART2" location="0x40098000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17xx_UART" enable="SYSCTL.PCONP.PCUART3&amp;amp;0x1" id="UART3" location="0x4009C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="SPI" enable="SYSCTL.PCONP.PCSPI&amp;amp;0x1" id="SPI" location="0x40020000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_SSP" enable="SYSCTL.PCONP.PCSSP0&amp;amp;0x1" id="SSP0" location="0x40088000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_SSP" enable="SYSCTL.PCONP.PCSSP1&amp;amp;0x1" id="SSP1" location="0x40030000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_ADC" enable="SYSCTL.PCONP.PCAD&amp;amp;0x1" id="ADC" location="0x40034000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_USBINTST" enable="USBCLKCTL.USBClkCtrl&amp;amp;0x12" id="USBINTSTAT" location="0x400fc1c0"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_USB_CLK_CTL" id="USBCLKCTL" location="0x5000cff4"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_USBDEV" enable="USBCLKCTL.USBClkSt&amp;amp;0x12=0x12" id="USBDEV" location="0x5000C200"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_PWM" enable="SYSCTL.PCONP.PWM1&amp;amp;0x1" id="PWM" location="0x40018000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_I2C" enable="SYSCTL.PCONP.PCI2C0&amp;amp;0x1" id="I2C0" location="0x4001C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_I2C" enable="SYSCTL.PCONP.PCI2C1&amp;amp;0x1" id="I2C1" location="0x4005C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_I2C" enable="SYSCTL.PCONP.PCI2C2&amp;amp;0x1" id="I2C2" location="0x400A0000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_DMA" enable="SYSCTL.PCONP.PCGPDMA&amp;amp;0x1" id="DMA" location="0x50004000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_ENET" enable="SYSCTL.PCONP.PCENET&amp;amp;0x1" id="ENET" location="0x50000000"/&gt;&#13;
+&lt;peripheralInstance derived_from="CM3_DCR" id="DCR" location="0xE000EDF0"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_PCB" id="PCB" location="0x4002c000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_QEI" enable="SYSCTL.PCONP.PCQEI&amp;amp;0x1" id="QEI" location="0x400bc000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_USBHOST" enable="USBCLKCTL.USBClkSt&amp;amp;0x11=0x11" id="USBHOST" location="0x5000C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_USBOTG" enable="USBCLKCTL.USBClkSt&amp;amp;0x1c=0x1c" id="USBOTG" location="0x5000C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_RTC" enable="SYSCTL.PCONP.PCRTC&amp;amp;0x1" id="RTC" location="0x40024000"/&gt;&#13;
+&lt;peripheralInstance derived_from="MPU" id="MPU" location="0xE000ED90"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC1x_WDT" id="WDT" location="0x40000000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_FLASHCFG" id="FLASHACCEL" location="0x400FC000"/&gt;&#13;
+&lt;peripheralInstance derived_from="GPIO_INT" id="GPIOINTMAP" location="0x40028080"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_CANAFR" enable="SYSCTL.PCONP.PCCAN1&amp;amp;0x1|SYSCTL.PCONP.PCCAN2&amp;amp;0x1" id="CANAFR" location="0x4003C000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_CANCEN" enable="SYSCTL.PCONP.PCCAN1&amp;amp;0x1|SYSCTL.PCONP.PCCAN2&amp;amp;0x1" id="CANCEN" location="0x40040000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_CANWAKESLEEP" id="CANWAKESLEEP" location="0x400FC110"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_CANCON" enable="SYSCTL.PCONP.PCCAN1&amp;amp;0x1" id="CANCON1" location="0x40044000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_CANCON" enable="SYSCTL.PCONP.PCCAN2&amp;amp;0x1" id="CANCON2" location="0x40048000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_MCPWM" enable="SYSCTL.PCONP.PCMCPWM&amp;amp;0x1" id="MCPWM" location="0x400B8000"/&gt;&#13;
+&lt;peripheralInstance derived_from="LPC17_FMC" id="FMC" location="0x40084000"/&gt;&#13;
 &lt;/chip&gt;&#13;
 &lt;processor&gt;&lt;name gcc_name="cortex-m3"&gt;Cortex-M3&lt;/name&gt;&#13;
 &lt;family&gt;Cortex-M&lt;/family&gt;&#13;
 &lt;/processor&gt;&#13;
-&lt;link href="nxp_lpc13Uxx_peripheral.xme" show="embed" type="simple"/&gt;&#13;
+&lt;link href="nxp_lpcxxxx_peripheral.xme" show="embed" type="simple"/&gt;&#13;
 &lt;/info&gt;&#13;
 &lt;/infoList&gt;&#13;
 &lt;/TargetConfig&gt;</projectStorage>

+ 1953 - 0
demos/device/device_os_none/device_os_none.uvproj

@@ -0,0 +1,1953 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="project_proj.xsd">
+
+  <SchemaVersion>1.1</SchemaVersion>
+
+  <Header>### uVision Project, (C) Keil Software</Header>
+
+  <Targets>
+    <Target>
+      <TargetName>Board EA4357</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>LPC4357</Device>
+          <Vendor>NXP (founded by Philips)</Vendor>
+          <Cpu>IRAM(0x10000000-0x10007FFF) IRAM2(0x20000000-0x2000FFFF) IROM(0x1A000000-0x1A07FFFF) IROM2(0x1B000000-0x1B07FFFF) CLOCK(12000000) CPUTYPE("Cortex-M4") FPU2</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile>"STARTUP\NXP\LPC43xx\startup_LPC43xx.s" ("NXP LPC43xx Startup Code")</StartupFile>
+          <FlashDriverDll>UL2CM3(-O975 -S0 -C0 -FO7 -FD10000000 -FC800 -FN2 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FF1LPC18xx43xx_512_BB -FS11B000000 -FL180000)</FlashDriverDll>
+          <DeviceId>6414</DeviceId>
+          <RegisterFile>LPC43xx.H</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile>SFD\NXP\LPC43xx\LPC43xx.SFR</SFDFile>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath>NXP\LPC43xx\</RegisterFilePath>
+          <DBRegisterFilePath>NXP\LPC43xx\</DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\UV4Build\</OutputDirectory>
+          <OutputName>device_os_none</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>0</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\UV4Build\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>$K\ARM\BIN\ELFDWT.EXE !L BASEADDRESS(0x1A000000)</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments>-MPU</SimDllArguments>
+          <SimDlgDll>DCM.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments>-MPU</TargetDllArguments>
+          <TargetDlgDll>TCM.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+          <Simulator>
+            <UseSimulator>0</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+          </Simulator>
+          <Target>
+            <UseTarget>1</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>0</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>0</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <RestoreTracepoints>1</RestoreTracepoints>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>7</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>Segger\JL2CM3.dll</Driver>
+          </TargetDlls>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4099</DriverSelection>
+          </Flash1>
+          <Flash2>Segger\JL2CM3.dll</Flash2>
+          <Flash3>"" ()</Flash3>
+          <Flash4></Flash4>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M4"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>2</RvdsVP>
+            <hadIRAM2>1</hadIRAM2>
+            <hadIROM2>1</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>1</useUlib>
+            <EndSel>0</EndSel>
+            <uLtcg>0</uLtcg>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>0</Im1Chk>
+            <Im2Chk>1</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x10000000</StartAddress>
+                <Size>0x8000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x1a000000</StartAddress>
+                <Size>0x80000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x1a000000</StartAddress>
+                <Size>0x80000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x1b000000</StartAddress>
+                <Size>0x80000</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x10000000</StartAddress>
+                <Size>0x8000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x10000</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>1</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>0</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>0</wLevel>
+            <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
+            <VariousControls>
+              <MiscControls>--gnu --c99 --diag_suppress=66</MiscControls>
+              <Define>CORE_M4 MCU=MCU_LPC43XX BOARD=BOARD_EA4357 TUSB_CFG_OS=TUSB_OS_NONE</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\fatfs</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>NO_CRP</Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>1</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x1A000000</TextAddressRange>
+            <DataAddressRange>0x10000000</DataAddressRange>
+            <ScatterFile></ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>app</GroupName>
+          <Files>
+            <File>
+              <FileName>cdcd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\cdcd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>keyboardd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\keyboardd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\main.c</FilePath>
+            </File>
+            <File>
+              <FileName>moused_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\moused_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app_ramdisk.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app_ramdisk.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app_romdisk.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app_romdisk.c</FilePath>
+            </File>
+            <File>
+              <FileName>tusb_descriptors.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\tusb_descriptors.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>tinyusb</GroupName>
+          <Files>
+            <File>
+              <FileName>tusb.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\tusb.c</FilePath>
+            </File>
+            <File>
+              <FileName>osal_none.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\osal\osal_none.c</FilePath>
+            </File>
+            <File>
+              <FileName>hcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\hcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>hub.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\hub.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbh.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\usbh.c</FilePath>
+            </File>
+            <File>
+              <FileName>ehci.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\ehci\ehci.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc11uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc11uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc13uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc13uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc43xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc43xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc175x_6x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc175x_6x.c</FilePath>
+            </File>
+            <File>
+              <FileName>errors.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\common\errors.c</FilePath>
+            </File>
+            <File>
+              <FileName>fifo.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\common\fifo.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_rndis_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_rndis_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>hid_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\hid_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>msc_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\msc_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc_11uxx_13uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc_11uxx_13uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc43xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc43xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc175x_6x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc175x_6x.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\usbd.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_device.c</FilePath>
+            </File>
+            <File>
+              <FileName>hid_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\hid_device.c</FilePath>
+            </File>
+            <File>
+              <FileName>msc_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\msc_device.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>boards</GroupName>
+          <Files>
+            <File>
+              <FileName>board.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\board.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_ea4357.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\embedded_artists\ea4357\board_ea4357.c</FilePath>
+            </File>
+            <File>
+              <FileName>printf_retarget.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\printf_retarget.c</FilePath>
+            </File>
+            <File>
+              <FileName>pca9532.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\embedded_artists\oem_base_board\pca9532.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_ngx4330.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\ngx\board_ngx4330.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpc4357usb.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\microbuilder\board_lpc4357usb.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_rf1ghznode.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\microbuilder\board_rf1ghznode.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpcxpresso1769.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1769.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpcxpresso1347.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1347.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_mcb4300.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\keil\board_mcb4300.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>bsp lpc13uxx</GroupName>
+          <Files>
+            <File>
+              <FileName>startup_LPC13Uxx.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\startup_keil\startup_LPC13Uxx.s</FilePath>
+            </File>
+            <File>
+              <FileName>system_LPC13Uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\CMSISv2p10_LPC13Uxx\src\system_LPC13Uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\LPC13Uxx_DriverLib\src\gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>uart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\LPC13Uxx_DriverLib\src\uart.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+    <Target>
+      <TargetName>Board LPC4357USB</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>LPC4357</Device>
+          <Vendor>NXP (founded by Philips)</Vendor>
+          <Cpu>IRAM(0x10000000-0x10007FFF) IRAM2(0x20000000-0x2000FFFF) IROM(0x1A000000-0x1A07FFFF) IROM2(0x1B000000-0x1B07FFFF) CLOCK(12000000) CPUTYPE("Cortex-M4") FPU2</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile>"STARTUP\NXP\LPC43xx\startup_LPC43xx.s" ("NXP LPC43xx Startup Code")</StartupFile>
+          <FlashDriverDll>UL2CM3(-O975 -S0 -C0 -FO7 -FD10000000 -FC800 -FN2 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FF1LPC18xx43xx_512_BB -FS11B000000 -FL180000)</FlashDriverDll>
+          <DeviceId>6414</DeviceId>
+          <RegisterFile>LPC43xx.H</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile>SFD\NXP\LPC43xx\LPC43xx.SFR</SFDFile>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath>NXP\LPC43xx\</RegisterFilePath>
+          <DBRegisterFilePath>NXP\LPC43xx\</DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\UV4Build\</OutputDirectory>
+          <OutputName>device_os_none</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>0</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\UV4Build\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>1</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name>$K\ARM\BIN\ELFDWT.EXE !L BASEADDRESS(0x1A000000)</UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments>-MPU</SimDllArguments>
+          <SimDlgDll>DCM.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments>-MPU</TargetDllArguments>
+          <TargetDlgDll>TCM.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+          <Simulator>
+            <UseSimulator>0</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+          </Simulator>
+          <Target>
+            <UseTarget>1</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>0</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>0</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <RestoreTracepoints>1</RestoreTracepoints>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>7</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>Segger\JL2CM3.dll</Driver>
+          </TargetDlls>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4099</DriverSelection>
+          </Flash1>
+          <Flash2>Segger\JL2CM3.dll</Flash2>
+          <Flash3>"" ()</Flash3>
+          <Flash4></Flash4>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M4"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>1</RvdsVP>
+            <hadIRAM2>1</hadIRAM2>
+            <hadIROM2>1</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>1</useUlib>
+            <EndSel>0</EndSel>
+            <uLtcg>0</uLtcg>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>0</Im1Chk>
+            <Im2Chk>1</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x10000000</StartAddress>
+                <Size>0x8000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x1a000000</StartAddress>
+                <Size>0x80000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x1a000000</StartAddress>
+                <Size>0x80000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x1b000000</StartAddress>
+                <Size>0x80000</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x10000000</StartAddress>
+                <Size>0x8000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x10000</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>1</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>0</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>0</wLevel>
+            <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
+            <VariousControls>
+              <MiscControls>--gnu --c99</MiscControls>
+              <Define>CORE_M4 MCU=MCU_LPC43XX BOARD=BOARD_LPC4357USB TUSB_CFG_OS=TUSB_OS_NONE</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\fatfs</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>NO_CRP</Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>1</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x1A000000</TextAddressRange>
+            <DataAddressRange>0x10000000</DataAddressRange>
+            <ScatterFile></ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>app</GroupName>
+          <Files>
+            <File>
+              <FileName>cdcd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\cdcd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>keyboardd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\keyboardd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\main.c</FilePath>
+            </File>
+            <File>
+              <FileName>moused_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\moused_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app_ramdisk.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app_ramdisk.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app_romdisk.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app_romdisk.c</FilePath>
+            </File>
+            <File>
+              <FileName>tusb_descriptors.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\tusb_descriptors.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>tinyusb</GroupName>
+          <Files>
+            <File>
+              <FileName>tusb.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\tusb.c</FilePath>
+            </File>
+            <File>
+              <FileName>osal_none.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\osal\osal_none.c</FilePath>
+            </File>
+            <File>
+              <FileName>hcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\hcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>hub.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\hub.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbh.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\usbh.c</FilePath>
+            </File>
+            <File>
+              <FileName>ehci.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\ehci\ehci.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc11uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc11uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc13uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc13uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc43xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc43xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc175x_6x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc175x_6x.c</FilePath>
+            </File>
+            <File>
+              <FileName>errors.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\common\errors.c</FilePath>
+            </File>
+            <File>
+              <FileName>fifo.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\common\fifo.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_rndis_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_rndis_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>hid_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\hid_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>msc_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\msc_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc_11uxx_13uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc_11uxx_13uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc43xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc43xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc175x_6x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc175x_6x.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\usbd.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_device.c</FilePath>
+            </File>
+            <File>
+              <FileName>hid_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\hid_device.c</FilePath>
+            </File>
+            <File>
+              <FileName>msc_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\msc_device.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>boards</GroupName>
+          <Files>
+            <File>
+              <FileName>board.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\board.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_ea4357.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\embedded_artists\ea4357\board_ea4357.c</FilePath>
+            </File>
+            <File>
+              <FileName>printf_retarget.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\printf_retarget.c</FilePath>
+            </File>
+            <File>
+              <FileName>pca9532.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\embedded_artists\oem_base_board\pca9532.c</FilePath>
+              <FileOption>
+                <CommonProperty>
+                  <UseCPPCompiler>2</UseCPPCompiler>
+                  <RVCTCodeConst>0</RVCTCodeConst>
+                  <RVCTZI>0</RVCTZI>
+                  <RVCTOtherData>0</RVCTOtherData>
+                  <ModuleSelection>0</ModuleSelection>
+                  <IncludeInBuild>0</IncludeInBuild>
+                  <AlwaysBuild>2</AlwaysBuild>
+                  <GenerateAssemblyFile>2</GenerateAssemblyFile>
+                  <AssembleAssemblyFile>2</AssembleAssemblyFile>
+                  <PublicsOnly>2</PublicsOnly>
+                  <StopOnExitCode>11</StopOnExitCode>
+                  <CustomArgument></CustomArgument>
+                  <IncludeLibraryModules></IncludeLibraryModules>
+                </CommonProperty>
+                <FileArmAds>
+                  <Cads>
+                    <interw>2</interw>
+                    <Optim>0</Optim>
+                    <oTime>2</oTime>
+                    <SplitLS>2</SplitLS>
+                    <OneElfS>2</OneElfS>
+                    <Strict>2</Strict>
+                    <EnumInt>2</EnumInt>
+                    <PlainCh>2</PlainCh>
+                    <Ropi>2</Ropi>
+                    <Rwpi>2</Rwpi>
+                    <wLevel>0</wLevel>
+                    <uThumb>2</uThumb>
+                    <uSurpInc>2</uSurpInc>
+                    <VariousControls>
+                      <MiscControls></MiscControls>
+                      <Define></Define>
+                      <Undefine></Undefine>
+                      <IncludePath></IncludePath>
+                    </VariousControls>
+                  </Cads>
+                </FileArmAds>
+              </FileOption>
+            </File>
+            <File>
+              <FileName>board_ngx4330.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\ngx\board_ngx4330.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpc4357usb.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\microbuilder\board_lpc4357usb.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_rf1ghznode.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\microbuilder\board_rf1ghznode.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpcxpresso1769.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1769.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpcxpresso1347.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1347.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_mcb4300.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\keil\board_mcb4300.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>bsp lpc13uxx</GroupName>
+          <Files>
+            <File>
+              <FileName>startup_LPC13Uxx.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\startup_keil\startup_LPC13Uxx.s</FilePath>
+            </File>
+            <File>
+              <FileName>system_LPC13Uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\CMSISv2p10_LPC13Uxx\src\system_LPC13Uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\LPC13Uxx_DriverLib\src\gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>uart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\LPC13Uxx_DriverLib\src\uart.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+    <Target>
+      <TargetName>Board LPCXpresso1347</TargetName>
+      <ToolsetNumber>0x4</ToolsetNumber>
+      <ToolsetName>ARM-ADS</ToolsetName>
+      <TargetOption>
+        <TargetCommonOption>
+          <Device>LPC4357</Device>
+          <Vendor>NXP (founded by Philips)</Vendor>
+          <Cpu>IRAM(0x10000000-0x10007FFF) IRAM2(0x20000000-0x2000FFFF) IROM(0x1A000000-0x1A07FFFF) IROM2(0x1B000000-0x1B07FFFF) CLOCK(12000000) CPUTYPE("Cortex-M4") FPU2</Cpu>
+          <FlashUtilSpec></FlashUtilSpec>
+          <StartupFile>"STARTUP\NXP\LPC43xx\startup_LPC43xx.s" ("NXP LPC43xx Startup Code")</StartupFile>
+          <FlashDriverDll>UL2CM3(-O975 -S0 -C0 -FO7 -FD10000000 -FC800 -FN2 -FF0LPC18xx43xx_512_BA -FS01A000000 -FL080000 -FF1LPC18xx43xx_512_BB -FS11B000000 -FL180000)</FlashDriverDll>
+          <DeviceId>6414</DeviceId>
+          <RegisterFile>LPC43xx.H</RegisterFile>
+          <MemoryEnv></MemoryEnv>
+          <Cmp></Cmp>
+          <Asm></Asm>
+          <Linker></Linker>
+          <OHString></OHString>
+          <InfinionOptionDll></InfinionOptionDll>
+          <SLE66CMisc></SLE66CMisc>
+          <SLE66AMisc></SLE66AMisc>
+          <SLE66LinkerMisc></SLE66LinkerMisc>
+          <SFDFile>SFD\NXP\LPC43xx\LPC43xx.SFR</SFDFile>
+          <UseEnv>0</UseEnv>
+          <BinPath></BinPath>
+          <IncludePath></IncludePath>
+          <LibPath></LibPath>
+          <RegisterFilePath>NXP\LPC43xx\</RegisterFilePath>
+          <DBRegisterFilePath>NXP\LPC43xx\</DBRegisterFilePath>
+          <TargetStatus>
+            <Error>0</Error>
+            <ExitCodeStop>0</ExitCodeStop>
+            <ButtonStop>0</ButtonStop>
+            <NotGenerated>0</NotGenerated>
+            <InvalidFlash>1</InvalidFlash>
+          </TargetStatus>
+          <OutputDirectory>.\UV4Build\</OutputDirectory>
+          <OutputName>device_os_none</OutputName>
+          <CreateExecutable>1</CreateExecutable>
+          <CreateLib>0</CreateLib>
+          <CreateHexFile>0</CreateHexFile>
+          <DebugInformation>1</DebugInformation>
+          <BrowseInformation>1</BrowseInformation>
+          <ListingPath>.\UV4Build\</ListingPath>
+          <HexFormatSelection>1</HexFormatSelection>
+          <Merge32K>0</Merge32K>
+          <CreateBatchFile>0</CreateBatchFile>
+          <BeforeCompile>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+            <nStopU1X>0</nStopU1X>
+            <nStopU2X>0</nStopU2X>
+          </BeforeCompile>
+          <BeforeMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </BeforeMake>
+          <AfterMake>
+            <RunUserProg1>0</RunUserProg1>
+            <RunUserProg2>0</RunUserProg2>
+            <UserProg1Name></UserProg1Name>
+            <UserProg2Name></UserProg2Name>
+            <UserProg1Dos16Mode>0</UserProg1Dos16Mode>
+            <UserProg2Dos16Mode>0</UserProg2Dos16Mode>
+          </AfterMake>
+          <SelectedForBatchBuild>0</SelectedForBatchBuild>
+          <SVCSIdString></SVCSIdString>
+        </TargetCommonOption>
+        <CommonProperty>
+          <UseCPPCompiler>0</UseCPPCompiler>
+          <RVCTCodeConst>0</RVCTCodeConst>
+          <RVCTZI>0</RVCTZI>
+          <RVCTOtherData>0</RVCTOtherData>
+          <ModuleSelection>0</ModuleSelection>
+          <IncludeInBuild>1</IncludeInBuild>
+          <AlwaysBuild>0</AlwaysBuild>
+          <GenerateAssemblyFile>0</GenerateAssemblyFile>
+          <AssembleAssemblyFile>0</AssembleAssemblyFile>
+          <PublicsOnly>0</PublicsOnly>
+          <StopOnExitCode>3</StopOnExitCode>
+          <CustomArgument></CustomArgument>
+          <IncludeLibraryModules></IncludeLibraryModules>
+        </CommonProperty>
+        <DllOption>
+          <SimDllName>SARMCM3.DLL</SimDllName>
+          <SimDllArguments>-MPU</SimDllArguments>
+          <SimDlgDll>DCM.DLL</SimDlgDll>
+          <SimDlgDllArguments>-pCM4</SimDlgDllArguments>
+          <TargetDllName>SARMCM3.DLL</TargetDllName>
+          <TargetDllArguments>-MPU</TargetDllArguments>
+          <TargetDlgDll>TCM.DLL</TargetDlgDll>
+          <TargetDlgDllArguments>-pCM4</TargetDlgDllArguments>
+        </DllOption>
+        <DebugOption>
+          <OPTHX>
+            <HexSelection>1</HexSelection>
+            <HexRangeLowAddress>0</HexRangeLowAddress>
+            <HexRangeHighAddress>0</HexRangeHighAddress>
+            <HexOffset>0</HexOffset>
+            <Oh166RecLen>16</Oh166RecLen>
+          </OPTHX>
+          <Simulator>
+            <UseSimulator>0</UseSimulator>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>1</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>1</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <LimitSpeedToRealTime>0</LimitSpeedToRealTime>
+          </Simulator>
+          <Target>
+            <UseTarget>1</UseTarget>
+            <LoadApplicationAtStartup>1</LoadApplicationAtStartup>
+            <RunToMain>0</RunToMain>
+            <RestoreBreakpoints>1</RestoreBreakpoints>
+            <RestoreWatchpoints>1</RestoreWatchpoints>
+            <RestoreMemoryDisplay>1</RestoreMemoryDisplay>
+            <RestoreFunctions>0</RestoreFunctions>
+            <RestoreToolbox>1</RestoreToolbox>
+            <RestoreTracepoints>1</RestoreTracepoints>
+          </Target>
+          <RunDebugAfterBuild>0</RunDebugAfterBuild>
+          <TargetSelection>7</TargetSelection>
+          <SimDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+          </SimDlls>
+          <TargetDlls>
+            <CpuDll></CpuDll>
+            <CpuDllArguments></CpuDllArguments>
+            <PeripheralDll></PeripheralDll>
+            <PeripheralDllArguments></PeripheralDllArguments>
+            <InitializationFile></InitializationFile>
+            <Driver>Segger\JL2CM3.dll</Driver>
+          </TargetDlls>
+        </DebugOption>
+        <Utilities>
+          <Flash1>
+            <UseTargetDll>1</UseTargetDll>
+            <UseExternalTool>0</UseExternalTool>
+            <RunIndependent>0</RunIndependent>
+            <UpdateFlashBeforeDebugging>1</UpdateFlashBeforeDebugging>
+            <Capability>1</Capability>
+            <DriverSelection>4099</DriverSelection>
+          </Flash1>
+          <Flash2>Segger\JL2CM3.dll</Flash2>
+          <Flash3>"" ()</Flash3>
+          <Flash4></Flash4>
+        </Utilities>
+        <TargetArmAds>
+          <ArmAdsMisc>
+            <GenerateListings>0</GenerateListings>
+            <asHll>1</asHll>
+            <asAsm>1</asAsm>
+            <asMacX>1</asMacX>
+            <asSyms>1</asSyms>
+            <asFals>1</asFals>
+            <asDbgD>1</asDbgD>
+            <asForm>1</asForm>
+            <ldLst>0</ldLst>
+            <ldmm>1</ldmm>
+            <ldXref>1</ldXref>
+            <BigEnd>0</BigEnd>
+            <AdsALst>1</AdsALst>
+            <AdsACrf>1</AdsACrf>
+            <AdsANop>0</AdsANop>
+            <AdsANot>0</AdsANot>
+            <AdsLLst>1</AdsLLst>
+            <AdsLmap>1</AdsLmap>
+            <AdsLcgr>1</AdsLcgr>
+            <AdsLsym>1</AdsLsym>
+            <AdsLszi>1</AdsLszi>
+            <AdsLtoi>1</AdsLtoi>
+            <AdsLsun>1</AdsLsun>
+            <AdsLven>1</AdsLven>
+            <AdsLsxf>1</AdsLsxf>
+            <RvctClst>0</RvctClst>
+            <GenPPlst>0</GenPPlst>
+            <AdsCpuType>"Cortex-M4"</AdsCpuType>
+            <RvctDeviceName></RvctDeviceName>
+            <mOS>0</mOS>
+            <uocRom>0</uocRom>
+            <uocRam>0</uocRam>
+            <hadIROM>1</hadIROM>
+            <hadIRAM>1</hadIRAM>
+            <hadXRAM>0</hadXRAM>
+            <uocXRam>0</uocXRam>
+            <RvdsVP>2</RvdsVP>
+            <hadIRAM2>1</hadIRAM2>
+            <hadIROM2>1</hadIROM2>
+            <StupSel>8</StupSel>
+            <useUlib>1</useUlib>
+            <EndSel>0</EndSel>
+            <uLtcg>0</uLtcg>
+            <RoSelD>3</RoSelD>
+            <RwSelD>3</RwSelD>
+            <CodeSel>0</CodeSel>
+            <OptFeed>0</OptFeed>
+            <NoZi1>0</NoZi1>
+            <NoZi2>0</NoZi2>
+            <NoZi3>0</NoZi3>
+            <NoZi4>0</NoZi4>
+            <NoZi5>0</NoZi5>
+            <Ro1Chk>0</Ro1Chk>
+            <Ro2Chk>0</Ro2Chk>
+            <Ro3Chk>0</Ro3Chk>
+            <Ir1Chk>1</Ir1Chk>
+            <Ir2Chk>0</Ir2Chk>
+            <Ra1Chk>0</Ra1Chk>
+            <Ra2Chk>0</Ra2Chk>
+            <Ra3Chk>0</Ra3Chk>
+            <Im1Chk>0</Im1Chk>
+            <Im2Chk>1</Im2Chk>
+            <OnChipMemories>
+              <Ocm1>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm1>
+              <Ocm2>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm2>
+              <Ocm3>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm3>
+              <Ocm4>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm4>
+              <Ocm5>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm5>
+              <Ocm6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </Ocm6>
+              <IRAM>
+                <Type>0</Type>
+                <StartAddress>0x10000000</StartAddress>
+                <Size>0x8000</Size>
+              </IRAM>
+              <IROM>
+                <Type>1</Type>
+                <StartAddress>0x1a000000</StartAddress>
+                <Size>0x80000</Size>
+              </IROM>
+              <XRAM>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </XRAM>
+              <OCR_RVCT1>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT1>
+              <OCR_RVCT2>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT2>
+              <OCR_RVCT3>
+                <Type>1</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT3>
+              <OCR_RVCT4>
+                <Type>1</Type>
+                <StartAddress>0x1a000000</StartAddress>
+                <Size>0x80000</Size>
+              </OCR_RVCT4>
+              <OCR_RVCT5>
+                <Type>1</Type>
+                <StartAddress>0x1b000000</StartAddress>
+                <Size>0x80000</Size>
+              </OCR_RVCT5>
+              <OCR_RVCT6>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT6>
+              <OCR_RVCT7>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT7>
+              <OCR_RVCT8>
+                <Type>0</Type>
+                <StartAddress>0x0</StartAddress>
+                <Size>0x0</Size>
+              </OCR_RVCT8>
+              <OCR_RVCT9>
+                <Type>0</Type>
+                <StartAddress>0x10000000</StartAddress>
+                <Size>0x8000</Size>
+              </OCR_RVCT9>
+              <OCR_RVCT10>
+                <Type>0</Type>
+                <StartAddress>0x20000000</StartAddress>
+                <Size>0x10000</Size>
+              </OCR_RVCT10>
+            </OnChipMemories>
+            <RvctStartVector></RvctStartVector>
+          </ArmAdsMisc>
+          <Cads>
+            <interw>1</interw>
+            <Optim>1</Optim>
+            <oTime>0</oTime>
+            <SplitLS>0</SplitLS>
+            <OneElfS>0</OneElfS>
+            <Strict>0</Strict>
+            <EnumInt>0</EnumInt>
+            <PlainCh>0</PlainCh>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <wLevel>0</wLevel>
+            <uThumb>0</uThumb>
+            <uSurpInc>0</uSurpInc>
+            <VariousControls>
+              <MiscControls>--gnu --c99 --diag_suppress=66</MiscControls>
+              <Define>TUSB_CFG_MCU=MCU_LPC13UXX BOARD=BOARD_LPCXPRESSO1347 TUSB_CFG_OS=TUSB_OS_NONE</Define>
+              <Undefine></Undefine>
+              <IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb</IncludePath>
+            </VariousControls>
+          </Cads>
+          <Aads>
+            <interw>1</interw>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <thumb>0</thumb>
+            <SplitLS>0</SplitLS>
+            <SwStkChk>0</SwStkChk>
+            <NoWarn>0</NoWarn>
+            <uSurpInc>0</uSurpInc>
+            <VariousControls>
+              <MiscControls></MiscControls>
+              <Define>NO_CRP</Define>
+              <Undefine></Undefine>
+              <IncludePath></IncludePath>
+            </VariousControls>
+          </Aads>
+          <LDads>
+            <umfTarg>1</umfTarg>
+            <Ropi>0</Ropi>
+            <Rwpi>0</Rwpi>
+            <noStLib>0</noStLib>
+            <RepFail>1</RepFail>
+            <useFile>0</useFile>
+            <TextAddressRange>0x1A000000</TextAddressRange>
+            <DataAddressRange>0x10000000</DataAddressRange>
+            <ScatterFile></ScatterFile>
+            <IncludeLibs></IncludeLibs>
+            <IncludeLibsPath></IncludeLibsPath>
+            <Misc></Misc>
+            <LinkerInputFile></LinkerInputFile>
+            <DisabledWarnings></DisabledWarnings>
+          </LDads>
+        </TargetArmAds>
+      </TargetOption>
+      <Groups>
+        <Group>
+          <GroupName>app</GroupName>
+          <Files>
+            <File>
+              <FileName>cdcd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\cdcd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>keyboardd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\keyboardd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>main.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\main.c</FilePath>
+            </File>
+            <File>
+              <FileName>moused_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\moused_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app_ramdisk.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app_ramdisk.c</FilePath>
+            </File>
+            <File>
+              <FileName>mscd_app_romdisk.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\mscd_app_romdisk.c</FilePath>
+            </File>
+            <File>
+              <FileName>tusb_descriptors.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>.\tusb_descriptors.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>tinyusb</GroupName>
+          <Files>
+            <File>
+              <FileName>tusb.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\tusb.c</FilePath>
+            </File>
+            <File>
+              <FileName>osal_none.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\osal\osal_none.c</FilePath>
+            </File>
+            <File>
+              <FileName>hcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\hcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>hub.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\hub.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbh.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\usbh.c</FilePath>
+            </File>
+            <File>
+              <FileName>ehci.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\ehci\ehci.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc11uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc11uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc13uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc13uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc43xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc43xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc175x_6x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc175x_6x.c</FilePath>
+            </File>
+            <File>
+              <FileName>errors.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\common\errors.c</FilePath>
+            </File>
+            <File>
+              <FileName>fifo.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\common\fifo.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_rndis_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_rndis_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>hid_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\hid_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>msc_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\msc_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc_11uxx_13uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc_11uxx_13uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc43xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc43xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>dcd_lpc175x_6x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\dcd_lpc175x_6x.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\device\usbd.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_device.c</FilePath>
+            </File>
+            <File>
+              <FileName>hid_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\hid_device.c</FilePath>
+            </File>
+            <File>
+              <FileName>msc_device.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\msc_device.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>boards</GroupName>
+          <Files>
+            <File>
+              <FileName>board.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\board.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_ea4357.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\embedded_artists\ea4357\board_ea4357.c</FilePath>
+            </File>
+            <File>
+              <FileName>printf_retarget.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\printf_retarget.c</FilePath>
+            </File>
+            <File>
+              <FileName>pca9532.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\embedded_artists\oem_base_board\pca9532.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_ngx4330.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\ngx\board_ngx4330.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpc4357usb.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\microbuilder\board_lpc4357usb.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_rf1ghznode.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\microbuilder\board_rf1ghznode.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpcxpresso1769.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1769.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpcxpresso1347.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1347.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_mcb4300.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\keil\board_mcb4300.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+        <Group>
+          <GroupName>bsp lpc13uxx</GroupName>
+          <Files>
+            <File>
+              <FileName>startup_LPC13Uxx.s</FileName>
+              <FileType>2</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\startup_keil\startup_LPC13Uxx.s</FilePath>
+            </File>
+            <File>
+              <FileName>system_LPC13Uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\CMSISv2p10_LPC13Uxx\src\system_LPC13Uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>gpio.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\LPC13Uxx_DriverLib\src\gpio.c</FilePath>
+            </File>
+            <File>
+              <FileName>uart.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\lpc13uxx\LPC13Uxx_DriverLib\src\uart.c</FilePath>
+            </File>
+          </Files>
+        </Group>
+      </Groups>
+    </Target>
+  </Targets>
+
+</Project>

+ 2 - 2
demos/device/device_os_none/tusb_config.h

@@ -83,8 +83,8 @@
 #define TUSB_CFG_DEVICE_FULLSPEED               1 // TODO refractor, remove
 
 //------------- CLASS -------------//
-#define TUSB_CFG_DEVICE_HID_KEYBOARD  1
-#define TUSB_CFG_DEVICE_HID_MOUSE     1
+#define TUSB_CFG_DEVICE_HID_KEYBOARD  0
+#define TUSB_CFG_DEVICE_HID_MOUSE     0
 #define TUSB_CFG_DEVICE_HID_GENERIC   0
 #define TUSB_CFG_DEVICE_MSC           0
 #define TUSB_CFG_DEVICE_CDC           1

+ 110 - 110
demos/host/host_os_none/host_os_none.uvopt

@@ -567,8 +567,8 @@
   </Group>
 
   <Group>
-    <GroupName>boards</GroupName>
-    <tvExp>0</tvExp>
+    <GroupName>tinyusb</GroupName>
+    <tvExp>1</tvExp>
     <tvExpOptDlg>0</tvExpOptDlg>
     <cbSel>0</cbSel>
     <RteFlg>0</RteFlg>
@@ -578,13 +578,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>31</ColumnNumber>
+      <ColumnNumber>64</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\board.c</PathWithFileName>
-      <FilenameWithoutPath>board.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\tusb.c</PathWithFileName>
+      <FilenameWithoutPath>tusb.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -594,13 +594,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>78</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\embedded_artists\board_ea4357.c</PathWithFileName>
-      <FilenameWithoutPath>board_ea4357.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\osal\osal_none.c</PathWithFileName>
+      <FilenameWithoutPath>osal_none.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -610,13 +610,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>3</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>95</TopLine>
-      <CurrentLine>138</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\printf_retarget.c</PathWithFileName>
-      <FilenameWithoutPath>printf_retarget.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\host\hcd.c</PathWithFileName>
+      <FilenameWithoutPath>hcd.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -626,13 +626,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>61</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>0</TopLine>
-      <CurrentLine>0</CurrentLine>
+      <TopLine>1</TopLine>
+      <CurrentLine>1</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\embedded_artists\oem_base_board\pca9532.c</PathWithFileName>
-      <FilenameWithoutPath>pca9532.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\host\hub.c</PathWithFileName>
+      <FilenameWithoutPath>hub.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -644,11 +644,11 @@
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>0</TopLine>
-      <CurrentLine>0</CurrentLine>
+      <TopLine>359</TopLine>
+      <CurrentLine>362</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\ngx\board_ngx4330.c</PathWithFileName>
-      <FilenameWithoutPath>board_ngx4330.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\host\usbh.c</PathWithFileName>
+      <FilenameWithoutPath>usbh.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -660,11 +660,11 @@
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>0</TopLine>
-      <CurrentLine>0</CurrentLine>
+      <TopLine>276</TopLine>
+      <CurrentLine>284</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\microbuilder\board_lpc4357usb.c</PathWithFileName>
-      <FilenameWithoutPath>board_lpc4357usb.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\host\ehci\ehci.c</PathWithFileName>
+      <FilenameWithoutPath>ehci.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -679,8 +679,8 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\microbuilder\board_rf1ghznode.c</PathWithFileName>
-      <FilenameWithoutPath>board_rf1ghznode.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\hal\hal_lpc11uxx.c</PathWithFileName>
+      <FilenameWithoutPath>hal_lpc11uxx.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -695,8 +695,8 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1769.c</PathWithFileName>
-      <FilenameWithoutPath>board_lpcxpresso1769.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\hal\hal_lpc13uxx.c</PathWithFileName>
+      <FilenameWithoutPath>hal_lpc13uxx.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -706,13 +706,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>0</ColumnNumber>
+      <ColumnNumber>26</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>0</TopLine>
-      <CurrentLine>0</CurrentLine>
+      <TopLine>61</TopLine>
+      <CurrentLine>69</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1347.c</PathWithFileName>
-      <FilenameWithoutPath>board_lpcxpresso1347.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\hal\hal_lpc43xx.c</PathWithFileName>
+      <FilenameWithoutPath>hal_lpc43xx.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -727,128 +727,128 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\bsp\boards\keil\board_mcb4300.c</PathWithFileName>
-      <FilenameWithoutPath>board_mcb4300.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\hal\hal_lpc175x_6x.c</PathWithFileName>
+      <FilenameWithoutPath>hal_lpc175x_6x.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
-  </Group>
-
-  <Group>
-    <GroupName>tinyusb</GroupName>
-    <tvExp>1</tvExp>
-    <tvExpOptDlg>0</tvExpOptDlg>
-    <cbSel>0</cbSel>
-    <RteFlg>0</RteFlg>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>2</GroupNumber>
       <FileNumber>18</FileNumber>
       <FileType>1</FileType>
-      <tvExp>1</tvExp>
+      <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>64</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>0</TopLine>
-      <CurrentLine>0</CurrentLine>
+      <TopLine>1</TopLine>
+      <CurrentLine>9</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\tusb.c</PathWithFileName>
-      <FilenameWithoutPath>tusb.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\common\errors.c</PathWithFileName>
+      <FilenameWithoutPath>errors.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>2</GroupNumber>
       <FileNumber>19</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>0</TopLine>
-      <CurrentLine>0</CurrentLine>
+      <TopLine>55</TopLine>
+      <CurrentLine>62</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\osal\osal_none.c</PathWithFileName>
-      <FilenameWithoutPath>osal_none.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\common\fifo.c</PathWithFileName>
+      <FilenameWithoutPath>fifo.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>2</GroupNumber>
       <FileNumber>20</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>0</ColumnNumber>
+      <ColumnNumber>78</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\host\hcd.c</PathWithFileName>
-      <FilenameWithoutPath>hcd.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\class\cdc_host.c</PathWithFileName>
+      <FilenameWithoutPath>cdc_host.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>2</GroupNumber>
       <FileNumber>21</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>1</TopLine>
-      <CurrentLine>1</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\host\hub.c</PathWithFileName>
-      <FilenameWithoutPath>hub.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\class\cdc_rndis_host.c</PathWithFileName>
+      <FilenameWithoutPath>cdc_rndis_host.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>2</GroupNumber>
       <FileNumber>22</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>359</TopLine>
-      <CurrentLine>362</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\host\usbh.c</PathWithFileName>
-      <FilenameWithoutPath>usbh.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\class\hid_host.c</PathWithFileName>
+      <FilenameWithoutPath>hid_host.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
     <File>
-      <GroupNumber>3</GroupNumber>
+      <GroupNumber>2</GroupNumber>
       <FileNumber>23</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>276</TopLine>
-      <CurrentLine>284</CurrentLine>
+      <TopLine>1</TopLine>
+      <CurrentLine>1</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\host\ehci\ehci.c</PathWithFileName>
-      <FilenameWithoutPath>ehci.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\..\tinyusb\class\msc_host.c</PathWithFileName>
+      <FilenameWithoutPath>msc_host.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
+  </Group>
+
+  <Group>
+    <GroupName>boards</GroupName>
+    <tvExp>1</tvExp>
+    <tvExpOptDlg>0</tvExpOptDlg>
+    <cbSel>0</cbSel>
+    <RteFlg>0</RteFlg>
     <File>
       <GroupNumber>3</GroupNumber>
       <FileNumber>24</FileNumber>
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>0</ColumnNumber>
+      <ColumnNumber>31</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\hal\hal_lpc11uxx.c</PathWithFileName>
-      <FilenameWithoutPath>hal_lpc11uxx.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\board.c</PathWithFileName>
+      <FilenameWithoutPath>board.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -858,13 +858,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>0</ColumnNumber>
+      <ColumnNumber>78</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\hal\hal_lpc13uxx.c</PathWithFileName>
-      <FilenameWithoutPath>hal_lpc13uxx.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\embedded_artists\ea4357\board_ea4357.c</PathWithFileName>
+      <FilenameWithoutPath>board_ea4357.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -874,13 +874,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>26</ColumnNumber>
+      <ColumnNumber>3</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>61</TopLine>
-      <CurrentLine>69</CurrentLine>
+      <TopLine>95</TopLine>
+      <CurrentLine>138</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\hal\hal_lpc43xx.c</PathWithFileName>
-      <FilenameWithoutPath>hal_lpc43xx.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\printf_retarget.c</PathWithFileName>
+      <FilenameWithoutPath>printf_retarget.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -890,13 +890,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>0</ColumnNumber>
+      <ColumnNumber>61</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\hal\hal_lpc175x_6x.c</PathWithFileName>
-      <FilenameWithoutPath>hal_lpc175x_6x.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\embedded_artists\oem_base_board\pca9532.c</PathWithFileName>
+      <FilenameWithoutPath>pca9532.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -908,11 +908,11 @@
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>1</TopLine>
-      <CurrentLine>9</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\common\errors.c</PathWithFileName>
-      <FilenameWithoutPath>errors.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\ngx\board_ngx4330.c</PathWithFileName>
+      <FilenameWithoutPath>board_ngx4330.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -924,11 +924,11 @@
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>54</TopLine>
-      <CurrentLine>62</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\common\fifo.c</PathWithFileName>
-      <FilenameWithoutPath>fifo.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\microbuilder\board_lpc4357usb.c</PathWithFileName>
+      <FilenameWithoutPath>board_lpc4357usb.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -938,13 +938,13 @@
       <FileType>1</FileType>
       <tvExp>0</tvExp>
       <Focus>0</Focus>
-      <ColumnNumber>78</ColumnNumber>
+      <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\class\cdc_host.c</PathWithFileName>
-      <FilenameWithoutPath>cdc_host.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\microbuilder\board_rf1ghznode.c</PathWithFileName>
+      <FilenameWithoutPath>board_rf1ghznode.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -959,8 +959,8 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\class\cdc_rndis_host.c</PathWithFileName>
-      <FilenameWithoutPath>cdc_rndis_host.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1769.c</PathWithFileName>
+      <FilenameWithoutPath>board_lpcxpresso1769.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -975,8 +975,8 @@
       <TopLine>0</TopLine>
       <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\class\hid_host.c</PathWithFileName>
-      <FilenameWithoutPath>hid_host.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1347.c</PathWithFileName>
+      <FilenameWithoutPath>board_lpcxpresso1347.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -988,11 +988,11 @@
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>1</TopLine>
-      <CurrentLine>1</CurrentLine>
+      <TopLine>0</TopLine>
+      <CurrentLine>0</CurrentLine>
       <bDave2>0</bDave2>
-      <PathWithFileName>..\..\..\tinyusb\class\msc_host.c</PathWithFileName>
-      <FilenameWithoutPath>msc_host.c</FilenameWithoutPath>
+      <PathWithFileName>..\..\bsp\boards\keil\board_mcb4300.c</PathWithFileName>
+      <FilenameWithoutPath>board_mcb4300.c</FilenameWithoutPath>
       <RteFlg>0</RteFlg>
       <bShared>0</bShared>
     </File>
@@ -1156,7 +1156,7 @@
       <Focus>0</Focus>
       <ColumnNumber>0</ColumnNumber>
       <tvExpOptDlg>0</tvExpOptDlg>
-      <TopLine>1688</TopLine>
+      <TopLine>1701</TopLine>
       <CurrentLine>1713</CurrentLine>
       <bDave2>0</bDave2>
       <PathWithFileName>..\..\..\vendor\fatfs\ff.c</PathWithFileName>

+ 143 - 143
demos/host/host_os_none/host_os_none.uvproj

@@ -348,7 +348,7 @@
             <uSurpInc>0</uSurpInc>
             <VariousControls>
               <MiscControls>--gnu --c99 --diag_suppress=66</MiscControls>
-              <Define>CORE_M4 MCU=MCU_LPC43XX BOARD=BOARD_EA4357 TUSB_CFG_OS=TUSB_OS_NONE</Define>
+              <Define>CORE_M4 TUSB_CFG_MCU=MCU_LPC43XX BOARD=BOARD_EA4357 TUSB_CFG_OS=TUSB_OS_NONE</Define>
               <Undefine></Undefine>
               <IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\fatfs</IncludePath>
             </VariousControls>
@@ -428,61 +428,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>boards</GroupName>
-          <Files>
-            <File>
-              <FileName>board.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\board.c</FilePath>
-            </File>
-            <File>
-              <FileName>board_ea4357.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\embedded_artists\board_ea4357.c</FilePath>
-            </File>
-            <File>
-              <FileName>printf_retarget.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\printf_retarget.c</FilePath>
-            </File>
-            <File>
-              <FileName>pca9532.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\embedded_artists\oem_base_board\pca9532.c</FilePath>
-            </File>
-            <File>
-              <FileName>board_ngx4330.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\ngx\board_ngx4330.c</FilePath>
-            </File>
-            <File>
-              <FileName>board_lpc4357usb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\microbuilder\board_lpc4357usb.c</FilePath>
-            </File>
-            <File>
-              <FileName>board_rf1ghznode.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\microbuilder\board_rf1ghznode.c</FilePath>
-            </File>
-            <File>
-              <FileName>board_lpcxpresso1769.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1769.c</FilePath>
-            </File>
-            <File>
-              <FileName>board_lpcxpresso1347.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1347.c</FilePath>
-            </File>
-            <File>
-              <FileName>board_mcb4300.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\keil\board_mcb4300.c</FilePath>
-            </File>
-          </Files>
-        </Group>
         <Group>
           <GroupName>tinyusb</GroupName>
           <Files>
@@ -568,6 +513,61 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>boards</GroupName>
+          <Files>
+            <File>
+              <FileName>board.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\board.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_ea4357.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\embedded_artists\ea4357\board_ea4357.c</FilePath>
+            </File>
+            <File>
+              <FileName>printf_retarget.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\printf_retarget.c</FilePath>
+            </File>
+            <File>
+              <FileName>pca9532.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\embedded_artists\oem_base_board\pca9532.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_ngx4330.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\ngx\board_ngx4330.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpc4357usb.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\microbuilder\board_lpc4357usb.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_rf1ghznode.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\microbuilder\board_rf1ghznode.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpcxpresso1769.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1769.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_lpcxpresso1347.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\lpcxpresso\board_lpcxpresso1347.c</FilePath>
+            </File>
+            <File>
+              <FileName>board_mcb4300.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\bsp\boards\keil\board_mcb4300.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>cmsis</GroupName>
           <Files>
@@ -977,7 +977,7 @@
             <uSurpInc>0</uSurpInc>
             <VariousControls>
               <MiscControls>--gnu --c99</MiscControls>
-              <Define>CORE_M4 MCU=MCU_LPC43XX BOARD=BOARD_LPC4357USB TUSB_CFG_OS=TUSB_OS_NONE</Define>
+              <Define>CORE_M4 TUSB_CFG_MCU=MCU_LPC43XX BOARD=BOARD_LPC4357USB TUSB_CFG_OS=TUSB_OS_NONE</Define>
               <Undefine></Undefine>
               <IncludePath>..\src;..\..\bsp\lpc43xx\CMSIS_LPC43xx_DriverLib\inc;..\..\bsp;..\..\..\tinyusb;..\..\..\vendor\fatfs</IncludePath>
             </VariousControls>
@@ -1057,6 +1057,91 @@
             </File>
           </Files>
         </Group>
+        <Group>
+          <GroupName>tinyusb</GroupName>
+          <Files>
+            <File>
+              <FileName>tusb.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\tusb.c</FilePath>
+            </File>
+            <File>
+              <FileName>osal_none.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\osal\osal_none.c</FilePath>
+            </File>
+            <File>
+              <FileName>hcd.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\hcd.c</FilePath>
+            </File>
+            <File>
+              <FileName>hub.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\hub.c</FilePath>
+            </File>
+            <File>
+              <FileName>usbh.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\usbh.c</FilePath>
+            </File>
+            <File>
+              <FileName>ehci.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\host\ehci\ehci.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc11uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc11uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc13uxx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc13uxx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc43xx.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc43xx.c</FilePath>
+            </File>
+            <File>
+              <FileName>hal_lpc175x_6x.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\hal\hal_lpc175x_6x.c</FilePath>
+            </File>
+            <File>
+              <FileName>errors.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\common\errors.c</FilePath>
+            </File>
+            <File>
+              <FileName>fifo.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\common\fifo.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>cdc_rndis_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\cdc_rndis_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>hid_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\hid_host.c</FilePath>
+            </File>
+            <File>
+              <FileName>msc_host.c</FileName>
+              <FileType>1</FileType>
+              <FilePath>..\..\..\tinyusb\class\msc_host.c</FilePath>
+            </File>
+          </Files>
+        </Group>
         <Group>
           <GroupName>boards</GroupName>
           <Files>
@@ -1068,7 +1153,7 @@
             <File>
               <FileName>board_ea4357.c</FileName>
               <FileType>1</FileType>
-              <FilePath>..\..\bsp\boards\embedded_artists\board_ea4357.c</FilePath>
+              <FilePath>..\..\bsp\boards\embedded_artists\ea4357\board_ea4357.c</FilePath>
             </File>
             <File>
               <FileName>printf_retarget.c</FileName>
@@ -1152,91 +1237,6 @@
             </File>
           </Files>
         </Group>
-        <Group>
-          <GroupName>tinyusb</GroupName>
-          <Files>
-            <File>
-              <FileName>tusb.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\tusb.c</FilePath>
-            </File>
-            <File>
-              <FileName>osal_none.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\osal\osal_none.c</FilePath>
-            </File>
-            <File>
-              <FileName>hcd.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\host\hcd.c</FilePath>
-            </File>
-            <File>
-              <FileName>hub.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\host\hub.c</FilePath>
-            </File>
-            <File>
-              <FileName>usbh.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\host\usbh.c</FilePath>
-            </File>
-            <File>
-              <FileName>ehci.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\host\ehci\ehci.c</FilePath>
-            </File>
-            <File>
-              <FileName>hal_lpc11uxx.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\hal\hal_lpc11uxx.c</FilePath>
-            </File>
-            <File>
-              <FileName>hal_lpc13uxx.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\hal\hal_lpc13uxx.c</FilePath>
-            </File>
-            <File>
-              <FileName>hal_lpc43xx.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\hal\hal_lpc43xx.c</FilePath>
-            </File>
-            <File>
-              <FileName>hal_lpc175x_6x.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\hal\hal_lpc175x_6x.c</FilePath>
-            </File>
-            <File>
-              <FileName>errors.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\common\errors.c</FilePath>
-            </File>
-            <File>
-              <FileName>fifo.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\common\fifo.c</FilePath>
-            </File>
-            <File>
-              <FileName>cdc_host.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\class\cdc_host.c</FilePath>
-            </File>
-            <File>
-              <FileName>cdc_rndis_host.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\class\cdc_rndis_host.c</FilePath>
-            </File>
-            <File>
-              <FileName>hid_host.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\class\hid_host.c</FilePath>
-            </File>
-            <File>
-              <FileName>msc_host.c</FileName>
-              <FileType>1</FileType>
-              <FilePath>..\..\..\tinyusb\class\msc_host.c</FilePath>
-            </File>
-          </Files>
-        </Group>
         <Group>
           <GroupName>cmsis</GroupName>
           <Files>

+ 0 - 348
tinyusb/class/hid.c

@@ -1,348 +0,0 @@
-/**************************************************************************/
-/*!
-    @file     hid.c
-    @author   hathach (tinyusb.org)
-
-    @section LICENSE
-
-    Software License Agreement (BSD License)
-
-    Copyright (c) 2013, hathach (tinyusb.org)
-    All rights reserved.
-
-    Redistribution and use in source and binary forms, with or without
-    modification, are permitted provided that the following conditions are met:
-    1. Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-    2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-    3. Neither the name of the copyright holders nor the
-    names of its contributors may be used to endorse or promote products
-    derived from this software without specific prior written permission.
-
-    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
-    EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-    WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-    DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
-    DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-    INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-    LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION HOWEVER CAUSED AND
-    ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-    INCLUDING NEGLIGENCE OR OTHERWISE ARISING IN ANY WAY OUT OF THE USE OF THIS
-    SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-    This file is part of the tinyusb stack.
-*/
-/**************************************************************************/
-
-#include "hid.h"
-
-#if defined DEVICE_CLASS_HID && defined TUSB_CFG_DEVICE
-
-#ifdef TUSB_CFG_DEVICE_HID_KEYBOARD
-hid_keyboard_report_t hid_keyboard_report;
-static volatile bool bKeyChanged = false;
-#endif
-
-#ifdef TUSB_CFG_DEVICE_HID_MOUSE
-hid_mouse_report_t hid_mouse_report;
-static volatile bool bMouseChanged = false;
-#endif
-
-/**************************************************************************/
-/*!
-    @brief Handler for HID_GetReport in the USB ROM driver
-*/
-/**************************************************************************/
-ErrorCode_t HID_GetReport( USBD_HANDLE_T hHid, USB_SETUP_PACKET* pSetup, uint8_t** pBuffer, uint16_t* plength)
-{
-  USB_HID_CTRL_T* pHidCtrl = (USB_HID_CTRL_T*) hHid;
-
-  /* ReportID = SetupPacket.wValue.WB.L; */
-  if (pSetup->wValue.WB.H == HID_REPORT_INPUT)
-    return (ERR_USBD_STALL);          /* Not Supported */
-
-  switch (pHidCtrl->protocol)
-  {
-    #ifdef TUSB_CFG_DEVICE_HID_KEYBOARD
-      case HID_PROTOCOL_KEYBOARD:
-        *pBuffer = (uint8_t*) &hid_keyboard_report;
-        *plength = sizeof(hid_keyboard_report_t);
-
-        if (!bKeyChanged)
-        {
-          memset(pBuffer, 0, *plength);
-        }
-        bKeyChanged = false;
-      break;
-    #endif
-
-    #ifdef TUSB_CFG_DEVICE_HID_MOUSE
-      case HID_PROTOCOL_MOUSE:
-        *pBuffer = (uint8_t*) &hid_mouse_report;
-        *plength = sizeof(hid_mouse_report_t);
-
-        if (!bMouseChanged)
-        {
-          memset(pBuffer, 0, *plength);
-        }
-        bMouseChanged = false;
-      break;
-    #endif
-
-    default:
-      break;
-  }
-
-  return (LPC_OK);
-}
-
-/**************************************************************************/
-/*!
-    @brief Handler for HIS_SetReport in the USB ROM driver
-*/
-/**************************************************************************/
-ErrorCode_t HID_SetReport( USBD_HANDLE_T hHid, USB_SETUP_PACKET* pSetup, uint8_t** pBuffer, uint16_t length)
-{
-  /* we will reuse standard EP0Buf */
-  if (length == 0)
-    return LPC_OK;
-
-  /* ReportID = SetupPacket.wValue.WB.L; */
-  if (pSetup->wValue.WB.H != HID_REPORT_OUTPUT)
-    return (ERR_USBD_STALL);          /* Not Supported */
-
-  return (LPC_OK);
-}
-
-/**************************************************************************/
-/*!
-    @brief HID endpoint in handler for the USB ROM driver
-*/
-/**************************************************************************/
-ErrorCode_t HID_EpIn_Hdlr (USBD_HANDLE_T hUsb, void* data, uint32_t event)
-{
-  if (USB_EVT_IN == event)
-  {
-    USB_HID_CTRL_T* pHidCtrl = (USB_HID_CTRL_T*)data;
-    switch(pHidCtrl->protocol)
-    {
-      #ifdef TUSB_CFG_DEVICE_HID_KEYBOARD
-        case HID_PROTOCOL_KEYBOARD:
-          if (!bKeyChanged)
-          {
-            memset(&hid_keyboard_report, 0, sizeof(hid_keyboard_report_t));
-          }
-          ROM_API->hw->WriteEP(hUsb, pHidCtrl->epin_adr, (uint8_t*) &hid_keyboard_report, sizeof(hid_keyboard_report_t));
-          bKeyChanged = false;
-        break;
-      #endif
-
-      #ifdef TUSB_CFG_DEVICE_HID_MOUSE
-        case HID_PROTOCOL_MOUSE:
-          if (!bMouseChanged)
-          {
-            memset(&hid_mouse_report, 0, sizeof(hid_mouse_report_t));
-          }
-          ROM_API->hw->WriteEP(hUsb, pHidCtrl->epin_adr, (uint8_t*) &hid_mouse_report, sizeof(hid_mouse_report_t));
-          bMouseChanged = false;
-        break;
-      #endif
-
-      default:
-        break;
-    }
-  }
-
-  return LPC_OK;
-}
-
-/**************************************************************************/
-/*!
-    @brief HID endpoint out handler for the USB ROM driver
-*/
-/**************************************************************************/
-ErrorCode_t HID_EpOut_Hdlr (USBD_HANDLE_T hUsb, void* data, uint32_t event)
-{
-  if (USB_EVT_OUT == event)
-  {
-    // not used yet
-    // uint8_t outreport[8];
-    // USB_HID_CTRL_T* pHidCtrl = (USB_HID_CTRL_T*)data;
-    // ROM_API->hw->ReadEP(hUsb, pHidCtrl->epout_adr, outreport);
-  }
-  return LPC_OK;
-}
-
-/**************************************************************************/
-/*!
-    @brief Initialises USB HID using the ROM based drivers
-*/
-/**************************************************************************/
-tusb_error_t tusb_hid_init(USBD_HANDLE_T hUsb, USB_INTERFACE_DESCRIPTOR const *const pIntfDesc, uint8_t const * const pHIDReportDesc, uint32_t ReportDescLength, uint32_t* mem_base, uint32_t* mem_size)
-{
-  USB_HID_REPORT_T reports_data =
-  {
-      .desc      = (uint8_t*) pHIDReportDesc,
-      .len       = ReportDescLength,
-      .idle_time = 0,
-  };
-
-  USBD_HID_INIT_PARAM_T hid_param =
-  {
-      .mem_base       = *mem_base,
-      .mem_size       = *mem_size,
-
-      .intf_desc      = (uint8_t*)pIntfDesc,
-      .report_data    = &reports_data,
-      .max_reports    = 1,
-
-      /* user defined functions */
-      .HID_GetReport  = HID_GetReport,
-      .HID_SetReport  = HID_SetReport,
-      .HID_EpIn_Hdlr  = HID_EpIn_Hdlr,
-      .HID_EpOut_Hdlr = HID_EpOut_Hdlr
-  };
-
-  ASSERT( (pIntfDesc != NULL) && (pIntfDesc->bInterfaceClass == USB_DEVICE_CLASS_HUMAN_INTERFACE), ERR_FAILED);
-
-  ASSERT( LPC_OK == ROM_API->hid->init(hUsb, &hid_param), TUSB_ERROR_FAILED );
-
-  /* update memory variables */
-  *mem_base += (*mem_size - hid_param.mem_size);
-  *mem_size = hid_param.mem_size;
-
-  return TUSB_ERROR_NONE;
-}
-
-/**************************************************************************/
-/*!
-
-*/
-/**************************************************************************/
-tusb_error_t tusb_hid_configured(USBD_HANDLE_T hUsb)
-{
-  #ifdef  TUSB_CFG_DEVICE_HID_KEYBOARD
-    ROM_API->hw->WriteEP(hUsb , HID_KEYBOARD_EDPT_ADDR , (uint8_t* ) &hid_keyboard_report , sizeof(hid_keyboard_report_t) ); // initial packet for IN endpoint , will not work if omitted
-  #endif
-
-  #ifdef  TUSB_CFG_DEVICE_HID_MOUSE
-    ROM_API->hw->WriteEP(hUsb , HID_MOUSE_EDPT_ADDR    , (uint8_t* ) &hid_mouse_report    , sizeof(hid_mouse_report_t) ); // initial packet for IN endpoint, will not work if omitted
-  #endif
-
-  return TUSB_ERROR_NONE;
-}
-
-#ifdef TUSB_CFG_DEVICE_HID_KEYBOARD
-/**************************************************************************/
-/*!
-    @brief Send the supplied key codes out via HID USB keyboard emulation
-
-    @param[in]  modifier
-                KB modifier code bits (see USB_HID_KB_KEYMODIFIER_CODE)
-    @param[in]  keycodes
-                A buffer containing up to six keycodes
-    @param[in]  numkey
-                The number of keys to send (max 6)
-
-    @note Note that for HID KBs, letter codes are not case sensitive. To
-          create an upper-case letter, you need to include the correct
-          KB modifier code(s), for ex: (1 << HID_KEYMODIFIER_LEFTSHIFT)
-
-    @section EXAMPLE
-
-    @code
-
-    // Send an unmodified 'a' character
-    if (usb_isConfigured())
-    {
-      uint8_t keys[6] = {HID_USAGE_KEYBOARD_aA};
-      tusb_hid_keyboard_sendKeys(0x00, keys, 1);
-    }
-
-    // Send Windows + 'e' (shortcut for 'explorer.exe')
-    if (usb_isConfigured())
-    {
-      uint8_t keys[6] = {HID_USAGE_KEYBOARD_aA + 'e' - 'a'};
-      tusb_hid_keyboard_sendKeys((1<<HID_KEYMODIFIER_LEFTGUI), keys, 1);
-    }
-
-    @endcode
-*/
-/**************************************************************************/
-tusb_error_t tusb_hid_keyboard_sendKeys(uint8_t modifier, uint8_t keycodes[], uint8_t numkey)
-{
-//  uint32_t start_time = systickGetSecondsActive();
-//  while (bKeyChanged) // TODO blocking while previous key has yet sent - can use fifo to improve this
-//  {
-//    ASSERT_MESSAGE(systickGetSecondsActive() - start_time < 5, ERR_FAILED, "HID Keyboard Timeout");
-//  }
-
-  if (bKeyChanged)
-  {
-    return TUSB_ERROR_FAILED;
-  }
-
-  ASSERT(keycodes && numkey && numkey <=6, ERR_FAILED);
-
-  hid_keyboard_report.modifier = modifier;
-  memset(hid_keyboard_report.keycode, 0, 6);
-  memcpy(hid_keyboard_report.keycode, keycodes, numkey);
-
-  bKeyChanged = true;
-
-  return TUSB_ERROR_NONE;
-}
-#endif
-
-#ifdef TUSB_CFG_DEVICE_HID_MOUSE
-/**************************************************************************/
-/*!
-    @brief Send the supplied mouse event out via HID USB mouse emulation
-
-    @param[in]  buttons
-                Indicate which button(s) are being pressed (see
-                USB_HID_MOUSE_BUTTON_CODE)
-    @param[in]  x
-                Position adjustment on the x scale
-    @param[in]  y
-                Position adjustment on the y scale
-
-    @section EXAMPLE
-
-    @code
-
-    if (usb_isConfigured())
-    {
-      // Move the mouse +10 in the x direction and + 10 in the y direction
-      tusb_hid_mouse_send(0x00, 10, 10);
-    }
-
-    @endcode
-*/
-/**************************************************************************/
-tusb_error_t tusb_hid_mouse_send(uint8_t buttons, int8_t x, int8_t y)
-{
-//  uint32_t start_time = systickGetSecondsActive();
-//  while (bMouseChanged) // TODO Block while previous key hasn't been sent - can use fifo to improve this
-//  {
-//    ASSERT_MESSAGE(systickGetSecondsActive() - start_time < 5, ERR_FAILED, "HID Mouse Timeout");
-//  }
-
-  if (bMouseChanged)
-  {
-    return TUSB_ERROR_FAILED;
-  }
-
-  hid_mouse_report.buttons = buttons;
-  hid_mouse_report.x = x;
-  hid_mouse_report.y = y;
-
-  bMouseChanged = true;
-
-  return TUSB_ERROR_NONE;
-}
-#endif
-
-#endif

+ 5 - 1
tinyusb/device/dcd_lpc175x_6x.c

@@ -355,6 +355,8 @@ static tusb_error_t pipe_control_xfer(uint8_t ep_id, uint8_t* p_buffer, uint16_t
 
   dcd_data.control_dma.remaining_bytes -= packet_len;
   dcd_data.control_dma.p_data          += packet_len;
+
+  return TUSB_ERROR_NONE;
 }
 
 static tusb_error_t pipe_control_write(void const * buffer, uint16_t length)
@@ -428,7 +430,7 @@ tusb_error_t dcd_pipe_control_xfer(uint8_t coreid, tusb_direction_t dir, void *
     dcd_data.control_dma.remaining_bytes = length;
 
     // lpc17xx already received the first DATA OUT packet by now
-    ASSERT_STATUS ( pipe_control_xfer(dir, p_buffer, length) );
+    ASSERT_STATUS ( pipe_control_xfer(ep_data, p_buffer, length) );
   }
 
   //------------- Status Phase (opposite direct to Data) -------------//
@@ -436,6 +438,8 @@ tusb_error_t dcd_pipe_control_xfer(uint8_t coreid, tusb_direction_t dir, void *
   { // only write for CONTROL OUT, CONTROL IN data will be retrieved in dcd_isr
     ASSERT_STATUS ( pipe_control_write(NULL, 0) );
   }
+//  ASSERT_STATUS ( pipe_control_xfer(ep_status, NULL, 0) );
+
 
   return TUSB_ERROR_NONE;
 }