Start to prepare for release.
diff --git a/Demo/CORTEX_LPC1768_GCC_Rowley/usbser.inf b/Demo/CORTEX_LPC1768_GCC_Rowley/usbser.inf new file mode 100644 index 0000000..607fc9e --- /dev/null +++ b/Demo/CORTEX_LPC1768_GCC_Rowley/usbser.inf
@@ -0,0 +1,45 @@ +[Version] +Signature="$Windows NT$" +Class=Ports +ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} +Provider=%LINUX% +DriverVer=08/17/2004,0.0.2.0 +; Copyright (C) 2004 Al Borchers (alborchers@steinerpoint.com) +; released under GNU General Public License + +[Manufacturer] +%LINUX%=GSerialDeviceList + +[GSerialDeviceList] +%GSERIAL%=GSerialInstall, USB\VID_FFFF&PID_0005 + +[DestinationDirs] +DefaultDestDir=10,System32\Drivers + +[GSerialInstall] +CopyFiles=GSerialCopyFiles +AddReg=GSerialAddReg + +[GSerialCopyFiles] +usbser.sys + +[GSerialAddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,usbser.sys +HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" + +[GSerialInstall.Services] +AddService = usbser,0x0002,GSerialService + +[GSerialService] +DisplayName = %GSERIAL_DISPLAY_NAME% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\System32\Drivers\usbser.sys +LoadOrderGroup = Base + +[Strings] +LINUX = "Linux" +GSERIAL = "USB CDC serial port emulation" +GSERIAL_DISPLAY_NAME = "USB CDC serial port emulation" \ No newline at end of file
diff --git a/Demo/CORTEX_LPC1768_IAR/main.c b/Demo/CORTEX_LPC1768_IAR/main.c index 6074eda..9e35881 100644 --- a/Demo/CORTEX_LPC1768_IAR/main.c +++ b/Demo/CORTEX_LPC1768_IAR/main.c
@@ -91,11 +91,15 @@ tick hook). */ #define mainCHECK_DELAY ( ( portTickType ) 5000 / portTICK_RATE_MS ) +/* The toggle rate for the LED. */ +#define mainLED_TOGGLE_RATE ( ( portTickType ) 1000 / portTICK_RATE_MS ) + /* Task priorities. */ #define mainQUEUE_POLL_PRIORITY ( tskIDLE_PRIORITY + 2 ) #define mainSEM_TEST_PRIORITY ( tskIDLE_PRIORITY + 1 ) #define mainBLOCK_Q_PRIORITY ( tskIDLE_PRIORITY + 2 ) #define mainUIP_TASK_PRIORITY ( tskIDLE_PRIORITY + 3 ) +#define mainFLASH_TASK_PRIORITY ( tskIDLE_PRIORITY + 2 ) #define mainINTEGER_TASK_PRIORITY ( tskIDLE_PRIORITY ) #define mainGEN_QUEUE_TASK_PRIORITY ( tskIDLE_PRIORITY ) @@ -126,6 +130,11 @@ extern void vUSBTask( void *pvParameters ); /* + * Very basic task that does nothing but use delays to flash an LED. + */ +static void prvFlashTask( void *pvParameters ); + +/* * Simply returns the current status message for display on served WEB pages. */ char *pcGetTaskStatusMessage( void ); @@ -153,8 +162,11 @@ vStartQueuePeekTasks(); vStartRecursiveMutexTasks(); + /* Create the simple LED flash task. */ + xTaskCreate( prvFlashTask, ( signed char * ) "Flash", configMINIMAL_STACK_SIZE, ( void * ) NULL, mainFLASH_TASK_PRIORITY, NULL ); + /* Create the USB task. */ -// xTaskCreate( vUSBTask, ( signed char * ) "USB", configMINIMAL_STACK_SIZE, ( void * ) NULL, tskIDLE_PRIORITY, NULL ); + xTaskCreate( vUSBTask, ( signed char * ) "USB", configMINIMAL_STACK_SIZE, ( void * ) NULL, tskIDLE_PRIORITY, NULL ); /* Create the uIP task. The WEB server runs in this task. */ xTaskCreate( vuIP_Task, ( signed char * ) "uIP", mainBASIC_WEB_STACK_SIZE, ( void * ) NULL, mainUIP_TASK_PRIORITY, NULL ); @@ -217,7 +229,22 @@ { pcStatusMessage = "An error has been detected in the Mutex test/demo."; } - + } +} +/*-----------------------------------------------------------*/ + +static void prvFlashTask( void *pvParameters ) +{ +portTickType xLastFlashTime; + + /* We need to initialise xLastFlashTime prior to the first call to + vTaskDelayUntil(). */ + xLastFlashTime = xTaskGetTickCount(); + + for(;;) + { + /* Simply toggle the LED between delays. */ + vTaskDelayUntil( &xLastFlashTime, mainLED_TOGGLE_RATE ); vParTestToggleLED( 0 ); } } @@ -261,10 +288,10 @@ /* select main OSC, 12MHz, as the PLL clock source. */ SC->CLKSRCSEL = 0x1; - SC->PLL0CFG = 0x0b; + SC->PLL0CFG = 0x20031; SC->PLL0FEED = PLLFEED_FEED1; SC->PLL0FEED = PLLFEED_FEED2; - + /* Enable PLL, disconnected. */ SC->PLL0CON = 1; SC->PLL0FEED = PLLFEED_FEED1; @@ -274,7 +301,7 @@ SC->CCLKCFG = 0x03; /* Configure flash accelerator. */ - SC->FLASHCFG = 0x303a; + SC->FLASHCFG = 0x403a; /* Check lock bit status. */ while( ( ( SC->PLL0STAT & ( 1 << 26 ) ) == 0 ) );
diff --git a/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.dbgdt b/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.dbgdt index f2b037c..182e449 100644 --- a/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.dbgdt +++ b/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.dbgdt
@@ -19,7 +19,7 @@ - <Column0>124</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths> + <Column0>277</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths> </Workspace> <Disassembly> @@ -55,7 +55,7 @@ <Factory>Workspace</Factory> <Session> - <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/WEB Server</ExpandedNode></NodeDict></Session> + <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session> </Tab> </Tabs> @@ -65,14 +65,14 @@ - <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\main.c</Filename><XPos>0</XPos><YPos>138</YPos><SelStart>5151</SelStart><SelEnd>5151</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\ARM_CM3\port.c</Filename><XPos>0</XPos><YPos>145</YPos><SelStart>5821</SelStart><SelEnd>5821</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\ParTest.c</Filename><XPos>0</XPos><YPos>76</YPos><SelStart>3467</SelStart><SelEnd>3467</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\queue.c</Filename><XPos>0</XPos><YPos>1055</YPos><SelStart>34788</SelStart><SelEnd>34788</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\emac.c</Filename><XPos>0</XPos><YPos>130</YPos><SelStart>5273</SelStart><SelEnd>5273</SelEnd></Tab><ActiveTab>4</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\EthDev_LPC17xx.h</Filename><XPos>0</XPos><YPos>282</YPos><SelStart>17892</SelStart><SelEnd>17902</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> + <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\main.c</Filename><XPos>0</XPos><YPos>146</YPos><SelStart>5266</SelStart><SelEnd>5266</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\ARM_CM3\port.c</Filename><XPos>0</XPos><YPos>145</YPos><SelStart>5821</SelStart><SelEnd>5821</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\ParTest.c</Filename><XPos>0</XPos><YPos>76</YPos><SelStart>3467</SelStart><SelEnd>3467</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\queue.c</Filename><XPos>0</XPos><YPos>1055</YPos><SelStart>34788</SelStart><SelEnd>34788</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\emac.c</Filename><XPos>0</XPos><YPos>130</YPos><SelStart>5273</SelStart><SelEnd>5273</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\EthDev_LPC17xx.h</Filename><XPos>0</XPos><YPos>282</YPos><SelStart>17892</SelStart><SelEnd>17902</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\httpd-cgi.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>45</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> <Positions> - <Top><Row0><Sizes><Toolbar-00abab98><key>iaridepm.enu1</key></Toolbar-00abab98><Toolbar-0673c5d0><key>debuggergui.enu1</key></Toolbar-0673c5d0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>742</Bottom><Right>198</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>756098</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>200</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> + <Top><Row0><Sizes><Toolbar-00abab98><key>iaridepm.enu1</key></Toolbar-00abab98><Toolbar-0455f0b0><key>debuggergui.enu1</key></Toolbar-0455f0b0></Sizes></Row0></Top><Left><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>742</Bottom><Right>351</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>252143</sizeVertCX><sizeVertCY>756098</sizeVertCY></Rect></Wnd1></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>198</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>200</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd0></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> </Desktop> </Project>
diff --git a/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.dni b/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.dni index 23207c4..1929cbe 100644 --- a/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.dni +++ b/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.dni
@@ -1,5 +1,5 @@ [DebugChecksum] -Checksum=1859043743 +Checksum=-1523643934 [DisAssemblyWindow] NumStates=_ 1 State 1=_ 1
diff --git a/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.wsdt b/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.wsdt index ff734cf..fdfdeb8 100644 --- a/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.wsdt +++ b/Demo/CORTEX_LPC1768_IAR/settings/RTOSDemo.wsdt
@@ -25,7 +25,7 @@ <Windows> - <Wnd0> + <Wnd2> <Tabs> <Tab> <Identity>TabID-17246-25544</Identity> @@ -37,7 +37,7 @@ </Tab> </Tabs> - <SelectedTab>0</SelectedTab></Wnd0><Wnd1> + <SelectedTab>0</SelectedTab></Wnd2><Wnd3> <Tabs> <Tab> <Identity>TabID-17664-26559</Identity> @@ -47,20 +47,20 @@ </Tab> <Tab><Identity>TabID-11527-1227</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-6216-4192</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs> - <SelectedTab>0</SelectedTab></Wnd1></Windows> + <SelectedTab>0</SelectedTab></Wnd3></Windows> <Editor> - <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\main.c</Filename><XPos>0</XPos><YPos>138</YPos><SelStart>5151</SelStart><SelEnd>5151</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\ARM_CM3\port.c</Filename><XPos>0</XPos><YPos>145</YPos><SelStart>5821</SelStart><SelEnd>5821</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\ParTest.c</Filename><XPos>0</XPos><YPos>76</YPos><SelStart>3467</SelStart><SelEnd>3467</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\queue.c</Filename><XPos>0</XPos><YPos>1055</YPos><SelStart>34788</SelStart><SelEnd>34788</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\emac.c</Filename><XPos>0</XPos><YPos>130</YPos><SelStart>5273</SelStart><SelEnd>5273</SelEnd></Tab><ActiveTab>4</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\EthDev_LPC17xx.h</Filename><XPos>0</XPos><YPos>282</YPos><SelStart>17892</SelStart><SelEnd>17902</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> + <Pane><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\main.c</Filename><XPos>0</XPos><YPos>146</YPos><SelStart>5266</SelStart><SelEnd>5266</SelEnd></Tab><ActiveTab>0</ActiveTab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\portable\IAR\ARM_CM3\port.c</Filename><XPos>0</XPos><YPos>145</YPos><SelStart>5821</SelStart><SelEnd>5821</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\ParTest.c</Filename><XPos>0</XPos><YPos>76</YPos><SelStart>3467</SelStart><SelEnd>3467</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Source\queue.c</Filename><XPos>0</XPos><YPos>1055</YPos><SelStart>34788</SelStart><SelEnd>34788</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\emac.c</Filename><XPos>0</XPos><YPos>130</YPos><SelStart>5273</SelStart><SelEnd>5273</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\EthDev_LPC17xx.h</Filename><XPos>0</XPos><YPos>282</YPos><SelStart>17892</SelStart><SelEnd>17902</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\webserver\httpd-cgi.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab><Tab><Factory>TextEditor</Factory><Filename>C:\E\Dev\FreeRTOS\WorkingCopy3\Demo\CORTEX_LPC1768_IAR\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>45</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd></Tab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor> <Positions> - <Top><Row0><Sizes><Toolbar-00abab98><key>iaridepm.enu1</key></Toolbar-00abab98></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd0><Rect><Top>-2</Top><Left>-2</Left><Bottom>640</Bottom><Right>389</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>279286</sizeVertCX><sizeVertCY>652439</sizeVertCY></Rect></Wnd0></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd1><Rect><Top>-2</Top><Left>-2</Left><Bottom>300</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>302</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>306911</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd1></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> + <Top><Row0><Sizes><Toolbar-00abab98><key>iaridepm.enu1</key></Toolbar-00abab98></Sizes></Row0><Row1><Sizes/></Row1></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>640</Bottom><Right>389</Right><x>-2</x><y>-2</y><xscreen>200</xscreen><yscreen>200</yscreen><sizeHorzCX>142857</sizeHorzCX><sizeHorzCY>203252</sizeHorzCY><sizeVertCX>279286</sizeVertCX><sizeVertCY>652439</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>300</Bottom><Right>1402</Right><x>-2</x><y>-2</y><xscreen>1404</xscreen><yscreen>302</yscreen><sizeHorzCX>1002857</sizeHorzCX><sizeHorzCY>306911</sizeHorzCY><sizeVertCX>142857</sizeVertCX><sizeVertCY>203252</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions> </Desktop> </Workspace>
diff --git a/Demo/CORTEX_LPC1768_IAR/usbser.inf b/Demo/CORTEX_LPC1768_IAR/usbser.inf new file mode 100644 index 0000000..607fc9e --- /dev/null +++ b/Demo/CORTEX_LPC1768_IAR/usbser.inf
@@ -0,0 +1,45 @@ +[Version] +Signature="$Windows NT$" +Class=Ports +ClassGuid={4D36E978-E325-11CE-BFC1-08002BE10318} +Provider=%LINUX% +DriverVer=08/17/2004,0.0.2.0 +; Copyright (C) 2004 Al Borchers (alborchers@steinerpoint.com) +; released under GNU General Public License + +[Manufacturer] +%LINUX%=GSerialDeviceList + +[GSerialDeviceList] +%GSERIAL%=GSerialInstall, USB\VID_FFFF&PID_0005 + +[DestinationDirs] +DefaultDestDir=10,System32\Drivers + +[GSerialInstall] +CopyFiles=GSerialCopyFiles +AddReg=GSerialAddReg + +[GSerialCopyFiles] +usbser.sys + +[GSerialAddReg] +HKR,,DevLoader,,*ntkern +HKR,,NTMPDriver,,usbser.sys +HKR,,EnumPropPages32,,"MsPorts.dll,SerialPortPropPageProvider" + +[GSerialInstall.Services] +AddService = usbser,0x0002,GSerialService + +[GSerialService] +DisplayName = %GSERIAL_DISPLAY_NAME% +ServiceType = 1 ; SERVICE_KERNEL_DRIVER +StartType = 3 ; SERVICE_DEMAND_START +ErrorControl = 1 ; SERVICE_ERROR_NORMAL +ServiceBinary = %10%\System32\Drivers\usbser.sys +LoadOrderGroup = Base + +[Strings] +LINUX = "Linux" +GSERIAL = "USB CDC serial port emulation" +GSERIAL_DISPLAY_NAME = "USB CDC serial port emulation" \ No newline at end of file