├── Bin ├── DfuFileMgr.exe ├── DfuSeCommand.exe ├── DfuSeDemo.exe ├── Doc │ ├── UM0384.pdf │ ├── UM0391.pdf │ ├── UM0392.pdf │ └── UM0412.pdf ├── Driver │ ├── Win7 │ │ ├── DFU_Win7_x86x64_v3.0.4.0_LogoVerificationReport.pdf │ │ ├── x64 │ │ │ ├── STtube.inf │ │ │ ├── dpinst_amd64.exe │ │ │ ├── sttube.cat │ │ │ └── x64 │ │ │ │ └── STTub30.sys │ │ └── x86 │ │ │ ├── STtube.inf │ │ │ ├── dpinst_x86.exe │ │ │ ├── sttube.cat │ │ │ └── x86 │ │ │ └── STTub30.sys │ ├── Win8 │ │ ├── DFU_3.0.4.0_LogoVerificationReport.pdf │ │ ├── x64 │ │ │ ├── STtube.inf │ │ │ ├── dpinst_amd64.exe │ │ │ ├── sttube.cat │ │ │ └── x64 │ │ │ │ └── STTub30.sys │ │ └── x86 │ │ │ ├── STtube.inf │ │ │ ├── dpinst_x86.exe │ │ │ ├── sttube.cat │ │ │ └── x86 │ │ │ └── STTub30.sys │ └── version.txt ├── MCD-ST Liberty SW License Agreement V2.pdf ├── STDFU.dll ├── STDFUFiles.dll ├── STDFUPRT.dll ├── STDFUTester.exe ├── STM32-C8T6.dfu ├── STM32-C8T6.hex ├── STM32-ZET6.dfu ├── STM32-ZET6.hex ├── STTubeDevice30.dll ├── readme.txt └── version.txt ├── README.md ├── STM32-C8T6.dfu ├── STM32-C8T6.hex ├── STM32-ZET6.dfu ├── STM32-ZET6.hex ├── Sources ├── Binary │ └── Release │ │ ├── DfuFileMgr.exe │ │ ├── DfuSeCommand.exe │ │ ├── DfuSeDemo.exe │ │ ├── STDFU.dll │ │ ├── STDFUFiles.dll │ │ ├── STDFUPRT.dll │ │ └── STTubeDevice30.dll ├── DfuFileMgr │ ├── DFU File Manager.ico │ ├── DfuFileMgr.aps │ ├── DfuFileMgr.cpp │ ├── DfuFileMgr.dsp │ ├── DfuFileMgr.h │ ├── DfuFileMgr.rc │ ├── DfuFileMgr.vcproj │ ├── DfuFileMgr.vcxproj │ ├── DfuFileMgr.vcxproj.filters │ ├── DfuFileMgr.vcxproj.user │ ├── DfuFileMgrDlg.cpp │ ├── DfuFileMgrDlg.h │ ├── DfuFileMgrDlgExtract.cpp │ ├── DfuFileMgrDlgExtract.h │ ├── HexEdit.cpp │ ├── HexEdit.h │ ├── MultiBinDlg.cpp │ ├── MultiBinDlg.h │ ├── RES │ │ ├── DfuFileMgr.ico │ │ └── DfuFileMgr.rc2 │ ├── Release │ │ └── DfuFileMgr.tlog │ │ │ └── DfuFileMgr.lastbuildstate │ ├── StdAfx.cpp │ ├── StdAfx.h │ ├── WhatToDoDlg.cpp │ ├── WhatToDoDlg.h │ ├── first.dfu │ ├── hello.dfu │ ├── idr_main.ico │ └── resource.h ├── DfuSe.sln ├── DfuSe.v12.suo ├── DfuSeCommand │ ├── DfuSeCommand.aps │ ├── DfuSeCommand.cpp │ ├── DfuSeCommand.dsp │ ├── DfuSeCommand.rc │ ├── DfuSeCommand.vcproj │ ├── DfuSeCommand.vcxproj │ ├── DfuSeCommand.vcxproj.filters │ ├── DfuSeCommand.vcxproj.user │ ├── ReadMe.txt │ ├── Release │ │ └── DfuSeCommand.tlog │ │ │ └── DfuSeCommand.lastbuildstate │ ├── Resource.h │ ├── StdAfx.cpp │ ├── StdAfx.h │ └── lib │ │ ├── STDFU.H │ │ ├── STDFU.lib │ │ ├── STDFUFiles.h │ │ ├── STDFUFiles.lib │ │ ├── STDFUPRT.h │ │ ├── STDFUPRT.lib │ │ ├── STTubeDevice.h │ │ └── STTubeDevice30.lib ├── DfuseDemo │ ├── DfuSe Demo.ico │ ├── DfuSeDemo.aps │ ├── DfuSeDemo.cpp │ ├── DfuSeDemo.dsp │ ├── DfuSeDemo.h │ ├── DfuSeDemo.rc │ ├── DfuSeDemo.rc_.txt │ ├── DfuSeDemo.vcproj │ ├── DfuSeDemo.vcxproj │ ├── DfuSeDemo.vcxproj.filters │ ├── DfuSeDemo.vcxproj.user │ ├── DfuSeDemoDlg.cpp │ ├── DfuSeDemoDlg.h │ ├── Enumeration.cpp │ ├── Enumeration.h │ ├── HexEdit.cpp │ ├── HexEdit.h │ ├── Include │ │ ├── GAMEPORT.H │ │ ├── HIDCLASS.H │ │ ├── HIDPDDI.H │ │ ├── HIDPI.H │ │ ├── HIDPORT.H │ │ ├── HIDSDI.H │ │ ├── HIDTOKEN.H │ │ ├── Hid.h │ │ ├── Hidpi++.h │ │ ├── Hidsdi++.h │ │ ├── Hidusage.h │ │ ├── SETUPAPI.H │ │ └── USB100.H │ ├── MappingDlg.cpp │ ├── MappingDlg.h │ ├── OptionBytesDialog.cpp │ ├── OptionBytesDialog.h │ ├── OptionBytesDialog_f2.cpp │ ├── OptionBytesDialog_f2.h │ ├── OptionBytesDialog_l1.cpp │ ├── OptionBytesDialog_l1.h │ ├── RES │ │ ├── DfuSeDemo.ico │ │ └── DfuSeDemo.rc2 │ ├── Release │ │ └── DfuSeDemo.tlog │ │ │ └── DfuSeDemo.lastbuildstate │ ├── StdAfx.cpp │ ├── StdAfx.h │ ├── TextProgressCtrl.cpp │ ├── TextProgressCtrl.h │ ├── lib │ │ └── hid.lib │ └── resource.h ├── Include │ ├── SETUPAPI.H │ ├── STTubeDeviceErr30.h │ ├── STTubeDeviceFun30.h │ ├── STTubeDeviceTyp30.h │ ├── USB100.H │ ├── USBDI.H │ └── USBIOCTL.H ├── MCD-ST Liberty SW License Agreement V2.pdf ├── Release │ ├── Hex2Dfu.iobj │ ├── Hex2Dfu.ipdb │ ├── demo.exe │ ├── demo.iobj │ ├── demo.ipdb │ ├── hello.exe │ ├── hello.iobj │ ├── hello.ipdb │ ├── world.exe │ ├── world.iobj │ └── world.ipdb ├── STDFU │ ├── Internal STDFU.DSP │ ├── Internal STDFU.vcproj │ ├── Internal STDFU.vcxproj │ ├── Internal STDFU.vcxproj.filters │ ├── RESOURCE.H │ ├── Release │ │ ├── STDFU.exp │ │ ├── STDFU.lib │ │ └── STDFU.tlog │ │ │ └── STDFU.lastbuildstate │ ├── STDFU.APS │ ├── STDFU.CPP │ ├── STDFU.DSP │ ├── STDFU.H │ ├── STDFU.def │ ├── STDFU.rc │ ├── STDFU.vcproj │ ├── STDFU.vcxproj │ ├── STDFU.vcxproj.filters │ ├── STDFU.vcxproj.user │ ├── StdAfx.cpp │ └── StdAfx.h ├── STDFUFiles │ ├── DFUFILE.CPP │ ├── DFUFILE.H │ ├── RES │ │ └── STDFUFILES.rc2 │ ├── Release │ │ ├── STDFUFiles.exp │ │ ├── STDFUFiles.lib │ │ └── STDFUFiles.tlog │ │ │ └── STDFUFiles.lastbuildstate │ ├── Resource.h │ ├── STDFUFiles.aps │ ├── STDFUFiles.cpp │ ├── STDFUFiles.def │ ├── STDFUFiles.dsp │ ├── STDFUFiles.h │ ├── STDFUFiles.rc │ ├── STDFUFiles.vcproj │ ├── STDFUFiles.vcxproj │ ├── STDFUFiles.vcxproj.filters │ ├── STDFUFiles.vcxproj.user │ ├── STDFUFilesInc.h │ ├── StdAfx.cpp │ ├── StdAfx.h │ ├── file.c │ └── file.h ├── STDFUPRT │ ├── DFUHREAD.CPP │ ├── DetachThread.CPP │ ├── DetachThread.h │ ├── Image.h │ ├── RES │ │ └── STDFUPRT.rc2 │ ├── Release │ │ ├── STDFUPRT.exp │ │ ├── STDFUPRT.lib │ │ └── STDFUPRT.tlog │ │ │ └── STDFUPRT.lastbuildstate │ ├── Resource.h │ ├── STDFUPRT.APS │ ├── STDFUPRT.cpp │ ├── STDFUPRT.def │ ├── STDFUPRT.dsp │ ├── STDFUPRT.h │ ├── STDFUPRT.rc │ ├── STDFUPRT.vcproj │ ├── STDFUPRT.vcxproj │ ├── STDFUPRT.vcxproj.filters │ ├── STDFUPRTINC.h │ ├── STTHREAD.CPP │ ├── STTHREAD.H │ ├── StdAfx.cpp │ ├── StdAfx.h │ ├── dfuthread.h │ ├── downloadthread.cpp │ ├── downloadthread.h │ ├── image.cpp │ ├── returnthread.cpp │ ├── returnthread.h │ ├── uploadthread.cpp │ └── uploadthread.h ├── STTubeDevice │ ├── IoCode.h │ ├── Release │ │ ├── STTubeDevice30.exp │ │ ├── STTubeDevice30.lib │ │ └── STTubeDevice30.tlog │ │ │ └── STTubeDevice30.lastbuildstate │ ├── Resource.h │ ├── STDevice.cpp │ ├── STDevice.h │ ├── STDevicesMgr.cpp │ ├── STDevicesMgr.h │ ├── STTubeDevice.aps │ ├── STTubeDevice.cpp │ ├── STTubeDevice.def │ ├── STTubeDevice.dsp │ ├── STTubeDevice.h │ ├── STTubeDevice.rc │ ├── STTubeDevice.vcxproj │ ├── STTubeDevice.vcxproj.filters │ ├── STTubeDevice.vcxproj.user │ ├── StdAfx.cpp │ ├── StdAfx.h │ ├── USB100.H │ └── interface │ │ ├── STTubeDeviceErr30.h │ │ ├── STTubeDeviceFun30.h │ │ ├── STTubeDeviceTyp30.h │ │ ├── USB100.H │ │ ├── USBDI.H │ │ └── USBIOCTL.H └── Tools │ ├── GUIDGEN.DLL │ └── GUIDGEN.EXE └── keilkilll.bat /Bin/DfuFileMgr.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/DfuFileMgr.exe -------------------------------------------------------------------------------- /Bin/DfuSeCommand.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/DfuSeCommand.exe -------------------------------------------------------------------------------- /Bin/DfuSeDemo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/DfuSeDemo.exe -------------------------------------------------------------------------------- /Bin/Doc/UM0384.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Doc/UM0384.pdf -------------------------------------------------------------------------------- /Bin/Doc/UM0391.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Doc/UM0391.pdf -------------------------------------------------------------------------------- /Bin/Doc/UM0392.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Doc/UM0392.pdf -------------------------------------------------------------------------------- /Bin/Doc/UM0412.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Doc/UM0412.pdf -------------------------------------------------------------------------------- /Bin/Driver/Win7/DFU_Win7_x86x64_v3.0.4.0_LogoVerificationReport.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/DFU_Win7_x86x64_v3.0.4.0_LogoVerificationReport.pdf -------------------------------------------------------------------------------- /Bin/Driver/Win7/x64/STtube.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/x64/STtube.inf -------------------------------------------------------------------------------- /Bin/Driver/Win7/x64/dpinst_amd64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/x64/dpinst_amd64.exe -------------------------------------------------------------------------------- /Bin/Driver/Win7/x64/sttube.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/x64/sttube.cat -------------------------------------------------------------------------------- /Bin/Driver/Win7/x64/x64/STTub30.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/x64/x64/STTub30.sys -------------------------------------------------------------------------------- /Bin/Driver/Win7/x86/STtube.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/x86/STtube.inf -------------------------------------------------------------------------------- /Bin/Driver/Win7/x86/dpinst_x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/x86/dpinst_x86.exe -------------------------------------------------------------------------------- /Bin/Driver/Win7/x86/sttube.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/x86/sttube.cat -------------------------------------------------------------------------------- /Bin/Driver/Win7/x86/x86/STTub30.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win7/x86/x86/STTub30.sys -------------------------------------------------------------------------------- /Bin/Driver/Win8/DFU_3.0.4.0_LogoVerificationReport.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/DFU_3.0.4.0_LogoVerificationReport.pdf -------------------------------------------------------------------------------- /Bin/Driver/Win8/x64/STtube.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/x64/STtube.inf -------------------------------------------------------------------------------- /Bin/Driver/Win8/x64/dpinst_amd64.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/x64/dpinst_amd64.exe -------------------------------------------------------------------------------- /Bin/Driver/Win8/x64/sttube.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/x64/sttube.cat -------------------------------------------------------------------------------- /Bin/Driver/Win8/x64/x64/STTub30.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/x64/x64/STTub30.sys -------------------------------------------------------------------------------- /Bin/Driver/Win8/x86/STtube.inf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/x86/STtube.inf -------------------------------------------------------------------------------- /Bin/Driver/Win8/x86/dpinst_x86.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/x86/dpinst_x86.exe -------------------------------------------------------------------------------- /Bin/Driver/Win8/x86/sttube.cat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/x86/sttube.cat -------------------------------------------------------------------------------- /Bin/Driver/Win8/x86/x86/STTub30.sys: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/Driver/Win8/x86/x86/STTub30.sys -------------------------------------------------------------------------------- /Bin/Driver/version.txt: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2014 STMicroelectronics ******************** 2 | * File Name : version.txt 3 | * Author : MCD Application Team 4 | * Version : V3.0.4 5 | * Date : 10/20/2014 6 | * Description : Version file for STTub driver 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | *******************************************************************************/ 15 | 16 | 17 | 18 | * V3.0.4 - 10/20/2014 19 | ===================== 20 | 21 | New Features 22 | ************ 23 | + WHQL Certified with and published at WindowsUpdate web site : 24 | - Microsoft Windows 8.x 25 | - Microsoft Windows 8.x x64 26 | 27 | How to use 28 | ********** 29 | + Go to your OS version directory (Win7 or Win8) 30 | + Then go to [x86] directory or [x64] directory based on your OS version: 31 | - Double click on dpinst_x86.exe if you are running a 32-bits OS version 32 | - Double click on dpinst_amd64.exe if you are running a 64-bits OS version 33 | + Follow the instructions 34 | 35 | 36 | * V3.0.1 - 11/24/2009 37 | ===================== 38 | 39 | New Features 40 | ************ 41 | + WHQL Certified with and published at WindowsUpdate web site : 42 | - Microsoft Windows 2000 family, 43 | - Microsoft Windows XP family, x86 44 | - Microsoft Windows XP family, x64 45 | - Microsoft Windows Vista family, x86 46 | - Microsoft Windows Vista family, x64 47 | - Microsoft Windows 7 48 | - Microsoft Windows 7 x64 49 | 50 | 51 | * V3.0.0 - 07/03/2008 52 | ===================== 53 | 54 | New Features 55 | ************ 56 | 57 | + Support devices with several interfaces 58 | + Support for composite / multifunction devices 59 | + Support for WIndows VISTA and Windows Seven 60 | + Support for 64 bits platforms 61 | 62 | Enhancements 63 | ************ 64 | 65 | + make ioctl cancelable 66 | + cancel pending request when application closes 67 | + suspend and hibernate modes 68 | + suspend while requests are pending 69 | + surprise removal during transfer 70 | + robustness issues for malformed iotcl ( microsoft certification tests ) 71 | + memory leak in specific stop cases ( microsoft certification tests ) 72 | + return status codes ( microsoft certification tests ) 73 | 74 | ******************* (C) COPYRIGHT 2014 STMicroelectronics *****END OF FILE****** 75 | -------------------------------------------------------------------------------- /Bin/MCD-ST Liberty SW License Agreement V2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/MCD-ST Liberty SW License Agreement V2.pdf -------------------------------------------------------------------------------- /Bin/STDFU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/STDFU.dll -------------------------------------------------------------------------------- /Bin/STDFUFiles.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/STDFUFiles.dll -------------------------------------------------------------------------------- /Bin/STDFUPRT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/STDFUPRT.dll -------------------------------------------------------------------------------- /Bin/STDFUTester.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/STDFUTester.exe -------------------------------------------------------------------------------- /Bin/STM32-C8T6.dfu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/STM32-C8T6.dfu -------------------------------------------------------------------------------- /Bin/STM32-ZET6.dfu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/STM32-ZET6.dfu -------------------------------------------------------------------------------- /Bin/STTubeDevice30.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/STTubeDevice30.dll -------------------------------------------------------------------------------- /Bin/readme.txt: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2014 STMicroelectronics ******************** 2 | * File Name : readme.txt 3 | * Author : MCD Application Team 4 | * Version : V3.0.4 5 | * Date : 20-October-2014 6 | * Description : read me file for DfuSe Demonstrator 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | *******************************************************************************/ 15 | 16 | Last version 17 | *************** 18 | 19 | - V3.0.4 - 20-October-2014 20 | 21 | Package content 22 | *************** 23 | + Binaries :([INSTALLATION PATH]\BIN\) 24 | 25 | - DfuFileMgr.exe : DFU File Manager aplication, 26 | - DfuSeDemo.exe : DfuSe Demo application, 27 | - DfuSeCommand.exe : DfuSe Command line application, 28 | - STDFUTester.exe : DfuSe Tester application , 29 | - STDFUFiles.dll : Dll that implements .dfu files 30 | - STDFUPRT.dll : Dll that implements Protocol for upload and download, 31 | - STDFU.dll : Dll that issues basic DFU requests, 32 | - STTubeDevice30.dll : Dll layer for easier driver access 33 | + Doc : Documentation directory 34 | - UM0384 : DfuSe Application Programming Interface 35 | - UM0391 : DfuSe File Format Specification 36 | - UM0392 : DfuSe Application Programming Guide 37 | - UM0412 : DfuSe getting started 38 | + Driver([INSTALLATION PATH]\Driver) 39 | 40 | + Sources :([INSTALLATION PATH]\Sources\) 41 | 42 | - Binary 43 | - DfuFileMgr 44 | - DfuSeDemo 45 | - DfuseCommand 46 | - Include 47 | - STDFU 48 | - STDFUFiles 49 | - STDFUPRT 50 | - STTubeDevice 51 | - Tools 52 | - GUID Generator application 53 | Supported OS 54 | *************** 55 | 56 | + Windows 98SE, 2000, XP, Vista, Seven , 8.x (x86 & x64 Windows platforms) 57 | 58 | How to use 59 | *************** 60 | 61 | 1- Uninstall previous versions (Start-> Settings-> Control Panel-> Add or remove programs) 62 | 63 | 2- run DfuSe setup. 64 | 65 | 3- Install your device with the driver and the inf file, go to [Driver] directory 66 | 67 | 4- Use it ! 68 | 69 | 70 | ******************* (C) COPYRIGHT 2014 STMicroelectronics *****END OF FILE****** 71 | 72 | -------------------------------------------------------------------------------- /Bin/version.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Bin/version.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |  2 | # DfuSe-v3.0.5说明文档 3 | 4 | ### 为什么做这个? 5 | 6 | 上段时间做了个[STM32串口IAP的开源项目](http://www.jianshu.com/p/1d6eda886b65),在实际项目中如果采用uart或者485等进行数据通信那么采用串口IAP进行固件升级将会是个很好的选择,但是有的时候我们的产品或者项目不是用的串口而是用的USB和上位机进行通信,那么这时候就没必要用USB转串口工具进行协议转换了,这样不仅存在风险而且增加成本。所以很多时候会采用USB的HID、CDC等子类进行数据通信,在这种情况下进行固件升级就会优选DFU方式了。什么是dfu? 准确的说它也是IAP的子集,只不过我们常认为的IAP是通过串口,而dfu是通过USB而已。 7 | 8 | 通过dfu进行升级需要使用.dfu文件,ST官方提供了将.hex文件或者.bin文件转成.dfu文件的工具,最新的版本是DfuSe—v3.0.4(可以从官方下载),我下载安装之后发现并不能将.hex转.dfu 总是提示我文件错误。还有一个问题就是.bin生成.dfu之后保存的位置总是不对。这真的不能忍呀,于是就直接看官方的MFC源码开始跳进了解BUG的坑。。。 9 | 10 | 11 | ### 我做了些什么? 12 | 13 | > 基于ST官方所提供的DfuSe_v3.0.4版本。 14 | 15 | > 特色: 16 | 17 | - 1.解决ST官方版本无法将.hex格式文件直接转换成.dfu格式文件的痛点。 18 | 19 | - 2.解决ST官方版本保存生成的目标文件之后文件找不到的BUG。 20 | 21 | > 官方v3.0.4使用的是低版本vs,我这里使用的vs2017最新版,如果你要对源码进行修改请安装相关环境。 22 | 23 | 24 | ### 目录结构 25 | 26 | - "Bin": 这里是生成好的最终可以直接使用的目标文件,如果你对源码不感兴趣可以丢弃源码只使用这里的可执行文件就够了。包括: 27 | + "DfuFileMgr.exe": 对,这个就是能把hex文件直接转换成dfu的神器了。 28 | 29 | + "DfuSeDemo.exe": 这个可执行文件就是对下位机进行固件升级的上位机工具了。 30 | 31 | + "DfuSeCommand.exe": 这个是脚本啦,就是给你提供命令行的方式去dfu升级固件,其实在真正的项目中不会使用DfuSeDemo.exe工具进行固件升级的,你想呀,你要是把DfuSeDemo.exe丢给客户,哪个客户能忍受得了?都是直接把这个脚本嵌入到你的客户端应用中去神不知鬼不觉的升级。 32 | 33 | + "STDFUTester.exe": 这个跟你没有半毛钱的关系,不要去操心。 34 | 35 | + ".dll": 这个就是上面4个exe文件运行所需要的动态链接库,不能少了。 36 | 37 | + "Doc": 这是ST官方提供的说明文档,反正我是懒得看,也看不懂。 38 | 39 | + "Driver": 这个东西很重要,有的电脑自带DFU驱动,但有很多就不行,所有这里提供了DFU的驱动。根据的你电脑选择对应的驱动安装就好了。如果你是win10,并且没有自带驱动,那么你就试试win8的驱动吧。 40 | 41 | + "version.txt": 你懂得 42 | 43 | - "Sources": 看名字就知道这是源码了。可以提前告诉你这是基于C++的MFC程序,如果你没玩过MFC那就尽量远离吧,避免溅你一身血。。。 44 | 45 | - "keilkill.bat": 这是dos的脚本程序,因为编译代码后会生成很多链接库或者中间文件之类的东西,很占用存储空间。所以就写了个脚本,当你编译完成之后退出vs然后双击执行这个脚本就会把那些垃圾清除了。 46 | 47 | - "*.dfu和*.hex": 没啥用,就是给你做测试用的。 48 | 49 | 50 | ### 代码工程打开的正确方式 51 | 52 | > 用VS打开Sources文件夹下的DfuSe.sln,这个就不用我教你了吧。 53 | (前4个要按照顺序) 54 | 55 | 1. 重新生成STTubeDevice30 56 | 2. 重新生成STDFU 57 | 3. 重新生成STDFUFiles 58 | 4. 重新生成STFUPRT 59 | 5. 之后就可以将DfuFileMgr、DfuSeDemo、DfuSeCommand中的任意一个设置为启动项进行启动了。 60 | 6. 根据你的期望去实现你的小目标吧。 61 | 62 | ### 接下来有什么打算 63 | 64 | 1. 将DfuFileMgr.exe做成脚本的形式,这样当Keil编译完成生成hex文件之后自动的去调用脚本生成dfu文件。就不用再用鼠标在那点呀点呀的了。 65 | 66 | 2. 这一项还没想到。。。。。。。 67 | 68 | #### 初次提交 2017/06/17 69 | 70 | #### 更新日期 2017/06/20 71 | 首次在DfuSeCommand中实现hex转dfu,不过还存在bug,有时候会转换失败。 72 | 73 | #### 更新日期 2017/06/23 74 | 解决将hex文件转换成dfu文件时有时候失败的bug,完成-t命令进行文件转换。 75 | 76 | #### 更新日期 2017/06/24 77 | 完善命令行,使-t(hex转dfu命令)命令与原有命令兼容。 78 | 79 | 实现使用一条命令> 80 | ``` 81 | .\DfuSeCommand.exe -t test.hex test.dfu -c --de 0 -d --fn test.dfu 即可实现转换与下载。 82 | ```` 83 | 84 | 上述命令可简写为> 85 | ``` 86 | .\DfuSeCommand.exe -t test.hex -c --de 0 -d --fn test.dfu 87 | ``` 88 | 89 | 上述命令可分写为> 90 | ``` 91 | .\DfuSeCommand.exe -t test.hex demo.dfu 将test.hex转成demo.dfu文件 92 | .\DfuSeCommand.exe -c --de 0 连接dfu设备 93 | .\DfuSeCommand.exe -d --fn demo.dfu 下载之前生成的demo.dfu文件 94 | ``` 95 | 96 | #### 更新日期 2017/07/06 97 | 我把.hex文件转.dfu文件的可执行程序及命令行工具放在了另一个仓储,名字"hex2dfu"这样就方便用户直接下载使用了。 98 | [hex2dfu工具](https://github.com/havenxie/winapp-hex2dfu) 99 | 100 | #### 更新日期 2017/07/10 101 | 增加了DfuSeCommand.exe脚本中的*选择器的功能,用户可以用命令: 102 | ``` 103 | .\DfuSeCommand.exe -t *.hex demo.dfu 进行格式转换,或者用下面简写方式 104 | .\DfuSeCommand.exe -t *.hex 105 | ``` 106 | 107 | #### 更新日期 2017/07/17 108 | 解决因引入*选择器而导致的文件路径bug。 109 | -------------------------------------------------------------------------------- /STM32-C8T6.dfu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/STM32-C8T6.dfu -------------------------------------------------------------------------------- /STM32-ZET6.dfu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/STM32-ZET6.dfu -------------------------------------------------------------------------------- /Sources/Binary/Release/DfuFileMgr.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Binary/Release/DfuFileMgr.exe -------------------------------------------------------------------------------- /Sources/Binary/Release/DfuSeCommand.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Binary/Release/DfuSeCommand.exe -------------------------------------------------------------------------------- /Sources/Binary/Release/DfuSeDemo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Binary/Release/DfuSeDemo.exe -------------------------------------------------------------------------------- /Sources/Binary/Release/STDFU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Binary/Release/STDFU.dll -------------------------------------------------------------------------------- /Sources/Binary/Release/STDFUFiles.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Binary/Release/STDFUFiles.dll -------------------------------------------------------------------------------- /Sources/Binary/Release/STDFUPRT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Binary/Release/STDFUPRT.dll -------------------------------------------------------------------------------- /Sources/Binary/Release/STTubeDevice30.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Binary/Release/STTubeDevice30.dll -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DFU File Manager.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/DFU File Manager.ico -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DfuFileMgr.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/DfuFileMgr.aps -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DfuFileMgr.cpp: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade File Manager 5 | * Version : V3.0.5 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // DfuFileMgr.cpp : Defines the class behaviors for the application. 20 | // 21 | 22 | #include "stdafx.h" 23 | #include "DfuFileMgr.h" 24 | #include "DfuFileMgrDlg.h" 25 | #include "DfuFileMgrDlgExtract.h" 26 | #include "WhatToDoDlg.h" 27 | 28 | #ifdef _DEBUG 29 | #define new DEBUG_NEW 30 | #undef THIS_FILE 31 | static char THIS_FILE[] = __FILE__; 32 | #endif 33 | 34 | ///////////////////////////////////////////////////////////////////////////// 35 | // CDfuFileMgrApp 36 | 37 | BEGIN_MESSAGE_MAP(CDfuFileMgrApp, CWinApp) 38 | //{{AFX_MSG_MAP(CDfuFileMgrApp) 39 | //}}AFX_MSG 40 | ON_COMMAND(ID_HELP, CWinApp::OnHelp) 41 | 42 | END_MESSAGE_MAP() 43 | 44 | ///////////////////////////////////////////////////////////////////////////// 45 | // CDfuFileMgrApp construction 46 | 47 | CDfuFileMgrApp::CDfuFileMgrApp() 48 | { 49 | } 50 | 51 | ///////////////////////////////////////////////////////////////////////////// 52 | // The one and only CDfuFileMgrApp object 53 | 54 | CDfuFileMgrApp theApp; 55 | 56 | ///////////////////////////////////////////////////////////////////////////// 57 | // CDfuFileMgrApp initialization 58 | 59 | BOOL CDfuFileMgrApp::InitInstance() 60 | { 61 | // Standard initialization 62 | 63 | CDfuFileMgrDlg dlg; 64 | CDfuFileMgrDlgExtract dlgExtract; 65 | CWhatToDoDlg dlgWhat; 66 | 67 | 68 | //m_pMainWnd = &dlg; 69 | //dlg.DoModal(); 70 | 71 | if (dlgWhat.DoModal()==IDCANCEL) 72 | { 73 | m_pMainWnd = &dlg; 74 | dlg.DoModal(); 75 | } 76 | else 77 | { 78 | m_pMainWnd = &dlgExtract; 79 | dlgExtract.DoModal(); 80 | } 81 | 82 | // Since the dialog has been closed, return FALSE so that we exit the 83 | // application, rather than start the application's message pump. 84 | return FALSE; 85 | } 86 | 87 | 88 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DfuFileMgr.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // DfuFileMgr.h : main header file for the DfuFileMgr application 20 | // 21 | 22 | #if !defined(AFX_DfuFileMgr_H__356461E6_08F9_4DE3_9AE1_BAAE9EC6DEBC__INCLUDED_) 23 | #define AFX_DfuFileMgr_H__356461E6_08F9_4DE3_9AE1_BAAE9EC6DEBC__INCLUDED_ 24 | 25 | #if _MSC_VER > 1000 26 | #pragma once 27 | #endif // _MSC_VER > 1000 28 | 29 | #ifndef __AFXWIN_H__ 30 | #error include 'stdafx.h' before including this file for PCH 31 | #endif 32 | 33 | #include "resource.h" // main symbols 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CDfuFileMgrApp: 37 | // See DfuFileMgr.cpp for the implementation of this class 38 | // 39 | 40 | class CDfuFileMgrApp : public CWinApp 41 | { 42 | public: 43 | CDfuFileMgrApp(); 44 | 45 | // Overrides 46 | // ClassWizard generated virtual function overrides 47 | //{{AFX_VIRTUAL(CDfuFileMgrApp) 48 | public: 49 | virtual BOOL InitInstance(); 50 | //}}AFX_VIRTUAL 51 | 52 | // Implementation 53 | 54 | //{{AFX_MSG(CDfuFileMgrApp) 55 | //}}AFX_MSG 56 | DECLARE_MESSAGE_MAP() 57 | }; 58 | 59 | 60 | ///////////////////////////////////////////////////////////////////////////// 61 | 62 | //{{AFX_INSERT_LOCATION}} 63 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 64 | 65 | #endif // !defined(AFX_DfuFileMgr_H__356461E6_08F9_4DE3_9AE1_BAAE9EC6DEBC__INCLUDED_) 66 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DfuFileMgr.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/DfuFileMgr.rc -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DfuFileMgr.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {c49dcedd-6e82-4e26-b6c9-7ec42183f349} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {0a37191a-ae13-4031-acf2-fabd0f43d0dd} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {0bd16e3d-8053-4189-acb2-448fa1de4433} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | 41 | 42 | Source Files 43 | 44 | 45 | 46 | 47 | Header Files 48 | 49 | 50 | Header Files 51 | 52 | 53 | Header Files 54 | 55 | 56 | Header Files 57 | 58 | 59 | Header Files 60 | 61 | 62 | Header Files 63 | 64 | 65 | Header Files 66 | 67 | 68 | Header Files 69 | 70 | 71 | 72 | 73 | Resource Files 74 | 75 | 76 | Resource Files 77 | 78 | 79 | Resource Files 80 | 81 | 82 | Resource Files 83 | 84 | 85 | Resource Files 86 | 87 | 88 | Resource Files 89 | 90 | 91 | Resource Files 92 | 93 | 94 | 95 | 96 | Resource Files 97 | 98 | 99 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DfuFileMgr.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | DfuFileMgr.rc 5 | 6 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DfuFileMgrDlg.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // DfuFileMgrDlg.h : header file 20 | // 21 | 22 | #if !defined(AFX_DfuFileMgrDLG_H__E5AD213B_6DC4_4073_A0F7_0EEC25640AEC__INCLUDED_) 23 | #define AFX_DfuFileMgrDLG_H__E5AD213B_6DC4_4073_A0F7_0EEC25640AEC__INCLUDED_ 24 | 25 | #if _MSC_VER > 1000 26 | #pragma once 27 | #endif // _MSC_VER > 1000 28 | 29 | ///////////////////////////////////////////////////////////////////////////// 30 | // CDfuFileMgrDlg dialog 31 | 32 | class CDfuFileMgrDlg : public CDialog 33 | { 34 | private: 35 | BOOL GetImageFromS19(CFile *pFile, PBYTE pBuffer, DWORD Size, DWORD S19Size); 36 | 37 | // Construction 38 | public: 39 | CDfuFileMgrDlg(CWnd* pParent = NULL); // standard constructor 40 | 41 | // Dialog Data 42 | //{{AFX_DATA(CDfuFileMgrDlg) 43 | enum { IDD = IDD_DfuFileMgrGenerate_DIALOG }; 44 | CHexEdit m_VersionCtrl; 45 | CHexEdit m_PIDCtrl; 46 | CHexEdit m_VIDCtrl; 47 | CListBox m_ListFiles; 48 | BYTE m_AltSet; 49 | CString m_Bcd; 50 | CString m_Vid; 51 | CString m_Pid; 52 | CString m_TargetName; 53 | //}}AFX_DATA 54 | 55 | // ClassWizard generated virtual function overrides 56 | //{{AFX_VIRTUAL(CDfuFileMgrDlg) 57 | protected: 58 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 59 | //}}AFX_VIRTUAL 60 | 61 | // Implementation 62 | protected: 63 | HICON m_hIcon; 64 | CDWordArray m_Images; 65 | // Generated message map functions 66 | //{{AFX_MSG(CDfuFileMgrDlg) 67 | virtual BOOL OnInitDialog(); 68 | afx_msg void OnPaint(); 69 | afx_msg HCURSOR OnQueryDragIcon(); 70 | afx_msg void OnButtonadd(); 71 | afx_msg void OnButtongenerate(); 72 | afx_msg void OnClose(); 73 | afx_msg void OnButtondelete(); 74 | afx_msg void OnButtonaddbin(); 75 | afx_msg void OnSelchangeListfiles(); 76 | afx_msg void OnButtonadds19hex(); 77 | //}}AFX_MSG 78 | DECLARE_MESSAGE_MAP() 79 | }; 80 | 81 | //{{AFX_INSERT_LOCATION}} 82 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 83 | 84 | #endif // !defined(AFX_DfuFileMgrDLG_H__E5AD213B_6DC4_4073_A0F7_0EEC25640AEC__INCLUDED_) 85 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/DfuFileMgrDlgExtract.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_DFUFILEMGRDLGEXTRACT_H__EE4710CB_FCBF_48D3_8468_8E19F397C3DC__INCLUDED_) 20 | #define AFX_DFUFILEMGRDLGEXTRACT_H__EE4710CB_FCBF_48D3_8468_8E19F397C3DC__INCLUDED_ 21 | 22 | #if _MSC_VER > 1000 23 | #pragma once 24 | #endif // _MSC_VER > 1000 25 | // DfuFileMgrDlgExtract.h : header file 26 | // 27 | 28 | #include "hexedit.h" 29 | 30 | ///////////////////////////////////////////////////////////////////////////// 31 | // CDfuFileMgrDlgExtract dialog 32 | 33 | class CDfuFileMgrDlgExtract : public CDialog 34 | { 35 | // Construction 36 | public: 37 | CDfuFileMgrDlgExtract(CWnd* pParent = NULL); // standard constructor 38 | 39 | // Dialog Data 40 | //{{AFX_DATA(CDfuFileMgrDlgExtract) 41 | enum { IDD = IDD_DfuFileMgrExtract_DIALOG }; 42 | CListBox m_ListFiles; 43 | 44 | 45 | CHexEdit m_PidCtrl; 46 | CHexEdit m_VidCtrl; 47 | CHexEdit m_BcdCtrl; 48 | 49 | CString m_Pid; 50 | CString m_Vid; 51 | CString m_Bcd; 52 | CString m_DfuFile; 53 | 54 | int m_ExtractFormat; 55 | //}}AFX_DATA 56 | 57 | 58 | // Overrides 59 | // ClassWizard generated virtual function overrides 60 | //{{AFX_VIRTUAL(CDfuFileMgrDlgExtract) 61 | protected: 62 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 63 | //}}AFX_VIRTUAL 64 | 65 | // Implementation 66 | protected: 67 | HICON m_hIcon; 68 | HANDLE m_hFile; 69 | CString m_FileBaseName; 70 | // Generated message map functions 71 | //{{AFX_MSG(CDfuFileMgrDlgExtract) 72 | afx_msg void OnButtonopen(); 73 | virtual void OnCancel(); 74 | afx_msg void OnButtonextract(); 75 | afx_msg void OnPaint(); 76 | virtual BOOL OnInitDialog(); 77 | //}}AFX_MSG 78 | DECLARE_MESSAGE_MAP() 79 | }; 80 | 81 | //{{AFX_INSERT_LOCATION}} 82 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 83 | 84 | #endif // !defined(AFX_DFUFILEMGRDLGEXTRACT_H__EE4710CB_FCBF_48D3_8468_8E19F397C3DC__INCLUDED_) 85 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/HexEdit.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/HexEdit.cpp -------------------------------------------------------------------------------- /Sources/DfuFileMgr/HexEdit.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | 20 | #if !defined(AFX_HEXEDIT_H__52939FC1_17E0_467F_8AE8_6A0E367FB5F3__INCLUDED_) 21 | #define AFX_HEXEDIT_H__52939FC1_17E0_467F_8AE8_6A0E367FB5F3__INCLUDED_ 22 | 23 | #if _MSC_VER > 1000 24 | #pragma once 25 | #endif // _MSC_VER > 1000 26 | // HexEdit.h : header file 27 | // 28 | 29 | ///////////////////////////////////////////////////////////////////////////// 30 | // CHexEdit window 31 | struct TextColor { 32 | COLORREF clrTextColor; 33 | COLORREF clrBkColor; 34 | }; 35 | class CHexEdit : public CEdit 36 | { 37 | // Construction 38 | public: 39 | CHexEdit(); 40 | 41 | // Attributes 42 | public: 43 | 44 | protected: 45 | TextColor m_icHexText; 46 | TextColor m_icDecText; 47 | private: 48 | bool m_bEnd; 49 | bool m_bHex; 50 | 51 | // Operations 52 | public: 53 | 54 | // Overrides 55 | // ClassWizard generated virtual function overrides 56 | //{{AFX_VIRTUAL(CHexEdit) 57 | public: 58 | virtual BOOL PreTranslateMessage(MSG* pMsg); 59 | //}}AFX_VIRTUAL 60 | 61 | // Implementation 62 | public: 63 | virtual ~CHexEdit(); 64 | 65 | // Generated message map functions 66 | protected: 67 | //{{AFX_MSG(CHexEdit) 68 | afx_msg HBRUSH CtlColor(CDC* pDC, UINT nCtlColor); 69 | afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags); 70 | // afx_msg void OnChange(); 71 | //}}AFX_MSG 72 | 73 | DECLARE_MESSAGE_MAP() 74 | public: 75 | protected: 76 | virtual void DoDataExchange(CDataExchange* pDX); 77 | public: 78 | virtual BOOL OnCommand(WPARAM wParam, LPARAM lParam); 79 | afx_msg void OnContextMenu(CWnd* /*pWnd*/, CPoint /*point*/); 80 | private: 81 | CBrush m_bkDecBrush;//background dec color brush 82 | CBrush m_bkHexBrush;//background hex color brush 83 | bool IsHexConvertableText(LPTSTR _text); 84 | void FormatClipboard(); 85 | public: 86 | void SetHexColor(COLORREF clrBack, COLORREF clrText); 87 | void SetDecColor(COLORREF clrBack, COLORREF clrText); 88 | afx_msg void OnEnUpdate(); 89 | afx_msg LRESULT OnConvert(WPARAM wParam, LPARAM lParam); 90 | unsigned int GetValue(void); 91 | void SetValue(unsigned int _value,bool _bHex=false); 92 | }; 93 | 94 | ///////////////////////////////////////////////////////////////////////////// 95 | 96 | //{{AFX_INSERT_LOCATION}} 97 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 98 | 99 | #endif // !defined(AFX_HEXEDIT_H__52939FC1_17E0_467F_8AE8_6A0E367FB5F3__INCLUDED_) 100 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/MultiBinDlg.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_MULTIBINDLG_H__70EEAD1A_4D39_4A22_AA91_25BF7D9FD193__INCLUDED_) 20 | #define AFX_MULTIBINDLG_H__70EEAD1A_4D39_4A22_AA91_25BF7D9FD193__INCLUDED_ 21 | 22 | #if _MSC_VER > 1000 23 | #pragma once 24 | #endif // _MSC_VER > 1000 25 | // MultiBinDlg.h : header file 26 | // 27 | 28 | #include "hexedit.h" 29 | 30 | ///////////////////////////////////////////////////////////////////////////// 31 | // CMultiBinDlg dialog 32 | 33 | class CMultiBinDlg : public CDialog 34 | { 35 | // Construction 36 | public: 37 | CMultiBinDlg(CWnd* pParent = NULL); // standard constructor 38 | CStringArray m_Lines; 39 | // Dialog Data 40 | //{{AFX_DATA(CMultiBinDlg) 41 | enum { IDD = IDD_DfuFileMgrMultiBin_DIALOG }; 42 | CButton m_AddBtnCtrl; 43 | CHexEdit m_CtrlStartAddr; 44 | CListBox m_ListFiles; 45 | CEdit m_CtrlFileName; 46 | CString m_StartAddr; 47 | //}}AFX_DATA 48 | 49 | 50 | // Overrides 51 | // ClassWizard generated virtual function overrides 52 | //{{AFX_VIRTUAL(CMultiBinDlg) 53 | protected: 54 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 55 | //}}AFX_VIRTUAL 56 | 57 | // Implementation 58 | protected: 59 | HICON m_hIcon; 60 | // Generated message map functions 61 | //{{AFX_MSG(CMultiBinDlg) 62 | afx_msg void OnButtonfile(); 63 | afx_msg void OnButtonadd(); 64 | afx_msg void OnButtondelete(); 65 | virtual void OnCancel(); 66 | virtual void OnOK(); 67 | afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); 68 | virtual BOOL OnInitDialog(); 69 | afx_msg void OnPaint(); 70 | //}}AFX_MSG 71 | DECLARE_MESSAGE_MAP() 72 | }; 73 | 74 | //{{AFX_INSERT_LOCATION}} 75 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 76 | 77 | #endif // !defined(AFX_MULTIBINDLG_H__70EEAD1A_4D39_4A22_AA91_25BF7D9FD193__INCLUDED_) 78 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/RES/DfuFileMgr.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/RES/DfuFileMgr.ico -------------------------------------------------------------------------------- /Sources/DfuFileMgr/RES/DfuFileMgr.rc2: -------------------------------------------------------------------------------- 1 | // 2 | // DfuFileMgr.RC2 - resources Microsoft Visual C++ does not edit directly 3 | // 4 | 5 | #ifdef APSTUDIO_INVOKED 6 | #error this file is not editable by Microsoft Visual C++ 7 | #endif //APSTUDIO_INVOKED 8 | 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // Add manually edited resources here... 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/Release/DfuFileMgr.tlog/DfuFileMgr.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|Win32|C:\Users\Haven\Desktop\DFU\DfuSe\Sources\| 3 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // stdafx.cpp : source file that includes just the standard includes 20 | // DfuFileMgr.pch will be the pre-compiled header 21 | // stdafx.obj will contain the pre-compiled type information 22 | 23 | #include "stdafx.h" 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/StdAfx.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // stdafx.h : include file for standard system include files, 20 | // or project specific include files that are used frequently, but 21 | // are changed infrequently 22 | // 23 | 24 | #if !defined(AFX_STDAFX_H__B7B71B45_E7A3_4701_A107_259EE96F0381__INCLUDED_) 25 | #define AFX_STDAFX_H__B7B71B45_E7A3_4701_A107_259EE96F0381__INCLUDED_ 26 | 27 | #if _MSC_VER > 1000 28 | #pragma once 29 | #endif // _MSC_VER > 1000 30 | 31 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 32 | 33 | #include // MFC core and standard components 34 | #include // MFC extensions 35 | #include // MFC support for Internet Explorer 4 Common Controls 36 | #ifndef _AFX_NO_AFXCMN_SUPPORT 37 | #include // MFC support for Windows Common Controls 38 | #endif // _AFX_NO_AFXCMN_SUPPORT 39 | 40 | #include "..\Include\usb100.h" 41 | #include "..\STDFU\STDFU.h" 42 | #include "..\STDFUPRT\STDFUPRTINC.h" 43 | #include "..\STDFUFILES\STDFUFILESINC.h" 44 | #include "HexEdit.h" 45 | 46 | //{{AFX_INSERT_LOCATION}} 47 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 48 | 49 | #endif // !defined(AFX_STDAFX_H__B7B71B45_E7A3_4701_A107_259EE96F0381__INCLUDED_) 50 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/WhatToDoDlg.cpp: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // WhatToDoDlg.cpp : implementation file 20 | // 21 | 22 | #include "stdafx.h" 23 | #include "dfufilemgr.h" 24 | #include "WhatToDoDlg.h" 25 | 26 | #ifdef _DEBUG 27 | #define new DEBUG_NEW 28 | #undef THIS_FILE 29 | static char THIS_FILE[] = __FILE__; 30 | #endif 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CWhatToDoDlg dialog 34 | 35 | 36 | CWhatToDoDlg::CWhatToDoDlg(CWnd* pParent /*=NULL*/) 37 | : CDialog(CWhatToDoDlg::IDD, pParent) 38 | { 39 | //{{AFX_DATA_INIT(CWhatToDoDlg) 40 | m_Choice = 0; 41 | //}}AFX_DATA_INIT 42 | m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 43 | } 44 | 45 | 46 | void CWhatToDoDlg::DoDataExchange(CDataExchange* pDX) 47 | { 48 | CDialog::DoDataExchange(pDX); 49 | //{{AFX_DATA_MAP(CWhatToDoDlg) 50 | DDX_Radio(pDX, IDC_RADIOCHOICE, m_Choice); 51 | //}}AFX_DATA_MAP 52 | } 53 | 54 | 55 | BEGIN_MESSAGE_MAP(CWhatToDoDlg, CDialog) 56 | //{{AFX_MSG_MAP(CWhatToDoDlg) 57 | ON_WM_PAINT() 58 | //}}AFX_MSG_MAP 59 | END_MESSAGE_MAP() 60 | 61 | ///////////////////////////////////////////////////////////////////////////// 62 | // CWhatToDoDlg message handlers 63 | 64 | void CWhatToDoDlg::OnOK() 65 | { 66 | UpdateData(TRUE); 67 | 68 | if (m_Choice==0) 69 | CDialog::OnCancel(); 70 | else 71 | CDialog::OnOK(); 72 | } 73 | 74 | void CWhatToDoDlg::OnPaint() 75 | { 76 | // TODO: Add your message handler code here 77 | if (IsIconic()) 78 | { 79 | CPaintDC dc(this); // device context for painting 80 | 81 | SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); 82 | 83 | // Center icon in client rectangle 84 | int cxIcon = GetSystemMetrics(SM_CXICON); 85 | int cyIcon = GetSystemMetrics(SM_CYICON); 86 | CRect rect; 87 | GetClientRect(&rect); 88 | int x = (rect.Width() - cxIcon + 1) / 2; 89 | int y = (rect.Height() - cyIcon + 1) / 2; 90 | 91 | // Draw the icon 92 | dc.DrawIcon(x, y, m_hIcon); 93 | } 94 | else 95 | { 96 | CDialog::OnPaint(); 97 | } 98 | // Do not call CDialog::OnPaint() for painting messages 99 | } 100 | 101 | BOOL CWhatToDoDlg::OnInitDialog() 102 | { 103 | CDialog::OnInitDialog(); 104 | 105 | SetIcon(m_hIcon, TRUE); // Set big icon 106 | SetIcon(m_hIcon, FALSE); // Set small icon 107 | return TRUE; // return TRUE unless you set the focus to a control 108 | // EXCEPTION: OCX Property Pages should return FALSE 109 | } 110 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/WhatToDoDlg.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_WHATTODODLG_H__35109545_83DF_48DC_99BF_309CEB3555BA__INCLUDED_) 20 | #define AFX_WHATTODODLG_H__35109545_83DF_48DC_99BF_309CEB3555BA__INCLUDED_ 21 | 22 | #if _MSC_VER > 1000 23 | #pragma once 24 | #endif // _MSC_VER > 1000 25 | // WhatToDoDlg.h : header file 26 | // 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // CWhatToDoDlg dialog 30 | 31 | class CWhatToDoDlg : public CDialog 32 | { 33 | // Construction 34 | public: 35 | CWhatToDoDlg(CWnd* pParent = NULL); // standard constructor 36 | 37 | // Dialog Data 38 | //{{AFX_DATA(CWhatToDoDlg) 39 | enum { IDD = IDD_DfuFileMgrWhatToDo_DIALOG }; 40 | int m_Choice; 41 | //}}AFX_DATA 42 | 43 | 44 | // Overrides 45 | // ClassWizard generated virtual function overrides 46 | //{{AFX_VIRTUAL(CWhatToDoDlg) 47 | protected: 48 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 49 | //}}AFX_VIRTUAL 50 | 51 | // Implementation 52 | protected: 53 | HICON m_hIcon; 54 | // Generated message map functions 55 | //{{AFX_MSG(CWhatToDoDlg) 56 | virtual void OnOK(); 57 | afx_msg void OnPaint(); 58 | virtual BOOL OnInitDialog(); 59 | //}}AFX_MSG 60 | DECLARE_MESSAGE_MAP() 61 | }; 62 | 63 | //{{AFX_INSERT_LOCATION}} 64 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 65 | 66 | #endif // !defined(AFX_WHATTODODLG_H__35109545_83DF_48DC_99BF_309CEB3555BA__INCLUDED_) 67 | -------------------------------------------------------------------------------- /Sources/DfuFileMgr/first.dfu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/first.dfu -------------------------------------------------------------------------------- /Sources/DfuFileMgr/hello.dfu: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/hello.dfu -------------------------------------------------------------------------------- /Sources/DfuFileMgr/idr_main.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/idr_main.ico -------------------------------------------------------------------------------- /Sources/DfuFileMgr/resource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuFileMgr/resource.h -------------------------------------------------------------------------------- /Sources/DfuSe.v12.suo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuSe.v12.suo -------------------------------------------------------------------------------- /Sources/DfuSeCommand/DfuSeCommand.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuSeCommand/DfuSeCommand.aps -------------------------------------------------------------------------------- /Sources/DfuSeCommand/DfuSeCommand.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuSeCommand/DfuSeCommand.cpp -------------------------------------------------------------------------------- /Sources/DfuSeCommand/DfuSeCommand.rc: -------------------------------------------------------------------------------- 1 | // Microsoft Visual C++ generated resource script. 2 | // 3 | #include "resource.h" 4 | 5 | #define APSTUDIO_READONLY_SYMBOLS 6 | ///////////////////////////////////////////////////////////////////////////// 7 | // 8 | // Generated from the TEXTINCLUDE 2 resource. 9 | // 10 | #include "afxres.h" 11 | 12 | ///////////////////////////////////////////////////////////////////////////// 13 | #undef APSTUDIO_READONLY_SYMBOLS 14 | 15 | ///////////////////////////////////////////////////////////////////////////// 16 | // English (U.S.) resources 17 | 18 | #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) 19 | #ifdef _WIN32 20 | LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US 21 | #pragma code_page(1252) 22 | #endif //_WIN32 23 | 24 | #ifdef APSTUDIO_INVOKED 25 | ///////////////////////////////////////////////////////////////////////////// 26 | // 27 | // TEXTINCLUDE 28 | // 29 | 30 | 1 TEXTINCLUDE 31 | BEGIN 32 | "resource.h\0" 33 | END 34 | 35 | 2 TEXTINCLUDE 36 | BEGIN 37 | "#include ""afxres.h""\r\n" 38 | "\0" 39 | END 40 | 41 | 3 TEXTINCLUDE 42 | BEGIN 43 | "\r\n" 44 | "\0" 45 | END 46 | 47 | #endif // APSTUDIO_INVOKED 48 | 49 | 50 | ///////////////////////////////////////////////////////////////////////////// 51 | // 52 | // Version 53 | // 54 | 55 | VS_VERSION_INFO VERSIONINFO 56 | FILEVERSION 1,1,0,0 57 | PRODUCTVERSION 1,1,0,0 58 | FILEFLAGSMASK 0x17L 59 | #ifdef _DEBUG 60 | FILEFLAGS 0x1L 61 | #else 62 | FILEFLAGS 0x0L 63 | #endif 64 | FILEOS 0x4L 65 | FILETYPE 0x1L 66 | FILESUBTYPE 0x0L 67 | BEGIN 68 | BLOCK "StringFileInfo" 69 | BEGIN 70 | BLOCK "040904b0" 71 | BEGIN 72 | VALUE "FileDescription", "DfuSeCmd Application" 73 | VALUE "FileVersion", "1, 1, 0, 0" 74 | VALUE "InternalName", "DfuSeCmd" 75 | VALUE "LegalCopyright", "Copyright (C) 2014" 76 | VALUE "OriginalFilename", "DfuSeCom.exe" 77 | VALUE "ProductName", " DfuSeCmd Application" 78 | VALUE "ProductVersion", "1, 1, 0, 0" 79 | END 80 | END 81 | BLOCK "VarFileInfo" 82 | BEGIN 83 | VALUE "Translation", 0x409, 1200 84 | END 85 | END 86 | 87 | #endif // English (U.S.) resources 88 | ///////////////////////////////////////////////////////////////////////////// 89 | 90 | 91 | 92 | #ifndef APSTUDIO_INVOKED 93 | ///////////////////////////////////////////////////////////////////////////// 94 | // 95 | // Generated from the TEXTINCLUDE 3 resource. 96 | // 97 | 98 | 99 | ///////////////////////////////////////////////////////////////////////////// 100 | #endif // not APSTUDIO_INVOKED 101 | 102 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/DfuSeCommand.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {10ccd46a-a306-412e-ad7e-df0a071a8b6b} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {c64c9cd2-7213-4986-b6a6-111ba1916421} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {5d8bc568-a17f-43f0-a59b-ec97699bfe25} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | 26 | 27 | Header Files 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/DfuSeCommand.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/ReadMe.txt: -------------------------------------------------------------------------------- 1 | ======================================================================== 2 | CONSOLE APPLICATION : DfuSeCommand 3 | ======================================================================== 4 | 5 | 6 | AppWizard has created this DfuSeCommand application for you. 7 | 8 | This file contains a summary of what you will find in each of the files that 9 | make up your DfuSeCommand application. 10 | 11 | DfuSeCommand.dsp 12 | This file (the project file) contains information at the project level and 13 | is used to build a single project or subproject. Other users can share the 14 | project (.dsp) file, but they should export the makefiles locally. 15 | 16 | DfuSeCommand.cpp 17 | This is the main application source file. 18 | 19 | 20 | ///////////////////////////////////////////////////////////////////////////// 21 | Other standard files: 22 | 23 | StdAfx.h, StdAfx.cpp 24 | These files are used to build a precompiled header (PCH) file 25 | named DfuSeCommand.pch and a precompiled types file named StdAfx.obj. 26 | 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | Other notes: 30 | 31 | AppWizard uses "TODO:" to indicate parts of the source code you 32 | should add to or customize. 33 | 34 | ///////////////////////////////////////////////////////////////////////////// 35 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/Release/DfuSeCommand.tlog/DfuSeCommand.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|Win32|C:\Users\Haven\Desktop\DFU\DfuSe\Sources\| 3 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/Resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by DfuSeCommand.rc 4 | 5 | // Next default values for new objects 6 | // 7 | #ifdef APSTUDIO_INVOKED 8 | #ifndef APSTUDIO_READONLY_SYMBOLS 9 | #define _APS_NEXT_RESOURCE_VALUE 101 10 | #define _APS_NEXT_COMMAND_VALUE 40001 11 | #define _APS_NEXT_CONTROL_VALUE 1001 12 | #define _APS_NEXT_SYMED_VALUE 101 13 | #endif 14 | #endif 15 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // DfuSeCommand.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/StdAfx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #if !defined(AFX_STDAFX_H__CEAF51BB_151A_4DB8_85D7_959F7819E9BB__INCLUDED_) 7 | #define AFX_STDAFX_H__CEAF51BB_151A_4DB8_85D7_959F7819E9BB__INCLUDED_ 8 | 9 | #if _MSC_VER > 1000 10 | #pragma once 11 | #endif // _MSC_VER > 1000 12 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 13 | 14 | #include 15 | 16 | #ifndef _AFX_NO_AFXCMN_SUPPORT 17 | #include // MFC support for Windows Common Controls 18 | #endif // _AFX_NO_AFXCMN_SUPPORT 19 | 20 | #include 21 | #include "setupapi.h" 22 | #include "..\Include\usb100.h" 23 | #include "..\STDFU\STDFU.h" 24 | #include "..\STDFUPRT\STDFUPRTINC.h" 25 | #include "..\STDFUFILES\STDFUFILESINC.h" 26 | 27 | 28 | // TODO: reference additional headers your program requires here 29 | 30 | //{{AFX_INSERT_LOCATION}} 31 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 32 | 33 | #endif // !defined(AFX_STDAFX_H__CEAF51BB_151A_4DB8_85D7_959F7819E9BB__INCLUDED_) 34 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/lib/STDFU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuSeCommand/lib/STDFU.lib -------------------------------------------------------------------------------- /Sources/DfuSeCommand/lib/STDFUFiles.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // STDFUFILES.h : main header file for the STDFUFILES DLL 20 | // 21 | 22 | #if !defined(AFX_STDFUFILES_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_) 23 | #define AFX_STDFUFILES_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_ 24 | 25 | #define WINVER 0x0501 26 | 27 | #if _MSC_VER > 1000 28 | #pragma once 29 | #endif // _MSC_VER > 1000 30 | 31 | #ifndef __AFXWIN_H__ 32 | #error include 'stdafx.h' before including this file for PCH 33 | #endif 34 | 35 | #include "resource.h" // main symbols 36 | 37 | ///////////////////////////////////////////////////////////////////////////// 38 | // CSTDFUFILESApp 39 | // See STDFUFILES.cpp for the implementation of this class 40 | // 41 | 42 | class CSTDFUFILESApp : public CWinApp 43 | { 44 | public: 45 | CSTDFUFILESApp(); 46 | 47 | // Overrides 48 | // ClassWizard generated virtual function overrides 49 | //{{AFX_VIRTUAL(CSTDFUFILESApp) 50 | public: 51 | virtual int ExitInstance(); 52 | //}}AFX_VIRTUAL 53 | 54 | //{{AFX_MSG(CSTDFUFILESApp) 55 | // NOTE - the ClassWizard will add and remove member functions here. 56 | // DO NOT EDIT what you see in these blocks of generated code ! 57 | //}}AFX_MSG 58 | DECLARE_MESSAGE_MAP() 59 | }; 60 | 61 | 62 | ///////////////////////////////////////////////////////////////////////////// 63 | 64 | //{{AFX_INSERT_LOCATION}} 65 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 66 | 67 | #endif // !defined(AFX_STDFUFILES_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_) 68 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/lib/STDFUFiles.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuSeCommand/lib/STDFUFiles.lib -------------------------------------------------------------------------------- /Sources/DfuSeCommand/lib/STDFUPRT.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // STDFUPRT.h : main header file for the STDFUPRT DLL 20 | // 21 | 22 | #if !defined(AFX_STDFUPRT_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_) 23 | #define AFX_STDFUPRT_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_ 24 | 25 | #if _MSC_VER > 1000 26 | #pragma once 27 | #endif // _MSC_VER > 1000 28 | 29 | #ifndef __AFXWIN_H__ 30 | #error include 'stdafx.h' before including this file for PCH 31 | #endif 32 | 33 | #include "resource.h" // main symbols 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CSTDFUPRTApp 37 | // See STDFUPRT.cpp for the implementation of this class 38 | // 39 | 40 | class CSTDFUPRTApp : public CWinApp 41 | { 42 | public: 43 | CSTDFUPRTApp(); 44 | 45 | // Overrides 46 | // ClassWizard generated virtual function overrides 47 | //{{AFX_VIRTUAL(CSTDFUPRTApp) 48 | public: 49 | virtual int ExitInstance(); 50 | //}}AFX_VIRTUAL 51 | 52 | //{{AFX_MSG(CSTDFUPRTApp) 53 | // NOTE - the ClassWizard will add and remove member functions here. 54 | // DO NOT EDIT what you see in these blocks of generated code ! 55 | //}}AFX_MSG 56 | DECLARE_MESSAGE_MAP() 57 | }; 58 | 59 | 60 | ///////////////////////////////////////////////////////////////////////////// 61 | 62 | //{{AFX_INSERT_LOCATION}} 63 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 64 | 65 | #endif // !defined(AFX_STDFUPRT_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_) 66 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/lib/STDFUPRT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuSeCommand/lib/STDFUPRT.lib -------------------------------------------------------------------------------- /Sources/DfuSeCommand/lib/STTubeDevice.h: -------------------------------------------------------------------------------- 1 | // STTubeDevice.h : main header file for the STTUBEDEVICE DLL 2 | // 3 | 4 | #if !defined(AFX_STTUBEDEVICE_H__3C699C04_5F0F_11D5_9645_0050041B1E9F__INCLUDED_) 5 | #define AFX_STTUBEDEVICE_H__3C699C04_5F0F_11D5_9645_0050041B1E9F__INCLUDED_ 6 | 7 | #if _MSC_VER > 1000 8 | #pragma once 9 | #endif // _MSC_VER > 1000 10 | 11 | #ifndef __AFXWIN_H__ 12 | #error include 'stdafx.h' before including this file for PCH 13 | #endif 14 | 15 | #include "resource.h" // main symbols 16 | 17 | ///////////////////////////////////////////////////////////////////////////// 18 | // CSTTubeDeviceApp 19 | // See STTubeDevice.cpp for the implementation of this class 20 | // 21 | class CSTDevicesManager; 22 | 23 | class CSTTubeDeviceApp : public CWinApp 24 | { 25 | private: 26 | CSTDevicesManager *m_pMgr; 27 | public: 28 | CSTDevicesManager *GetMgr() { return m_pMgr; } 29 | CSTTubeDeviceApp(); 30 | 31 | // Overrides 32 | // ClassWizard generated virtual function overrides 33 | //{{AFX_VIRTUAL(CSTTubeDeviceApp) 34 | public: 35 | virtual BOOL InitInstance(); 36 | virtual int ExitInstance(); 37 | //}}AFX_VIRTUAL 38 | 39 | //{{AFX_MSG(CSTTubeDeviceApp) 40 | // NOTE - the ClassWizard will add and remove member functions here. 41 | // DO NOT EDIT what you see in these blocks of generated code ! 42 | //}}AFX_MSG 43 | DECLARE_MESSAGE_MAP() 44 | }; 45 | 46 | 47 | ///////////////////////////////////////////////////////////////////////////// 48 | 49 | //{{AFX_INSERT_LOCATION}} 50 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 51 | 52 | #endif // !defined(AFX_STTUBEDEVICE_H__3C699C04_5F0F_11D5_9645_0050041B1E9F__INCLUDED_) 53 | -------------------------------------------------------------------------------- /Sources/DfuSeCommand/lib/STTubeDevice30.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuSeCommand/lib/STTubeDevice30.lib -------------------------------------------------------------------------------- /Sources/DfuseDemo/DfuSe Demo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/DfuSe Demo.ico -------------------------------------------------------------------------------- /Sources/DfuseDemo/DfuSeDemo.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/DfuSeDemo.aps -------------------------------------------------------------------------------- /Sources/DfuseDemo/DfuSeDemo.cpp: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // DfuSeDemo.cpp : Defines the class behaviors for the application. 20 | // 21 | 22 | #include "stdafx.h" 23 | #include "DfuSeDemo.h" 24 | #include "DfuSeDemoDlg.h" 25 | 26 | #ifdef _DEBUG 27 | #define new DEBUG_NEW 28 | #undef THIS_FILE 29 | static char THIS_FILE[] = __FILE__; 30 | #endif 31 | 32 | ///////////////////////////////////////////////////////////////////////////// 33 | // CDfuSeDemoApp 34 | 35 | BEGIN_MESSAGE_MAP(CDfuSeDemoApp, CWinApp) 36 | //{{AFX_MSG_MAP(CDfuSeDemoApp) 37 | //}}AFX_MSG 38 | ON_COMMAND(ID_HELP, CWinApp::OnHelp) 39 | END_MESSAGE_MAP() 40 | 41 | ///////////////////////////////////////////////////////////////////////////// 42 | // CDfuSeDemoApp construction 43 | 44 | CDfuSeDemoApp::CDfuSeDemoApp() 45 | { 46 | } 47 | 48 | ///////////////////////////////////////////////////////////////////////////// 49 | // The one and only CDfuSeDemoApp object 50 | 51 | CDfuSeDemoApp theApp; 52 | 53 | ///////////////////////////////////////////////////////////////////////////// 54 | // CDfuSeDemoApp initialization 55 | 56 | BOOL CDfuSeDemoApp::InitInstance() 57 | { 58 | AfxEnableControlContainer(); 59 | 60 | // Standard initialization 61 | CDfuSeDemoDlg dlg; 62 | m_pMainWnd = &dlg; 63 | int nResponse = dlg.DoModal(); 64 | if (nResponse == IDOK) 65 | { 66 | } 67 | else if (nResponse == IDCANCEL) 68 | { 69 | } 70 | 71 | // Since the dialog has been closed, return FALSE so that we exit the 72 | // application, rather than start the application's message pump. 73 | return FALSE; 74 | } 75 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/DfuSeDemo.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // DfuSeDemo.h : main header file for the DfuSeDemo application 20 | // 21 | 22 | #if !defined(AFX_DFUSEDEMO_H__D233F3F5_712C_43BF_9A68_644425AD33C8__INCLUDED_) 23 | #define AFX_DFUSEDEMO_H__D233F3F5_712C_43BF_9A68_644425AD33C8__INCLUDED_ 24 | 25 | #if _MSC_VER > 1000 26 | #pragma once 27 | #endif // _MSC_VER > 1000 28 | 29 | #ifndef __AFXWIN_H__ 30 | #error include 'stdafx.h' before including this file for PCH 31 | #endif 32 | 33 | #include "resource.h" // main symbols 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CDfuSeDemoApp: 37 | // See DfuSeDemo.cpp for the implementation of this class 38 | // 39 | 40 | class CDfuSeDemoApp : public CWinApp 41 | { 42 | public: 43 | CDfuSeDemoApp(); 44 | 45 | // Overrides 46 | // ClassWizard generated virtual function overrides 47 | //{{AFX_VIRTUAL(CDfuSeDemoApp) 48 | public: 49 | virtual BOOL InitInstance(); 50 | //}}AFX_VIRTUAL 51 | 52 | // Implementation 53 | 54 | //{{AFX_MSG(CDfuSeDemoApp) 55 | //}}AFX_MSG 56 | DECLARE_MESSAGE_MAP() 57 | }; 58 | 59 | 60 | ///////////////////////////////////////////////////////////////////////////// 61 | 62 | //{{AFX_INSERT_LOCATION}} 63 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 64 | 65 | #endif // !defined(AFX_DFUSEDEMO_H__D233F3F5_712C_43BF_9A68_644425AD33C8__INCLUDED_) 66 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/DfuSeDemo.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/DfuSeDemo.rc -------------------------------------------------------------------------------- /Sources/DfuseDemo/DfuSeDemo.rc_.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/DfuSeDemo.rc_.txt -------------------------------------------------------------------------------- /Sources/DfuseDemo/DfuSeDemo.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {f4d096d8-639c-4d41-b253-d0273b94f9ae} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {aad2b09b-46c9-4268-a5e5-eb438035d338} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {2bb5472e-7705-49d4-9997-a154efbbe464} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | Source Files 44 | 45 | 46 | Source Files 47 | 48 | 49 | 50 | 51 | Source Files 52 | 53 | 54 | 55 | 56 | Header Files 57 | 58 | 59 | Header Files 60 | 61 | 62 | Header Files 63 | 64 | 65 | Header Files 66 | 67 | 68 | Header Files 69 | 70 | 71 | Header Files 72 | 73 | 74 | Header Files 75 | 76 | 77 | Header Files 78 | 79 | 80 | Header Files 81 | 82 | 83 | Header Files 84 | 85 | 86 | Header Files 87 | 88 | 89 | 90 | 91 | Resource Files 92 | 93 | 94 | Resource Files 95 | 96 | 97 | Resource Files 98 | 99 | 100 | Resource Files 101 | 102 | 103 | 104 | 105 | Resource Files 106 | 107 | 108 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/DfuSeDemo.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | DfuSeDemo.rc 5 | 6 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/Enumeration.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #ifndef _ENUMERATION_H_ 20 | #define _ENUMERATION_H_ 21 | 22 | class CEnumerator : public CObject 23 | { 24 | // Construction 25 | public: 26 | bool FindHidDevice ( 27 | OUT PHID_DEVICE*, 28 | OUT PULONG); 29 | 30 | void CloseHidDevice ( 31 | IN PHID_DEVICE HidDevice); 32 | 33 | // Attributes 34 | public: 35 | 36 | // Operations 37 | public: 38 | 39 | // Implementation 40 | public: 41 | 42 | // Generated message map functions 43 | protected: 44 | 45 | private: 46 | BOOLEAN OpenHidDevice ( 47 | IN HDEVINFO, 48 | IN PSP_INTERFACE_DEVICE_DATA, 49 | IN OUT PHID_DEVICE 50 | ); 51 | }; 52 | 53 | #endif -------------------------------------------------------------------------------- /Sources/DfuseDemo/HexEdit.cpp: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // HexEdit.cpp : implementation file 20 | // 21 | 22 | #include "stdafx.h" 23 | #include "HexEdit.h" 24 | #include 25 | 26 | 27 | #ifdef _DEBUG 28 | #define new DEBUG_NEW 29 | #undef THIS_FILE 30 | static char THIS_FILE[] = __FILE__; 31 | #endif 32 | 33 | ///////////////////////////////////////////////////////////////////////////// 34 | // CHexEdit 35 | 36 | CHexEdit::CHexEdit() 37 | { 38 | } 39 | 40 | CHexEdit::~CHexEdit() 41 | { 42 | } 43 | 44 | 45 | BEGIN_MESSAGE_MAP(CHexEdit, CEdit) 46 | //{{AFX_MSG_MAP(CHexEdit) 47 | ON_WM_CHAR() 48 | //}}AFX_MSG_MAP 49 | END_MESSAGE_MAP() 50 | 51 | ///////////////////////////////////////////////////////////////////////////// 52 | // CHexEdit message handlers 53 | 54 | void CHexEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) 55 | { 56 | CString Tmp; 57 | int StartSel; 58 | int StopSel; 59 | 60 | GetWindowText(Tmp); 61 | 62 | if (nChar==VK_BACK) 63 | CEdit::OnChar(nChar, nRepCnt, nFlags); 64 | else 65 | { 66 | if ( (nChar>='a') && (nChar<='f') ) 67 | nChar-=0x20; 68 | if ( ( (nChar>='a') && (nChar<='f') ) || 69 | ( (nChar>='0') && (nChar<='9') ) || 70 | ( (nChar>='A') && (nChar<='F') ) ) 71 | { 72 | GetSel(StartSel, StopSel); 73 | 74 | if ( (StartSel!=StopSel) || (Tmp.GetLength()<4) ) 75 | { 76 | 77 | _AFX_THREAD_STATE* pThreadState = _afxThreadState.GetData(); 78 | DefWindowProc(pThreadState->m_lastSentMsg.message, 79 | nChar, pThreadState->m_lastSentMsg.lParam); 80 | } 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/HexEdit.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_HEXEDIT_H__7379F0FE_5740_45C6_9655_D66F608A2D3A__INCLUDED_) 20 | #define AFX_HEXEDIT_H__7379F0FE_5740_45C6_9655_D66F608A2D3A__INCLUDED_ 21 | 22 | #if _MSC_VER > 1000 23 | #pragma once 24 | #endif // _MSC_VER > 1000 25 | // HexEdit.h : header file 26 | // 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // CHexEdit window 30 | 31 | class CHexEdit : public CEdit 32 | { 33 | // Construction 34 | public: 35 | CHexEdit(); 36 | 37 | // Attributes 38 | public: 39 | 40 | // Operations 41 | public: 42 | 43 | // Overrides 44 | // ClassWizard generated virtual function overrides 45 | //{{AFX_VIRTUAL(CHexEdit) 46 | //}}AFX_VIRTUAL 47 | 48 | // Implementation 49 | public: 50 | virtual ~CHexEdit(); 51 | 52 | // Generated message map functions 53 | protected: 54 | //{{AFX_MSG(CHexEdit) 55 | afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags); 56 | //}}AFX_MSG 57 | 58 | DECLARE_MESSAGE_MAP() 59 | }; 60 | 61 | ///////////////////////////////////////////////////////////////////////////// 62 | 63 | //{{AFX_INSERT_LOCATION}} 64 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 65 | 66 | #endif // !defined(AFX_HEXEDIT_H__7379F0FE_5740_45C6_9655_D66F608A2D3A__INCLUDED_) 67 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/Include/HIDPDDI.H: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/Include/HIDPDDI.H -------------------------------------------------------------------------------- /Sources/DfuseDemo/Include/HIDPI.H: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/Include/HIDPI.H -------------------------------------------------------------------------------- /Sources/DfuseDemo/Include/HIDTOKEN.H: -------------------------------------------------------------------------------- 1 | /*++ 2 | 3 | Copyright (c) 1996 Microsoft Corporation 4 | 5 | Module Name: 6 | 7 | HIDPI.H 8 | 9 | Abstract: 10 | 11 | Public Definitions of HID USAGES. 12 | 13 | Environment: 14 | 15 | Kernel & user mode 16 | 17 | Revision History: 18 | 19 | Aug-1996 : created Kenneth D. Ray 20 | 21 | --*/ 22 | 23 | #ifndef _HIDTOKEN_H 24 | #define _HIDTOKEN_H 25 | 26 | #define HIDP_ITEM_LONG 0xFE 27 | #define HIDP_ITEM_LENGTH_DATA 0x03 28 | 29 | 30 | // Main Items 31 | // Only main items with one byte data (bSize = 1) are supported. 32 | #define HIDP_MAIN_INPUT_1 0x81 33 | #define HIDP_MAIN_INPUT_2 0x82 34 | #define HIDP_MAIN_OUTPUT_1 0x91 35 | #define HIDP_MAIN_OUTPUT_2 0x92 36 | #define HIDP_MAIN_FEATURE_1 0xB1 37 | #define HIDP_MAIN_FEATURE_2 0xB2 38 | #define HIDP_MAIN_COLLECTION 0xA1 39 | #define HIDP_MAIN_ENDCOLLECTION 0xC0 40 | #define HIDP_ISMAIN(x) (0 == ((x) & 0x0C)) 41 | #define HIDP_MAIN_COLLECTION_LINK 0x00 42 | #define HIDP_MAIN_COLLECTION_APP 0x01 43 | 44 | // Global Items 45 | #define HIDP_GLOBAL_USAGE_PAGE_1 0x05 // UsagePage of 1 byte 46 | #define HIDP_GLOBAL_USAGE_PAGE_2 0x06 // UsagePage of 2 bytes 47 | #define HIDP_GLOBAL_USAGE_PAGE_4 0x07 // UsagePage of 4 bytes 48 | #define HIDP_GLOBAL_LOG_MIN_1 0x15 // minimum value of size 1 byte. 49 | #define HIDP_GLOBAL_LOG_MIN_2 0x16 // minimum value of size 2 bytes. 50 | #define HIDP_GLOBAL_LOG_MIN_4 0x17 // minimum value of size 4 bytes. 51 | #define HIDP_GLOBAL_LOG_MAX_1 0X25 // maximum of size 1 byte. 52 | #define HIDP_GLOBAL_LOG_MAX_2 0X26 // maximum of size 2 bytes. 53 | #define HIDP_GLOBAL_LOG_MAX_4 0X27 // maximum of size 4 bytes. 54 | 55 | #define HIDP_GLOBAL_PHY_MIN_1 0x35 // minimum value of size 1 byte. 56 | #define HIDP_GLOBAL_PHY_MIN_2 0x36 // minimum value of size 2 bytes. 57 | #define HIDP_GLOBAL_PHY_MIN_4 0x37 // minimum value of size 4 bytes. 58 | #define HIDP_GLOBAL_PHY_MAX_1 0X45 // maximum of size 1 byte. 59 | #define HIDP_GLOBAL_PHY_MAX_2 0X46 // maximum of size 2 bytes. 60 | #define HIDP_GLOBAL_PHY_MAX_4 0X47 // maximum of size 4 bytes. 61 | 62 | #define HIDP_GLOBAL_UNIT_EXP_1 0x55 // Exponent of size 1 byte. 63 | #define HIDP_GLOBAL_UNIT_EXP_2 0x56 // Exponent of size 2 bytes. 64 | #define HIDP_GLOBAL_UNIT_EXP_4 0x57 // Exponent of size 4 bytes. 65 | #define HIDP_GLOBAL_UNIT_1 0x65 // UNIT of size 1 byte. 66 | #define HIDP_GLOBAL_UNIT_2 0x66 // UNIT of size 2 bytes. 67 | #define HIDP_GLOBAL_UNIT_4 0x67 // UNIT of size 4 bytes. 68 | 69 | #define HIDP_GLOBAL_REPORT_SIZE 0x75 // Report size in bits 70 | #define HIDP_GLOBAL_REPORT_ID 0x85 // ID only size 1 byte supported 71 | #define HIDP_GLOBAL_REPORT_COUNT_1 0x95 // Number of data fields 1 byte 72 | #define HIDP_GLOBAL_REPORT_COUNT_2 0x96 // Number of data fields 2 bytes 73 | #define HIDP_GLOBAL_PUSH 0xA4 // The dreaded PUSH command 74 | #define HIDP_GLOBAL_POP 0xB4 // And the dreaded POP command 75 | 76 | // Local Items 77 | #define HIDP_LOCAL_USAGE_1 0x09 // 78 | #define HIDP_LOCAL_USAGE_2 0x0A // 79 | #define HIDP_LOCAL_USAGE_4 0x0B // 80 | #define HIDP_LOCAL_USAGE_MIN_1 0x19 81 | #define HIDP_LOCAL_USAGE_MIN_2 0x1A 82 | #define HIDP_LOCAL_USAGE_MIN_4 0x1B 83 | #define HIDP_LOCAL_USAGE_MAX_1 0x29 84 | #define HIDP_LOCAL_USAGE_MAX_2 0x2A 85 | #define HIDP_LOCAL_USAGE_MAX_4 0x2B 86 | #define HIDP_LOCAL_DESIG_INDEX 0x39 // Designators of byte size supported 87 | #define HIDP_LOCAL_DESIG_MIN 0x49 88 | #define HIDP_LOCAL_DESIG_MAX 0x59 89 | #define HIDP_LOCAL_STRING_INDEX 0x79 // String indices of size byte supported 90 | #define HIDP_LOCAL_STRING_MIN 0x89 91 | #define HIDP_LOCAL_STRING_MAX 0x99 92 | #define HIDP_LOCAL_DELIMITER 0xA9 93 | 94 | #endif 95 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/Include/Hidpi++.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/Include/Hidpi++.h -------------------------------------------------------------------------------- /Sources/DfuseDemo/MappingDlg.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_MAPPINGDLG_H__EFB54688_91DC_4CBA_BB10_7F4277C63683__INCLUDED_) 20 | #define AFX_MAPPINGDLG_H__EFB54688_91DC_4CBA_BB10_7F4277C63683__INCLUDED_ 21 | 22 | #if _MSC_VER > 1000 23 | #pragma once 24 | #endif // _MSC_VER > 1000 25 | // MappingDlg.h : header file 26 | // 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // CMappingDlg dialog 30 | 31 | class CMappingDlg : public CDialog 32 | { 33 | // Construction 34 | public: 35 | CString m_MapDesc; 36 | CMappingDlg(CWnd* pParent = NULL); // standard constructor 37 | 38 | // Dialog Data 39 | //{{AFX_DATA(CMappingDlg) 40 | enum { IDD = IDD_DfuSeMapping_DIALOG }; 41 | CListCtrl m_Mapping; 42 | //}}AFX_DATA 43 | 44 | 45 | // Overrides 46 | // ClassWizard generated virtual function overrides 47 | //{{AFX_VIRTUAL(CMappingDlg) 48 | protected: 49 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 50 | //}}AFX_VIRTUAL 51 | 52 | // Implementation 53 | protected: 54 | 55 | // Generated message map functions 56 | //{{AFX_MSG(CMappingDlg) 57 | virtual BOOL OnInitDialog(); 58 | virtual void OnCancel(); 59 | //}}AFX_MSG 60 | DECLARE_MESSAGE_MAP() 61 | }; 62 | 63 | //{{AFX_INSERT_LOCATION}} 64 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 65 | 66 | #endif // !defined(AFX_MAPPINGDLG_H__EFB54688_91DC_4CBA_BB10_7F4277C63683__INCLUDED_) 67 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/OptionBytesDialog.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_OPTIONBYTESDIALOG_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_) 20 | #define AFX_OPTIONBYTESDIALOG_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_ 21 | 22 | #if _MSC_VER > 1000 23 | #pragma once 24 | #endif // _MSC_VER > 1000 25 | // OptionBytesDialog.h : header file 26 | // 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // COptionBytesDialog dialog 30 | 31 | class COptionBytesDialog : public CDialog 32 | { 33 | // Construction 34 | public: 35 | 36 | HANDLE m_phDevice; 37 | BYTE * m_pBuffer; 38 | ULONG m_nBytes; 39 | USHORT m_nBlock; 40 | 41 | void* GetSIFData(LPBYTE User, LPBYTE RDP, LPBYTE Data0, LPBYTE Data1,LPBYTE WRP0, LPBYTE WRP1, LPBYTE WRP2, LPBYTE WRP3); 42 | void* SetSIFData(BYTE User, BYTE RDP, BYTE Data0, BYTE Data1,BYTE WRP0, BYTE WRP1, BYTE WRP2, BYTE WRP3); 43 | 44 | COptionBytesDialog(CWnd* pParent = NULL); // standard constructor 45 | 46 | // Dialog Data 47 | //{{AFX_DATA(COptionBytesDialog) 48 | enum { IDD = IDD_OPTION_BYTE_DIALOG }; 49 | CString m_RDP_Value; 50 | CString m_WRP0_Value; 51 | CString m_WRP1_Value; 52 | CString m_WRP2_Value; 53 | CString m_WRP3_Value; 54 | CString m_User_Value; 55 | CString m_Data0_Value; 56 | CString m_Data1_Value; 57 | BOOL m_nRST_STDBY_Value; 58 | BOOL m_nRST_STOP_Value; 59 | BOOL m_ReadOutProtectionEnabledValue; 60 | BOOL m_WDG_SW_Value; 61 | //}}AFX_DATA 62 | 63 | 64 | // Overrides 65 | // ClassWizard generated virtual function overrides 66 | //{{AFX_VIRTUAL(COptionBytesDialog) 67 | protected: 68 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 69 | //}}AFX_VIRTUAL 70 | 71 | // Implementation 72 | protected: 73 | 74 | // Generated message map functions 75 | //{{AFX_MSG(COptionBytesDialog) 76 | afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); 77 | afx_msg void OnReadOutProtectionEnabledCheck(); 78 | afx_msg void OnChangeUserEdit(); 79 | afx_msg void OnWdgSw(); 80 | afx_msg void OnNrstStopCheck2(); 81 | afx_msg void OnNrstStdbyCheck(); 82 | afx_msg void OnApply(); 83 | virtual void OnCancel(); 84 | //}}AFX_MSG 85 | DECLARE_MESSAGE_MAP() 86 | }; 87 | 88 | //{{AFX_INSERT_LOCATION}} 89 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 90 | 91 | #endif // !defined(AFX_OPTIONBYTESDIALOG_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_) 92 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/OptionBytesDialog_f2.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_OPTIONBYTESDIALOGF2_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_) 20 | #define AFX_OPTIONBYTESDIALOGF2_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_ 21 | 22 | #if _MSC_VER > 1000 23 | #pragma once 24 | #endif // _MSC_VER > 1000 25 | // OptionBytesDialog.h : header file 26 | // 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // COptionBytesDialog_F2 dialog 30 | 31 | class COptionBytesDialog_F2 : public CDialog 32 | { 33 | // Construction 34 | public: 35 | 36 | HANDLE m_phDevice; 37 | BYTE * m_pBuffer; 38 | ULONG m_nBytes; 39 | USHORT m_nBlock; 40 | 41 | void* GetOptions(LPBYTE User, LPBYTE RDP, LPBYTE WRP0, LPBYTE WRP1); 42 | void* SetOptions(BYTE User, BYTE RDP, BYTE WRP0, BYTE WRP1); 43 | 44 | COptionBytesDialog_F2(CWnd* pParent = NULL); // standard constructor 45 | 46 | // Dialog Data 47 | //{{AFX_DATA(COptionBytesDialog_F2) 48 | enum { IDD = IDD_OPTION_BYTE_F2_DIALOG }; 49 | CString m_RDP_Value; 50 | CString m_WRP_Value; 51 | CString m_User_Value; 52 | 53 | BOOL m_nRST_STDBY_Value; 54 | BOOL m_nRST_STOP_Value; 55 | BOOL m_WDG_SW_Value; 56 | BOOL m_BOR_LEV0_Value; 57 | BOOL m_BOR_LEV1_Value; 58 | 59 | BOOL m_ReadOutProtectionEnabledValue; 60 | BOOL m_ReadOutProtectionEnabledValue2; 61 | BOOL m_ReadOutProtectionEnabledValue3; 62 | 63 | //}}AFX_DATA 64 | 65 | 66 | // Overrides 67 | // ClassWizard generated virtual function overrides 68 | //{{AFX_VIRTUAL(COptionBytesDialog_F2) 69 | protected: 70 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 71 | //}}AFX_VIRTUAL 72 | 73 | // Implementation 74 | protected: 75 | 76 | // Generated message map functions 77 | //{{AFX_MSG(COptionBytesDialog_F2) 78 | afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); 79 | afx_msg void OnReadOutProtectionEnabledCheck(); 80 | afx_msg void OnReadOutProtectionEnabledCheck2(); 81 | afx_msg void OnReadOutProtectionEnabledCheck3(); 82 | afx_msg void OnChangeUserEdit(); 83 | afx_msg void OnWdgSw(); 84 | afx_msg void OnNrstStopCheck2(); 85 | afx_msg void OnNrstStdbyCheck(); 86 | afx_msg void OnBor0Check(); 87 | afx_msg void OnBor1Check(); 88 | afx_msg void OnApply(); 89 | virtual void OnCancel(); 90 | //}}AFX_MSG 91 | DECLARE_MESSAGE_MAP() 92 | }; 93 | 94 | //{{AFX_INSERT_LOCATION}} 95 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 96 | 97 | #endif // !defined(AFX_OPTIONBYTESDIALOG_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_) 98 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/OptionBytesDialog_l1.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_OPTIONBYTESDIALOGL1_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_) 20 | #define AFX_OPTIONBYTESDIALOGL1_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_ 21 | 22 | #if _MSC_VER > 1000 23 | #pragma once 24 | #endif // _MSC_VER > 1000 25 | // OptionBytesDialog.h : header file 26 | // 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // COptionBytesDialog_L1 dialog 30 | 31 | class COptionBytesDialog_L1 : public CDialog 32 | { 33 | // Construction 34 | public: 35 | 36 | HANDLE m_phDevice; 37 | BYTE * m_pBuffer; 38 | ULONG m_nBytes; 39 | USHORT m_nBlock; 40 | 41 | void* GetOptions(LPBYTE User, LPBYTE RDP, LPBYTE WRP0, LPBYTE WRP1, LPBYTE WRP2, LPBYTE WRP3, LPBYTE WRP4, LPBYTE WRP5, LPBYTE WRP6, LPBYTE WRP7, LPBYTE WRP8, LPBYTE WRP9, LPBYTE WRP10, LPBYTE WRP11 ); 42 | void* SetOptions(BYTE User, BYTE RDP, BYTE WRP0, BYTE WRP1,BYTE WRP2, BYTE WRP3, BYTE WRP4, BYTE WRP5, BYTE WRP6, BYTE WRP7, BYTE WRP8, BYTE WRP9, BYTE WRP10, BYTE WRP11); 43 | 44 | COptionBytesDialog_L1(CWnd* pParent = NULL); // standard constructor 45 | 46 | // Dialog Data 47 | //{{AFX_DATA(COptionBytesDialog_L1) 48 | enum { IDD = IDD_OPTION_BYTE_L1_DIALOG }; 49 | CString m_RDP_Value; 50 | CString m_WRP0_Value; 51 | CString m_WRP2_Value; 52 | CString m_WRP4_Value; 53 | CString m_WRP6_Value; 54 | CString m_WRP8_Value; 55 | CString m_WRP10_Value; 56 | CString m_User_Value; 57 | 58 | BOOL m_nRST_STDBY_Value; 59 | BOOL m_nRST_STOP_Value; 60 | BOOL m_WDG_SW_Value; 61 | BOOL m_BF2_Value; 62 | BOOL m_BOR_LEV0_Value; 63 | BOOL m_BOR_LEV1_Value; 64 | BOOL m_BOR_LEV2_Value; 65 | BOOL m_BOR_LEV3_Value; 66 | 67 | BOOL m_ReadOutProtectionEnabledValue; 68 | BOOL m_ReadOutProtectionEnabledValue2; 69 | BOOL m_ReadOutProtectionEnabledValue3; 70 | 71 | //}}AFX_DATA 72 | 73 | 74 | // Overrides 75 | // ClassWizard generated virtual function overrides 76 | //{{AFX_VIRTUAL(COptionBytesDialog_L1) 77 | protected: 78 | virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support 79 | //}}AFX_VIRTUAL 80 | 81 | // Implementation 82 | protected: 83 | 84 | // Generated message map functions 85 | //{{AFX_MSG(COptionBytesDialog_L1) 86 | afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); 87 | afx_msg void OnReadOutProtectionEnabledCheck(); 88 | afx_msg void OnReadOutProtectionEnabledCheck2(); 89 | afx_msg void OnReadOutProtectionEnabledCheck3(); 90 | afx_msg void OnChangeUserEdit(); 91 | afx_msg void OnWdgSw(); 92 | afx_msg void OnBF2(); 93 | afx_msg void OnNrstStopCheck2(); 94 | afx_msg void OnNrstStdbyCheck(); 95 | afx_msg void OnBor0Check(); 96 | afx_msg void OnBor1Check(); 97 | afx_msg void OnBor2Check(); 98 | afx_msg void OnBor3Check(); 99 | afx_msg void OnApply(); 100 | virtual void OnCancel(); 101 | //}}AFX_MSG 102 | DECLARE_MESSAGE_MAP() 103 | }; 104 | 105 | //{{AFX_INSERT_LOCATION}} 106 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 107 | 108 | #endif // !defined(AFX_OPTIONBYTESDIALOG_H__AAED8902_2401_40DA_9E0F_F15486707357__INCLUDED_) 109 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/RES/DfuSeDemo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/RES/DfuSeDemo.ico -------------------------------------------------------------------------------- /Sources/DfuseDemo/RES/DfuSeDemo.rc2: -------------------------------------------------------------------------------- 1 | // 2 | // DfuSeDemo.RC2 - resources Microsoft Visual C++ does not edit directly 3 | // 4 | 5 | #ifdef APSTUDIO_INVOKED 6 | #error this file is not editable by Microsoft Visual C++ 7 | #endif //APSTUDIO_INVOKED 8 | 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // Add manually edited resources here... 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/Release/DfuSeDemo.tlog/DfuSeDemo.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|Win32|C:\Users\Haven\Desktop\DFU\DfuSe\Sources\| 3 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // stdafx.cpp : source file that includes just the standard includes 20 | // DfuSeDemo.pch will be the pre-compiled header 21 | // stdafx.obj will contain the pre-compiled type information 22 | 23 | #include "stdafx.h" 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/StdAfx.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // stdafx.h : include file for standard system include files, 20 | // or project specific include files that are used frequently, but 21 | // are changed infrequently 22 | // 23 | 24 | #if !defined(AFX_STDAFX_H__47920554_D6C9_4F1D_BA65_BF854932EDAD__INCLUDED_) 25 | #define AFX_STDAFX_H__47920554_D6C9_4F1D_BA65_BF854932EDAD__INCLUDED_ 26 | 27 | #define WINVER 0x0501 28 | 29 | #if _MSC_VER > 1000 30 | #pragma once 31 | #endif // _MSC_VER > 1000 32 | 33 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 34 | #include // MFC core and standard components 35 | #include // MFC extensions 36 | #include // MFC Automation classes 37 | #include // MFC support for Internet Explorer 4 Common Controls 38 | #ifndef _AFX_NO_AFXCMN_SUPPORT 39 | #include // MFC support for Windows Common Controls 40 | #endif // _AFX_NO_AFXCMN_SUPPORT 41 | 42 | #include 43 | #include "Include\hidsdi++.h" 44 | #include "Include\hid.h" 45 | #include "enumeration.h" 46 | #include "setupapi.h" 47 | #include "usb100.h" 48 | #include "..\STDFU\STDFU.h" 49 | #include "..\STDFUPRT\STDFUPRTINC.h" 50 | #include "..\STDFUFILES\STDFUFILESINC.h" 51 | 52 | 53 | 54 | #define RGB_BK (RGB(255, 255, 250)) 55 | 56 | //{{AFX_INSERT_LOCATION}} 57 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 58 | 59 | #endif // !defined(AFX_STDAFX_H__47920554_D6C9_4F1D_BA65_BF854932EDAD__INCLUDED_) 60 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/TextProgressCtrl.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.3 6 | * Date : 21-November-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #if !defined(AFX_TEXTPROGRESSCTRL_H__4C78DBBE_EFB6_11D1_AB14_203E25000000__INCLUDED_) 20 | #define AFX_TEXTPROGRESSCTRL_H__4C78DBBE_EFB6_11D1_AB14_203E25000000__INCLUDED_ 21 | 22 | #if _MSC_VER >= 1000 23 | #pragma once 24 | #endif // _MSC_VER >= 1000 25 | 26 | // TextProgressCtrl.h : header file 27 | 28 | ///////////////////////////////////////////////////////////////////////////// 29 | // CTextProgressCtrl window 30 | 31 | class CTextProgressCtrl : public CProgressCtrl 32 | { 33 | // Construction 34 | public: 35 | CTextProgressCtrl(); 36 | 37 | // Attributes 38 | public: 39 | 40 | // Operations 41 | public: 42 | int SetPos(int nPos); 43 | int StepIt(); 44 | void SetRange(int nLower, int nUpper); 45 | int OffsetPos(int nPos); 46 | int SetStep(int nStep); 47 | void SetForeColour(COLORREF col); 48 | void SetBkColour(COLORREF col); 49 | void SetTextForeColour(COLORREF col); 50 | void SetTextBkColour(COLORREF col); 51 | COLORREF GetForeColour(); 52 | COLORREF GetBkColour(); 53 | COLORREF GetTextForeColour(); 54 | COLORREF GetTextBkColour(); 55 | 56 | void SetShowText(BOOL bShow); 57 | 58 | // Overrides 59 | // ClassWizard generated virtual function overrides 60 | //{{AFX_VIRTUAL(CTextProgressCtrl) 61 | //}}AFX_VIRTUAL 62 | 63 | // Implementation 64 | public: 65 | virtual ~CTextProgressCtrl(); 66 | 67 | // Generated message map functions 68 | protected: 69 | int m_nPos, 70 | m_nStepSize, 71 | m_nMax, 72 | m_nMin; 73 | CString m_strText; 74 | BOOL m_bShowText; 75 | int m_nBarWidth; 76 | COLORREF m_colFore, 77 | m_colBk, 78 | m_colTextFore, 79 | m_colTextBk; 80 | 81 | //{{AFX_MSG(CTextProgressCtrl) 82 | afx_msg BOOL OnEraseBkgnd(CDC* pDC); 83 | afx_msg void OnPaint(); 84 | afx_msg void OnSize(UINT nType, int cx, int cy); 85 | //}}AFX_MSG 86 | afx_msg LRESULT OnSetText(WPARAM wParam, LPARAM lParam);//(UINT, LPCTSTR szText); 87 | afx_msg LRESULT OnGetText(WPARAM wParam, LPARAM lParam);//(UINT cchTextMax, LPTSTR szText); 88 | 89 | DECLARE_MESSAGE_MAP() 90 | }; 91 | 92 | ///////////////////////////////////////////////////////////////////////////// 93 | 94 | //{{AFX_INSERT_LOCATION}} 95 | // Microsoft Developer Studio will insert additional declarations immediately before the previous line. 96 | 97 | #endif // !defined(AFX_TEXTPROGRESSCTRL_H__4C78DBBE_EFB6_11D1_AB14_203E25000000__INCLUDED_) 98 | -------------------------------------------------------------------------------- /Sources/DfuseDemo/lib/hid.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/DfuseDemo/lib/hid.lib -------------------------------------------------------------------------------- /Sources/DfuseDemo/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by DfuSeDemo.rc 4 | // 5 | #define IDCANCEL2 3 6 | #define IDC_BUTTONABORT 3 7 | #define IDD_DfuSeDemo_DIALOG 102 8 | #define IDR_MAINFRAME 128 9 | #define IDD_DfuSeMapping_DIALOG 129 10 | #define IDD_OPTION_BYTE_DIALOG 135 11 | #define IDD_OPTION_BYTE_F2_DIALOG 136 12 | #define IDD_OPTION_BYTE_L1_DIALOG 137 13 | #define IDC_COMBODEVICES 1000 14 | #define IDC_BUTTONREFRESH 1001 15 | #define IDC_EDITDEVVID 1002 16 | #define IDC_EDITDEVPID 1003 17 | #define IDC_EDITDEVBCD 1004 18 | #define IDC_LISTDEVTARGETS 1005 19 | #define IDC_COMBOTARGETS 1006 20 | #define IDC_BUTTONUPCHOOSE 1007 21 | #define IDC_BUTTONDOWNCHOOSE 1008 22 | #define IDC_EDITFILEVID 1009 23 | #define IDC_EDITFILEPID 1010 24 | #define IDC_EDITFILEBCD 1011 25 | #define IDC_BUTTONENTERDFU 1012 26 | #define IDC_LISTFILETARGETS 1013 27 | #define IDC_EDITSTART 1014 28 | #define IDC_EDITSTOP 1015 29 | #define IDC_BUTTONUPLOAD 1016 30 | #define IDC_STATICUPFILE 1017 31 | #define IDC_BUTTONUPGRADE 1018 32 | #define IDC_LISTDFUDEVS 1019 33 | #define IDC_BUTTONENTERAPP 1020 34 | #define IDC_STATICDOWNFILE 1021 35 | #define IDC_PROGRESS 1022 36 | #define IDC_BUTTONVERIFY 1023 37 | #define IDC_LISTTARGETS 1024 38 | #define IDC_EDITDEVVID2 1026 39 | #define IDC_EDITDEVPID2 1027 40 | #define IDC_EDITDEVBCD2 1028 41 | #define IDC_EDITDEVVID3 1029 42 | #define IDC_REPORT 1031 43 | #define IDC_LISTMAPPING 1032 44 | #define IDC_CHECKUPLOAD 1033 45 | #define IDC_CHECKDNLOAD 1034 46 | #define IDC_CHECKCANDETACH 1035 47 | #define IDC_CHECKMANIFTOL 1036 48 | #define IDC_CHECKUPLOADACC 1037 49 | #define IDC_CHECKUPGRADEOPTIMIZE 1038 50 | #define IDC_TIME_DURATION 1040 51 | #define IDC_VERIFY 1041 52 | #define IDC_DATA_SIZE 1042 53 | #define IDC_RDP_EDIT 1045 54 | #define IDC_READ_OUT_PROTECTION_ENABLED_CHECK 1046 55 | #define IDC_USER_EDIT 1047 56 | #define IDC_NRST_STDBY_CHECK 1048 57 | #define IDC_NRST_STOP_CHECK2 1049 58 | #define IDC_WDG_SW 1050 59 | #define IDC_DATA0_EDIT 1051 60 | #define IDC_BF2 1051 61 | #define IDC_BFB2 1051 62 | #define IDC_DATA1_EDIT 1052 63 | #define IDC_WRP0_EDIT 1053 64 | #define IDC_WRP1_EDIT 1054 65 | #define IDC_WRP2_EDIT 1055 66 | #define IDC_WRP3_EDIT 1056 67 | #define ID_APPLY 1057 68 | #define IDC_READ_OUT_PROTECTION_ENABLED_CHECK2 1058 69 | #define IDC_READ_OUT_PROTECTION_ENABLED_CHECK3 1059 70 | #define IDC_BOR_LEV1 1060 71 | #define IDC_BOR_LEV2 1061 72 | #define IDC_BOR_LEV0 1061 73 | #define IDC_WRP_EDIT 1062 74 | #define IDC_BOR_LEV3 1062 75 | #define IDC_BOR_LEV4 1063 76 | #define IDC_WRP4_EDIT 1064 77 | #define IDC_WRP6_EDIT 1065 78 | #define IDC_WRP8_EDIT 1066 79 | #define IDC_WRP10_EDIT 1067 80 | 81 | // Next default values for new objects 82 | // 83 | #ifdef APSTUDIO_INVOKED 84 | #ifndef APSTUDIO_READONLY_SYMBOLS 85 | #define _APS_NEXT_RESOURCE_VALUE 137 86 | #define _APS_NEXT_COMMAND_VALUE 32771 87 | #define _APS_NEXT_CONTROL_VALUE 1063 88 | #define _APS_NEXT_SYMED_VALUE 101 89 | #endif 90 | #endif 91 | -------------------------------------------------------------------------------- /Sources/Include/STTubeDeviceErr30.h: -------------------------------------------------------------------------------- 1 | #define STDEVICE_ERROR_OFFSET 0x12340000 2 | 3 | #define STDEVICE_NOERROR STDEVICE_ERROR_OFFSET 4 | #define STDEVICE_MEMORY (STDEVICE_ERROR_OFFSET+1) 5 | #define STDEVICE_BADPARAMETER (STDEVICE_ERROR_OFFSET+2) 6 | 7 | #define STDEVICE_NOTIMPLEMENTED (STDEVICE_ERROR_OFFSET+3) 8 | #define STDEVICE_ENUMFINISHED (STDEVICE_ERROR_OFFSET+4) 9 | #define STDEVICE_OPENDRIVERERROR (STDEVICE_ERROR_OFFSET+5) 10 | 11 | #define STDEVICE_ERRORDESCRIPTORBUILDING (STDEVICE_ERROR_OFFSET+6) 12 | #define STDEVICE_PIPECREATIONERROR (STDEVICE_ERROR_OFFSET+7) 13 | #define STDEVICE_PIPERESETERROR (STDEVICE_ERROR_OFFSET+8) 14 | #define STDEVICE_PIPEABORTERROR (STDEVICE_ERROR_OFFSET+9) 15 | #define STDEVICE_STRINGDESCRIPTORERROR (STDEVICE_ERROR_OFFSET+0xA) 16 | 17 | #define STDEVICE_DRIVERISCLOSED (STDEVICE_ERROR_OFFSET+0xB) 18 | #define STDEVICE_VENDOR_RQ_PB (STDEVICE_ERROR_OFFSET+0xC) 19 | #define STDEVICE_ERRORWHILEREADING (STDEVICE_ERROR_OFFSET+0xD) 20 | #define STDEVICE_ERRORBEFOREREADING (STDEVICE_ERROR_OFFSET+0xE) 21 | #define STDEVICE_ERRORWHILEWRITING (STDEVICE_ERROR_OFFSET+0xF) 22 | #define STDEVICE_ERRORBEFOREWRITING (STDEVICE_ERROR_OFFSET+0x10) 23 | #define STDEVICE_DEVICERESETERROR (STDEVICE_ERROR_OFFSET+0x11) 24 | #define STDEVICE_CANTUSEUNPLUGEVENT (STDEVICE_ERROR_OFFSET+0x12) 25 | #define STDEVICE_INCORRECTBUFFERSIZE (STDEVICE_ERROR_OFFSET+0x13) 26 | #define STDEVICE_DESCRIPTORNOTFOUND (STDEVICE_ERROR_OFFSET+0x14) 27 | #define STDEVICE_PIPESARECLOSED (STDEVICE_ERROR_OFFSET+0x15) 28 | #define STDEVICE_PIPESAREOPEN (STDEVICE_ERROR_OFFSET+0x16) 29 | 30 | -------------------------------------------------------------------------------- /Sources/Include/STTubeDeviceTyp30.h: -------------------------------------------------------------------------------- 1 | #define DESCRIPTOR_CONFIGURATION_LEVEL 0 2 | #define DESCRIPTOR_INTERFACEALTSET_LEVEL 1 3 | #define DESCRIPTOR_ENDPOINT_LEVEL 2 4 | 5 | #define URB_FUNCTION_VENDOR_DEVICE 0x0017 6 | #define URB_FUNCTION_VENDOR_INTERFACE 0x0018 7 | #define URB_FUNCTION_VENDOR_ENDPOINT 0x0019 8 | #define URB_FUNCTION_VENDOR_OTHER 0x0020 9 | 10 | #define URB_FUNCTION_CLASS_DEVICE 0x001A 11 | #define URB_FUNCTION_CLASS_INTERFACE 0x001B 12 | #define URB_FUNCTION_CLASS_ENDPOINT 0x001C 13 | #define URB_FUNCTION_CLASS_OTHER 0x001F 14 | 15 | #define PIPE_RESET 1 16 | #define ABORT_TRANSFER 0 17 | 18 | #define VENDOR_DIRECTION_IN 1 19 | #define VENDOR_DIRECTION_OUT 0 20 | 21 | typedef struct { 22 | USHORT Function; 23 | ULONG Direction; 24 | UCHAR Request; 25 | USHORT Value; 26 | USHORT Index; 27 | ULONG Length; 28 | } CNTRPIPE_RQ, *PCNTRPIPE_RQ; 29 | -------------------------------------------------------------------------------- /Sources/MCD-ST Liberty SW License Agreement V2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/MCD-ST Liberty SW License Agreement V2.pdf -------------------------------------------------------------------------------- /Sources/Release/Hex2Dfu.iobj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/Hex2Dfu.iobj -------------------------------------------------------------------------------- /Sources/Release/Hex2Dfu.ipdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/Hex2Dfu.ipdb -------------------------------------------------------------------------------- /Sources/Release/demo.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/demo.exe -------------------------------------------------------------------------------- /Sources/Release/demo.iobj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/demo.iobj -------------------------------------------------------------------------------- /Sources/Release/demo.ipdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/demo.ipdb -------------------------------------------------------------------------------- /Sources/Release/hello.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/hello.exe -------------------------------------------------------------------------------- /Sources/Release/hello.iobj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/hello.iobj -------------------------------------------------------------------------------- /Sources/Release/hello.ipdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/hello.ipdb -------------------------------------------------------------------------------- /Sources/Release/world.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/world.exe -------------------------------------------------------------------------------- /Sources/Release/world.iobj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/world.iobj -------------------------------------------------------------------------------- /Sources/Release/world.ipdb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Release/world.ipdb -------------------------------------------------------------------------------- /Sources/STDFU/Internal STDFU.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {3b7ca085-3d0e-4037-bb42-02d75d76d686} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {b55aebcf-29b2-4c6f-ae74-19b7324c464e} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {244ceecc-1943-4867-89bd-1ce7cf4b7ddd} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | 26 | 27 | Source Files 28 | 29 | 30 | 31 | 32 | Source Files 33 | 34 | 35 | 36 | 37 | Header Files 38 | 39 | 40 | Header Files 41 | 42 | 43 | Header Files 44 | 45 | 46 | -------------------------------------------------------------------------------- /Sources/STDFU/RESOURCE.H: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Developer Studio generated include file. 3 | // Used by STDFU.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 101 11 | #define _APS_NEXT_COMMAND_VALUE 40001 12 | #define _APS_NEXT_CONTROL_VALUE 1000 13 | #define _APS_NEXT_SYMED_VALUE 101 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /Sources/STDFU/Release/STDFU.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFU/Release/STDFU.exp -------------------------------------------------------------------------------- /Sources/STDFU/Release/STDFU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFU/Release/STDFU.lib -------------------------------------------------------------------------------- /Sources/STDFU/Release/STDFU.tlog/STDFU.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|Win32|C:\Users\Haven\Desktop\DFU\DfuSe\Sources\| 3 | -------------------------------------------------------------------------------- /Sources/STDFU/STDFU.APS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFU/STDFU.APS -------------------------------------------------------------------------------- /Sources/STDFU/STDFU.def: -------------------------------------------------------------------------------- 1 | ; STDFU.def : Declares the module parameters for the DLL. 2 | 3 | LIBRARY "STDFU" 4 | DESCRIPTION 'STDFU Windows Dynamic Link Library' 5 | 6 | EXPORTS 7 | STDFU_GetDeviceDescriptor 8 | STDFU_GetDFUDescriptor 9 | STDFU_GetStringDescriptor 10 | STDFU_GetNbOfConfigurations 11 | STDFU_GetConfigurationDescriptor 12 | STDFU_GetNbOfInterfaces 13 | STDFU_GetNbOfAlternates 14 | STDFU_GetInterfaceDescriptor 15 | STDFU_Open 16 | STDFU_Close 17 | STDFU_Detach 18 | STDFU_SelectCurrentConfiguration 19 | STDFU_Dnload 20 | STDFU_Upload 21 | STDFU_Getstatus 22 | STDFU_Clrstatus 23 | STDFU_Getstate 24 | STDFU_Abort -------------------------------------------------------------------------------- /Sources/STDFU/STDFU.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFU/STDFU.rc -------------------------------------------------------------------------------- /Sources/STDFU/STDFU.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {65c9d7bf-359a-47fc-a23f-2e112fd780df} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {611f01b0-1542-43d1-982f-f6e25c36b2e0} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {1df05074-33a4-4034-a736-3add6ab1aec7} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | 26 | 27 | Source Files 28 | 29 | 30 | 31 | 32 | Source Files 33 | 34 | 35 | 36 | 37 | Header Files 38 | 39 | 40 | Header Files 41 | 42 | 43 | Header Files 44 | 45 | 46 | -------------------------------------------------------------------------------- /Sources/STDFU/STDFU.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Sources/STDFU/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // STDFU.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /Sources/STDFU/StdAfx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #if !defined(AFX_STDAFX_H__8AF8AF98_54E9_427C_A7B0_AE3C7B2ADDE5__INCLUDED_) 7 | #define AFX_STDAFX_H__8AF8AF98_54E9_427C_A7B0_AE3C7B2ADDE5__INCLUDED_ 8 | 9 | #if _MSC_VER > 1000 10 | #pragma once 11 | #endif // _MSC_VER > 1000 12 | 13 | #define WINVER 0x040A 14 | 15 | // Insert your headers here 16 | #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers 17 | 18 | #include 19 | #include "..\Include\usb100.h" 20 | #include "..\Include\STTubeDeviceTyp30.h" 21 | #include "..\Include\STTubeDeviceFun30.h" 22 | #include "..\Include\STTubeDeviceErr30.h" 23 | 24 | // TODO: reference additional headers your program requires here 25 | 26 | //{{AFX_INSERT_LOCATION}} 27 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 28 | 29 | #endif // !defined(AFX_STDAFX_H__8AF8AF98_54E9_427C_A7B0_AE3C7B2ADDE5__INCLUDED_) 30 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/DFUFILE.H: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #ifndef _DFU_FILE_H_ 20 | #define _DFU_FILE_H_ 21 | 22 | #pragma pack(1) 23 | 24 | #define PREFIX_SIGNATURE_SIZE 5 25 | #define PREFIX_SIGNATURE "DfuSe" 26 | #define PREFIX_VERSION 1 27 | 28 | typedef struct 29 | { 30 | char szSignature[PREFIX_SIGNATURE_SIZE]; 31 | BYTE bVersion; 32 | DWORD dwImageSize; 33 | BYTE bTargets; 34 | } DFUPREFIX, *PDFUPREFIX; 35 | 36 | typedef struct 37 | { 38 | BYTE bcdDeviceLo; 39 | BYTE bcdDeviceHi; 40 | BYTE idProductLo; 41 | BYTE idProductHi; 42 | BYTE idVendorLo; 43 | BYTE idVendorHi; 44 | BYTE bcdDFULo; 45 | BYTE bcdDFUHi; 46 | char ucDfuSignature[3]; 47 | BYTE bLength; 48 | BYTE dwCRC[4]; 49 | } DFUSUFFIX, *PDFUSUFFIX; 50 | 51 | #define TARGET_PREFIX_SIGNATURE_SIZE 6 52 | #define TARGET_PREFIX_SIGNATURE "Target" 53 | 54 | typedef struct 55 | { 56 | char szSignature[TARGET_PREFIX_SIGNATURE_SIZE]; 57 | BYTE bAlternateSetting; 58 | BOOL bTargetNamed; 59 | char szTargetName[255]; 60 | DWORD dwTargetSize; 61 | DWORD dwNbElements; 62 | } TARGETPREFIX, *PTARGETPREFIX; 63 | 64 | #pragma warning( disable : 4200 ) 65 | 66 | typedef struct 67 | { 68 | DWORD dwElementAddress; 69 | DWORD dwElementSize; 70 | BYTE Data[0]; 71 | } ELEMENT, *PELEMENT; 72 | 73 | #pragma pack() 74 | 75 | class CDFUFile : public CObject 76 | { 77 | public: 78 | CDFUFile(PSTR szPath, UINT nOpenFlags); 79 | CDFUFile(PSTR szPath, UINT nOpenFlags, WORD Vid, WORD Pid, WORD Bcd); 80 | 81 | virtual ~CDFUFile(); 82 | 83 | WORD GetVid() { return m_Vid; } 84 | WORD GetPid() { return m_Pid; } 85 | WORD GetBcd() { return m_Bcd; } 86 | DWORD GetError() { return m_Error; } 87 | BYTE GetNbAlternates() { return m_NbAlternates; } 88 | 89 | DWORD AppendImage(HANDLE Image); 90 | DWORD ReadImage(int Rank, PHANDLE pImage); 91 | private: 92 | WORD m_Vid; 93 | WORD m_Pid; 94 | WORD m_Bcd; 95 | BYTE m_NbAlternates; 96 | CFile m_File; 97 | DWORD m_Error; 98 | BYTE m_Version; 99 | DWORD AppendSuffix(); 100 | DWORD CalculateCRC(); 101 | }; 102 | 103 | #endif -------------------------------------------------------------------------------- /Sources/STDFUFiles/RES/STDFUFILES.rc2: -------------------------------------------------------------------------------- 1 | // 2 | // STDFUFILES.RC2 - resources Microsoft Visual C++ does not edit directly 3 | // 4 | 5 | #ifdef APSTUDIO_INVOKED 6 | #error this file is not editable by Microsoft Visual C++ 7 | #endif //APSTUDIO_INVOKED 8 | 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // Add manually edited resources here... 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/Release/STDFUFiles.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUFiles/Release/STDFUFiles.exp -------------------------------------------------------------------------------- /Sources/STDFUFiles/Release/STDFUFiles.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUFiles/Release/STDFUFiles.lib -------------------------------------------------------------------------------- /Sources/STDFUFiles/Release/STDFUFiles.tlog/STDFUFiles.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|Win32|C:\Users\Haven\Desktop\DFU\DfuSe\Sources\| 3 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/Resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by STDFUFILES.RC 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | 11 | #define _APS_NEXT_RESOURCE_VALUE 2000 12 | #define _APS_NEXT_CONTROL_VALUE 2000 13 | #define _APS_NEXT_SYMED_VALUE 2000 14 | #define _APS_NEXT_COMMAND_VALUE 32771 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/STDFUFiles.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUFiles/STDFUFiles.aps -------------------------------------------------------------------------------- /Sources/STDFUFiles/STDFUFiles.def: -------------------------------------------------------------------------------- 1 | ; STDFUFILES.def : Declares the module parameters for the DLL. 2 | 3 | LIBRARY "STDFUFILES" 4 | DESCRIPTION 'STDFUFILES Windows Dynamic Link Library' 5 | 6 | EXPORTS 7 | STDFUFILES_OpenExistingDFUFile 8 | STDFUFILES_CreateNewDFUFile 9 | STDFUFILES_CloseDFUFile 10 | STDFUFILES_AppendImageToDFUFile 11 | STDFUFILES_ReadImageFromDFUFile 12 | STDFUFILES_CreateImage 13 | STDFUFILES_CreateImageFromMapping 14 | STDFUFILES_DuplicateImage 15 | STDFUFILES_FilterImageForOperation 16 | STDFUFILES_DestroyImageElement 17 | STDFUFILES_DestroyImage 18 | STDFUFILES_GetImageNbElement 19 | STDFUFILES_SetImageElement 20 | STDFUFILES_GetImageElement 21 | STDFUFILES_ImageFromFile 22 | STDFUFILES_ImageToFile 23 | STDFUFILES_GetImageAlternate 24 | STDFUFILES_GetImageName 25 | STDFUFILES_SetImageName 26 | STDFUFILES_GetImageSize -------------------------------------------------------------------------------- /Sources/STDFUFiles/STDFUFiles.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // STDFUFILES.h : main header file for the STDFUFILES DLL 20 | // 21 | 22 | #if !defined(AFX_STDFUFILES_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_) 23 | #define AFX_STDFUFILES_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_ 24 | 25 | #define WINVER 0x0501 26 | 27 | #if _MSC_VER > 1000 28 | #pragma once 29 | #endif // _MSC_VER > 1000 30 | 31 | #ifndef __AFXWIN_H__ 32 | #error include 'stdafx.h' before including this file for PCH 33 | #endif 34 | 35 | #include "resource.h" // main symbols 36 | 37 | ///////////////////////////////////////////////////////////////////////////// 38 | // CSTDFUFILESApp 39 | // See STDFUFILES.cpp for the implementation of this class 40 | // 41 | 42 | class CSTDFUFILESApp : public CWinApp 43 | { 44 | public: 45 | CSTDFUFILESApp(); 46 | 47 | // Overrides 48 | // ClassWizard generated virtual function overrides 49 | //{{AFX_VIRTUAL(CSTDFUFILESApp) 50 | public: 51 | virtual int ExitInstance(); 52 | //}}AFX_VIRTUAL 53 | 54 | //{{AFX_MSG(CSTDFUFILESApp) 55 | // NOTE - the ClassWizard will add and remove member functions here. 56 | // DO NOT EDIT what you see in these blocks of generated code ! 57 | //}}AFX_MSG 58 | DECLARE_MESSAGE_MAP() 59 | }; 60 | 61 | 62 | ///////////////////////////////////////////////////////////////////////////// 63 | 64 | //{{AFX_INSERT_LOCATION}} 65 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 66 | 67 | #endif // !defined(AFX_STDFUFILES_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_) 68 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/STDFUFiles.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUFiles/STDFUFiles.rc -------------------------------------------------------------------------------- /Sources/STDFUFiles/STDFUFiles.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {0c095682-b5fe-4c16-9622-9f179c94ec73} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {4e6e2dfd-fe5e-47c3-832e-2b3f979fc008} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {4da7c4c2-bc4b-47fb-a2fd-d6b0503e3e56} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Source Files 34 | 35 | 36 | 37 | 38 | Header Files 39 | 40 | 41 | Header Files 42 | 43 | 44 | Header Files 45 | 46 | 47 | Header Files 48 | 49 | 50 | Header Files 51 | 52 | 53 | 54 | 55 | Source Files 56 | 57 | 58 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/STDFUFiles.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | STDFUFiles.rc 5 | 6 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/STDFUFilesInc.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #define STDFUFILES_ERROR_OFFSET (0x12340000+0x6000) 20 | 21 | #define STDFUFILES_NOERROR (0x12340000+0x0000) 22 | #define STDFUFILES_BADSUFFIX (STDFUFILES_ERROR_OFFSET+0x0002) 23 | #define STDFUFILES_UNABLETOOPENFILE (STDFUFILES_ERROR_OFFSET+0x0003) 24 | #define STDFUFILES_UNABLETOOPENTEMPFILE (STDFUFILES_ERROR_OFFSET+0x0004) 25 | #define STDFUFILES_BADFORMAT (STDFUFILES_ERROR_OFFSET+0x0005) 26 | #define STDFUFILES_BADADDRESSRANGE (STDFUFILES_ERROR_OFFSET+0x0006) 27 | #define STDFUFILES_BADPARAMETER (STDFUFILES_ERROR_OFFSET+0x0008) 28 | #define STDFUFILES_UNEXPECTEDERROR (STDFUFILES_ERROR_OFFSET+0x000A) 29 | #define STDFUFILES_FILEGENERALERROR (STDFUFILES_ERROR_OFFSET+0x000D) 30 | 31 | extern "C" DWORD PASCAL EXPORT STDFUFILES_OpenExistingDFUFile(PSTR pPathFile, PHANDLE phFile, PWORD pVid, PWORD pPid, PWORD pBcd,PBYTE pNbImages); 32 | extern "C" DWORD PASCAL EXPORT STDFUFILES_CreateNewDFUFile(PSTR pPathFile, PHANDLE phFile, WORD Vid, WORD Pid, WORD Bcd); 33 | extern "C" DWORD PASCAL EXPORT STDFUFILES_CloseDFUFile(HANDLE hFile); 34 | 35 | extern "C" DWORD PASCAL EXPORT STDFUFILES_AppendImageToDFUFile(HANDLE hFile, HANDLE Image); 36 | extern "C" DWORD PASCAL EXPORT STDFUFILES_ReadImageFromDFUFile(HANDLE hFile, int Rank, PHANDLE pImage); 37 | 38 | extern "C" DWORD PASCAL EXPORT STDFUFILES_ImageFromFile(PSTR pPathFile, PHANDLE pImage, BYTE nAlternate); 39 | extern "C" DWORD PASCAL EXPORT STDFUFILES_ImageToFile(PSTR pPathFile, HANDLE Image); 40 | 41 | extern "C" DWORD PASCAL EXPORT STDFUFILES_CreateImage(PHANDLE pHandle, BYTE nAlternate); 42 | extern "C" DWORD PASCAL EXPORT STDFUFILES_CreateImageFromMapping(PHANDLE pHandle, PMAPPING pMapping); 43 | extern "C" DWORD PASCAL EXPORT STDFUFILES_DuplicateImage(HANDLE hSource, PHANDLE pDest); 44 | 45 | extern "C" DWORD PASCAL EXPORT STDFUFILES_FilterImageForOperation(HANDLE Handle, PMAPPING pMapping, DWORD Operation, BOOL bTruncateLeadFFForUpgrade); 46 | extern "C" DWORD PASCAL EXPORT STDFUFILES_DestroyImageElement(HANDLE Handle, DWORD dwRank); 47 | extern "C" DWORD PASCAL EXPORT STDFUFILES_DestroyImage(PHANDLE pHandle); 48 | 49 | extern "C" DWORD PASCAL EXPORT STDFUFILES_GetImageAlternate(HANDLE Handle, PBYTE pAlternate); 50 | extern "C" DWORD PASCAL EXPORT STDFUFILES_GetImageNbElement(HANDLE Handle, PDWORD pNbElements); 51 | extern "C" DWORD PASCAL EXPORT STDFUFILES_GetImageName(HANDLE Handle, PSTR Name); 52 | extern "C" DWORD PASCAL EXPORT STDFUFILES_SetImageName(HANDLE Handle, PSTR Name); 53 | 54 | extern "C" DWORD PASCAL EXPORT STDFUFILES_SetImageElement(HANDLE Handle, DWORD dwRank, BOOL bInsert, DFUIMAGEELEMENT Element); 55 | extern "C" DWORD PASCAL EXPORT STDFUFILES_GetImageElement(HANDLE Handle, DWORD dwRank, PDFUIMAGEELEMENT pElement); 56 | 57 | extern "C" DWORD PASCAL EXPORT STDFUFILES_GetImageSize(HANDLE Image); -------------------------------------------------------------------------------- /Sources/STDFUFiles/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // stdafx.cpp : source file that includes just the standard includes 20 | // STDFUFILES.pch will be the pre-compiled header 21 | // stdafx.obj will contain the pre-compiled type information 22 | 23 | #include "stdafx.h" 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/StdAfx.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // stdafx.h : include file for standard system include files, 20 | // or project specific include files that are used frequently, but 21 | // are changed infrequently 22 | // 23 | 24 | #if !defined(AFX_STDAFX_H__450D2D72_CF2A_46D9_B87A_3E615A00DE49__INCLUDED_) 25 | #define AFX_STDAFX_H__450D2D72_CF2A_46D9_B87A_3E615A00DE49__INCLUDED_ 26 | 27 | #define WINVER 0x0501 28 | 29 | #if _MSC_VER > 1000 30 | #pragma once 31 | #endif // _MSC_VER > 1000 32 | 33 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 34 | 35 | #include // MFC core and standard components 36 | #include // MFC extensions 37 | 38 | #ifndef _AFX_NO_OLE_SUPPORT 39 | #include // MFC OLE classes 40 | #include // MFC OLE dialog classes 41 | #include // MFC Automation classes 42 | #endif // _AFX_NO_OLE_SUPPORT 43 | 44 | #ifndef _AFX_NO_DB_SUPPORT 45 | #include // MFC ODBC database classes 46 | #endif // _AFX_NO_DB_SUPPORT 47 | 48 | #ifndef _AFX_NO_DAO_SUPPORT 49 | #include // MFC DAO database classes 50 | #endif // _AFX_NO_DAO_SUPPORT 51 | 52 | #include // MFC support for Internet Explorer 4 Common Controls 53 | #ifndef _AFX_NO_AFXCMN_SUPPORT 54 | #include // MFC support for Windows Common Controls 55 | #endif // _AFX_NO_AFXCMN_SUPPORT 56 | 57 | #include 58 | 59 | //{{AFX_INSERT_LOCATION}} 60 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 61 | 62 | #endif // !defined(AFX_STDAFX_H__450D2D72_CF2A_46D9_B87A_3E615A00DE49__INCLUDED_) 63 | -------------------------------------------------------------------------------- /Sources/STDFUFiles/file.h: -------------------------------------------------------------------------------- 1 | /* 2 | ____________________________________________________________________________ 3 | * WINDOWS EEPROMER SGS-THOMSON Microelectronics 4 | * 5 | * 6 | * FILE DLL WINDOW 3.1 7 | * 8 | * 9 | * Header File : FILE.H 10 | * 11 | * FILE.H is the header file of the FILE DLL, it provides the prototype 12 | * of all the DLL exported functions and some other constant that could be 13 | * used by other modules. 14 | * FILE is used to get information from the configuration Data base file. 15 | * 16 | * 17 | * Date : 03/14/97 18 | * 19 | * Author : G. CHARAMEL 20 | * 21 | ________________________________________________________________________________ 22 | */ 23 | 24 | typedef int (*VerifCB)(long, long); 25 | 26 | #define INTEL 0 27 | #define MOTOROLA 1 28 | #define UNKNOWN 0xFF 29 | 30 | #include "target.h" 31 | 32 | /* Prototypes of FILE Exported functions */ 33 | DECL_EXPORT(int) FSetVerifyCallBack (VerifCB Verify); 34 | 35 | DECL_EXPORT(int) FGetExtension (char *ExtensionList); 36 | 37 | DECL_EXPORT(int) FSetProtectedAddress (int iNbAddress, unsigned long *ulAddressArray, int bState); 38 | 39 | DECL_EXPORT(int) FLoadFile (const char *FileName, char *Buffer); 40 | 41 | DECL_EXPORT(int) FSaveFile (const char *FileName, char *Buffer, struct GAddrStr *Mapping, char NbOfMapArea); 42 | 43 | DECL_EXPORT(int) FSpecificLoad(const char *FileName, char *Buffer, unsigned char Format); 44 | 45 | DECL_EXPORT(int) FSpecificSave (const char *FileName, char *Buffer, struct GAddrStr *Mapping, char NbOfMapArea, unsigned char Format); 46 | 47 | DECL_EXPORT(long) FCheckSum (void); 48 | 49 | DECL_EXPORT(int) FManageST9OSDFile(unsigned char FontNumber, char *Buffer); 50 | 51 | /* End of FILE DLL Exported functions */ 52 | 53 | // ST9_OSD_ : OSD font file management 54 | #define nbCHAR 512 // number of character per font 55 | #define ROWperCHAR 10 // nuber of row per character 56 | #define fontsize 16384 57 | #define CLEAR 3 58 | 59 | #if defined(_DECLARE) || !defined(DISABLE_AUTO_DECLARE) 60 | unsigned char Font0[fontsize]; /* array where OSDfile is saved 8k*/ 61 | unsigned char Font1[fontsize]; 62 | //int OSD; 63 | unsigned char NumFont; 64 | unsigned char CharTestLine=32; // 1rst line of char =0, Test Character start at line 32 65 | unsigned char nb_CharTest=20; //sizeof(TestChar)/sizeof(char) 66 | unsigned char TestChar[] = {0x02,0x01,0x0,0x41,0x02,0x0E1,0x02,0x54,0x02,0x08,0x02,0x14,0x02,0x42,0x03,0xC1,0x02,0x0,0x02,0x1C}; 67 | int wrfile; 68 | unsigned long st_add ; 69 | unsigned long StartAddress[10]; // 10 areas for Mapping 70 | #else 71 | extern unsigned char Font0[]; /* array where OSDfile is saved 8k*/ 72 | extern unsigned char Font1[]; 73 | //int OSD; 74 | extern unsigned char NumFont; 75 | extern unsigned char CharTestLine; // 1rst line of char =0, Test Character start at line 32 76 | extern unsigned char nb_CharTest; //sizeof(TestChar)/sizeof(char) 77 | extern unsigned char TestChar[]; 78 | extern int wrfile; 79 | extern unsigned long st_add ; 80 | extern unsigned long StartAddress[]; // 10 areas for Mapping 81 | #endif 82 | 83 | void OSD_EPROM1(BYTE *bin_array); 84 | void OSD_EPROM2(BYTE *bin_array); 85 | void OSD_EPROM3(BYTE *bin_array); 86 | 87 | void CreateOSDFont(BYTE *bin_array); 88 | 89 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/DetachThread.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #ifndef _Detach_THREAD_H_ 20 | #define _Detach_THREAD_H_ 21 | 22 | class CDetachThread : public CDFUThread { 23 | public: 24 | CDetachThread(PDFUThreadContext pContext); 25 | virtual ~CDetachThread(); 26 | 27 | virtual BOOL StopThread(PDWORD ExitCode=NULL) ; 28 | int m_TimesToWait; 29 | DFU_FUNCTIONAL_DESCRIPTOR GetFuncDesc() { return m_DfuDesc; } 30 | private: 31 | HMODULE m_hMod; 32 | HWND m_hWnd; 33 | //DWORD m_Notif; 34 | HDEVNOTIFY m_Notif[2]; 35 | virtual BOOL RunThread(); 36 | }; 37 | #endif 38 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/Image.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #ifndef _IMAGE_H_ 20 | #define _IMAGE_H_ 21 | 22 | class CImage : public CObject 23 | { 24 | private: 25 | char m_LastError[1000]; 26 | BYTE m_bAlternate; 27 | CPtrArray *m_pElements; 28 | BOOL m_ImageState; 29 | BOOL m_bNamed; 30 | char m_Name[255]; 31 | 32 | BOOL LoadS19(PSTR pFilePath); 33 | BOOL LoadHEX(PSTR pFilePath); 34 | 35 | BOOL SaveS19(PSTR pFilePath); 36 | BOOL SaveHEX(PSTR pFilePath); 37 | 38 | void LDisplayError(PSTR Str) { lstrcpy(m_LastError, Str); } 39 | BOOL ExistsElementsAtAddress(DWORD Address); 40 | 41 | void CompactElements(); 42 | public: 43 | 44 | CImage(CImage *pSource); 45 | CImage(BYTE bAlternate, BOOL bNamed, PSTR Name); 46 | CImage(PMAPPING pMapping, BOOL bNamed, PSTR Name); 47 | CImage(BYTE bAlternate, PSTR pFilePath, BOOL bNamed, PSTR Name); 48 | virtual ~CImage(); 49 | 50 | BOOL DumpToFile(PSTR pFilePath); 51 | BYTE GetAlternate() { return m_bAlternate; } 52 | BOOL GetImageState() { return m_ImageState; } 53 | BOOL GetName(PSTR Name) { if (m_bNamed) lstrcpy(Name, m_Name); return m_bNamed; } 54 | void SetName(PSTR Name) { lstrcpy(m_Name, Name); m_bNamed=TRUE; } 55 | BOOL GetBuffer(DWORD dwAddress, DWORD dwSize, PBYTE pBuffer); 56 | 57 | DWORD GetNbElements() { return m_pElements->GetSize(); } 58 | BOOL SetImageElement(DWORD dwRank, BOOL bInsert, DFUIMAGEELEMENT Element); 59 | BOOL GetImageElement(DWORD dwRank, PDFUIMAGEELEMENT pElement); 60 | BOOL FilterImageForOperation(PMAPPING pMapping, DWORD Operation, BOOL bTruncateLeadFF); 61 | BOOL DestroyImageElement(DWORD dwRank); 62 | DWORD GetSize(); 63 | }; 64 | 65 | #endif 66 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/RES/STDFUPRT.rc2: -------------------------------------------------------------------------------- 1 | // 2 | // STDFUPRT.RC2 - resources Microsoft Visual C++ does not edit directly 3 | // 4 | 5 | #ifdef APSTUDIO_INVOKED 6 | #error this file is not editable by Microsoft Visual C++ 7 | #endif //APSTUDIO_INVOKED 8 | 9 | 10 | ///////////////////////////////////////////////////////////////////////////// 11 | // Add manually edited resources here... 12 | 13 | ///////////////////////////////////////////////////////////////////////////// 14 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/Release/STDFUPRT.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUPRT/Release/STDFUPRT.exp -------------------------------------------------------------------------------- /Sources/STDFUPRT/Release/STDFUPRT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUPRT/Release/STDFUPRT.lib -------------------------------------------------------------------------------- /Sources/STDFUPRT/Release/STDFUPRT.tlog/STDFUPRT.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|Win32|C:\Users\Haven\Desktop\DFU\DfuSe\Sources\| 3 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/Resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Developer Studio generated include file. 3 | // Used by STDFUPRT.rc 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | #define _APS_NEXT_RESOURCE_VALUE 2000 11 | #define _APS_NEXT_COMMAND_VALUE 32771 12 | #define _APS_NEXT_CONTROL_VALUE 2000 13 | #define _APS_NEXT_SYMED_VALUE 2000 14 | #endif 15 | #endif 16 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/STDFUPRT.APS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUPRT/STDFUPRT.APS -------------------------------------------------------------------------------- /Sources/STDFUPRT/STDFUPRT.def: -------------------------------------------------------------------------------- 1 | ; STDFUPRT.def : Declares the module parameters for the DLL. 2 | 3 | LIBRARY "STDFUPRT" 4 | DESCRIPTION 'STDFUPRT Windows Dynamic Link Library' 5 | 6 | EXPORTS 7 | STDFUPRT_LaunchOperation 8 | STDFUPRT_GetOperationStatus 9 | STDFUPRT_StopOperation 10 | STDFUPRT_CreateMappingFromDevice 11 | STDFUPRT_DestroyMapping 12 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/STDFUPRT.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // STDFUPRT.h : main header file for the STDFUPRT DLL 20 | // 21 | 22 | #if !defined(AFX_STDFUPRT_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_) 23 | #define AFX_STDFUPRT_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_ 24 | 25 | #if _MSC_VER > 1000 26 | #pragma once 27 | #endif // _MSC_VER > 1000 28 | 29 | #ifndef __AFXWIN_H__ 30 | #error include 'stdafx.h' before including this file for PCH 31 | #endif 32 | 33 | #include "resource.h" // main symbols 34 | 35 | ///////////////////////////////////////////////////////////////////////////// 36 | // CSTDFUPRTApp 37 | // See STDFUPRT.cpp for the implementation of this class 38 | // 39 | 40 | class CSTDFUPRTApp : public CWinApp 41 | { 42 | public: 43 | CSTDFUPRTApp(); 44 | 45 | // Overrides 46 | // ClassWizard generated virtual function overrides 47 | //{{AFX_VIRTUAL(CSTDFUPRTApp) 48 | public: 49 | virtual int ExitInstance(); 50 | //}}AFX_VIRTUAL 51 | 52 | //{{AFX_MSG(CSTDFUPRTApp) 53 | // NOTE - the ClassWizard will add and remove member functions here. 54 | // DO NOT EDIT what you see in these blocks of generated code ! 55 | //}}AFX_MSG 56 | DECLARE_MESSAGE_MAP() 57 | }; 58 | 59 | 60 | ///////////////////////////////////////////////////////////////////////////// 61 | 62 | //{{AFX_INSERT_LOCATION}} 63 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 64 | 65 | #endif // !defined(AFX_STDFUPRT_H__CA50FA27_22A5_4914_B049_E93A0BDD3901__INCLUDED_) 66 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/STDFUPRT.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUPRT/STDFUPRT.rc -------------------------------------------------------------------------------- /Sources/STDFUPRT/STDFUPRT.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {5f87b67d-935c-4d4a-9ccd-e9730b52b5f0} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {739778f3-8456-437c-b6ce-0ebef987b6ee} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {8feef57f-e98b-4c74-ab9c-4706bc8552c2} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | Source Files 32 | 33 | 34 | Source Files 35 | 36 | 37 | Source Files 38 | 39 | 40 | Source Files 41 | 42 | 43 | 44 | 45 | Source Files 46 | 47 | 48 | 49 | 50 | Header Files 51 | 52 | 53 | Header Files 54 | 55 | 56 | Header Files 57 | 58 | 59 | Header Files 60 | 61 | 62 | Header Files 63 | 64 | 65 | Header Files 66 | 67 | 68 | Header Files 69 | 70 | 71 | Header Files 72 | 73 | 74 | Header Files 75 | 76 | 77 | Header Files 78 | 79 | 80 | Header Files 81 | 82 | 83 | 84 | 85 | Source Files 86 | 87 | 88 | Resource Files 89 | 90 | 91 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/STDFUPRTINC.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #define OPERATION_DETACH 0 20 | #define OPERATION_RETURN 1 21 | #define OPERATION_UPLOAD 2 22 | #define OPERATION_ERASE 3 23 | #define OPERATION_UPGRADE 4 24 | 25 | #define STDFUPRT_ERROR_OFFSET (0x12340000+0x5000) 26 | 27 | #define STDFUPRT_NOERROR (0x12340000) 28 | #define STDFUPRT_UNABLETOLAUNCHDFUTHREAD (STDFUPRT_ERROR_OFFSET+0x0001) 29 | #define STDFUPRT_DFUALREADYRUNNING (STDFUPRT_ERROR_OFFSET+0x0007) 30 | #define STDFUPRT_BADPARAMETER (STDFUPRT_ERROR_OFFSET+0x0008) 31 | #define STDFUPRT_BADFIRMWARESTATEMACHINE (STDFUPRT_ERROR_OFFSET+0x0009) 32 | #define STDFUPRT_UNEXPECTEDERROR (STDFUPRT_ERROR_OFFSET+0x000A) 33 | #define STDFUPRT_DFUERROR (STDFUPRT_ERROR_OFFSET+0x000B) 34 | #define STDFUPRT_RETRYERROR (STDFUPRT_ERROR_OFFSET+0x000C) 35 | #define STDFUPRT_UNSUPPORTEDFEATURE (STDFUPRT_ERROR_OFFSET+0x000D) 36 | 37 | #pragma pack(push, b_align, 1) 38 | 39 | #ifndef TYPE_DFUSTATUS 40 | typedef struct 41 | { 42 | UCHAR bStatus; 43 | UCHAR bwPollTimeout[3]; 44 | UCHAR bState; 45 | UCHAR iString; 46 | } DFUSTATUS, *PDFUSTATUS; 47 | #endif 48 | 49 | #define BIT_READABLE 1 50 | #define BIT_ERASABLE 2 51 | #define BIT_WRITEABLE 4 52 | 53 | typedef struct { 54 | DWORD dwStartAddress; 55 | DWORD dwAliasedAddress; 56 | DWORD dwSectorIndex; 57 | DWORD dwSectorSize; 58 | BYTE bSectorType; 59 | BOOL UseForOperation; 60 | } MAPPINGSECTOR, *PMAPPINGSECTOR; 61 | 62 | typedef struct { 63 | BYTE nAlternate; 64 | char Name[MAX_PATH]; 65 | DWORD NbSectors; 66 | PMAPPINGSECTOR pSectors; 67 | } MAPPING, *PMAPPING; 68 | 69 | typedef struct { 70 | DWORD dwAddress; 71 | DWORD dwDataLength; 72 | PBYTE Data; 73 | } DFUIMAGEELEMENT, *PDFUIMAGEELEMENT; 74 | 75 | typedef struct { 76 | // Data that are driven by user 77 | GUID DfuGUID; 78 | GUID AppGUID; 79 | int Operation; 80 | BOOL bDontSendFFTransfersForUpgrade; 81 | HANDLE hImage; 82 | 83 | // Data that are driven by user initially. But can be changed by STDFUPRT.dll 84 | char szDevLink[MAX_PATH]; 85 | 86 | // Data that are driven by the Dll that can be read by user, but never written 87 | DWORD dwTag; 88 | BYTE Percent; 89 | 90 | WORD wTransferSize; 91 | DFUSTATUS LastDFUStatus; 92 | int CurrentRequest; 93 | UINT CurrentNBlock; 94 | UINT CurrentLength; 95 | DWORD CurrentAddress; 96 | UINT CurrentImageElement; 97 | 98 | DWORD ErrorCode; 99 | 100 | HANDLE hDevice; 101 | } DFUThreadContext, *PDFUThreadContext; 102 | 103 | #pragma pack(pop, b_align) 104 | 105 | extern "C" DWORD PASCAL EXPORT STDFUPRT_CreateMappingFromDevice(PCHAR szDevLink, PMAPPING *ppMapping, PDWORD pNbAlternates); 106 | extern "C" DWORD PASCAL EXPORT STDFUPRT_DestroyMapping(PMAPPING *ppMapping); 107 | 108 | extern "C" DWORD PASCAL EXPORT STDFUPRT_LaunchOperation(PDFUThreadContext pContext, PDWORD pOperation); 109 | extern "C" DWORD PASCAL EXPORT STDFUPRT_GetOperationStatus(DWORD OperationCode, PDFUThreadContext pContext); 110 | extern "C" DWORD PASCAL EXPORT STDFUPRT_StopOperation(DWORD OperationCode, PDFUThreadContext pLastContext); 111 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/STTHREAD.CPP: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #include "stdafx.h" 20 | #include "STThread.h" 21 | 22 | CSTThread::CSTThread() 23 | { 24 | m_pThread = NULL; 25 | } 26 | 27 | CSTThread::~CSTThread() 28 | { 29 | } 30 | 31 | static UINT ThreadProcedure(LPVOID pParam) 32 | { 33 | return ((CSTThread*)pParam)->BodyThread(); 34 | } 35 | 36 | BOOL CSTThread::BeginThread() 37 | { 38 | if (m_pThread) 39 | return FALSE; 40 | 41 | m_pThread=AfxBeginThread(ThreadProcedure, 42 | this, 43 | THREAD_PRIORITY_LOWEST, 44 | 0, 45 | CREATE_SUSPENDED); 46 | if (!m_pThread) 47 | return FALSE; 48 | 49 | m_pThread->m_bAutoDelete = FALSE; 50 | // Thread activation 51 | m_pThread->ResumeThread(); 52 | 53 | return TRUE; 54 | } 55 | 56 | UINT CSTThread::BodyThread() 57 | { 58 | HANDLE TabHandle[MAX_EVENTS]; 59 | UINT NbAdditionalEvents=0; 60 | DWORD WaitThreadRes=0; 61 | CEvent *pTabEvents[MAX_EVENTS]; 62 | 63 | NbAdditionalEvents=GetAdditionalEvents(pTabEvents); 64 | if (NbAdditionalEvents>=MAX_EVENTS) 65 | { 66 | AfxEndThread(STOP_ON_CFG); 67 | return STOP_ON_CFG; 68 | } 69 | 70 | TabHandle[0]=m_EventStop; 71 | m_EventStop.ResetEvent(); 72 | for (UINT i=0;iResetEvent(); 76 | } 77 | 78 | while (TRUE) 79 | { 80 | WaitThreadRes=::WaitForMultipleObjects(NbAdditionalEvents+1, 81 | TabHandle, 82 | FALSE, 83 | GetWaitEventDelay()); 84 | // Did we receive an event? 85 | if ( (WaitThreadRes>=WAIT_OBJECT_0) && 86 | (WaitThreadResm_hThread, 0)!=WAIT_OBJECT_0) 136 | { 137 | } 138 | 139 | if (ExitCode) 140 | GetExitCodeThread(m_pThread->m_hThread, ExitCode); 141 | 142 | // Destroy our CWinThread object 143 | delete m_pThread; 144 | m_pThread=NULL; 145 | 146 | return TRUE; 147 | } 148 | 149 | DWORD CSTThread::GetWaitEventDelay() 150 | { 151 | return 0; 152 | } -------------------------------------------------------------------------------- /Sources/STDFUPRT/STTHREAD.H: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #ifndef _ST_THREAD_H_ 20 | #define _ST_THREAD_H_ 21 | 22 | // End of thread status 23 | #define STOP_ON_CFG 0 24 | #define STOP_ON_EVENT 1 25 | #define STOP_ON_RUN 2 26 | 27 | #define MAX_EVENTS 10 28 | 29 | class CSTThread : public CObject { 30 | public: 31 | CSTThread(); 32 | virtual ~CSTThread(); 33 | 34 | virtual BOOL BeginThread(); 35 | 36 | virtual UINT BodyThread(); 37 | 38 | virtual BOOL StopThread(PDWORD ExitCode=NULL); 39 | // Thread body to be defined by descendants. If this function returns 40 | // FALSE, it means the the thread will be stoppped 41 | virtual BOOL RunThread() = 0; 42 | 43 | // We can add events on which the thread is able to react. 44 | virtual UINT GetAdditionalEvents(CEvent **); 45 | // We can treat these added events. If this function returns 46 | // FALSE, it means the event is considered as a stop event 47 | virtual BOOL TreatEvent(DWORD Id); 48 | // Waiting time on events 49 | virtual DWORD GetWaitEventDelay(); 50 | private: 51 | CWinThread *m_pThread; 52 | CEvent m_EventStop; // Event, signaled on thread stop 53 | }; 54 | #endif 55 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // stdafx.cpp : source file that includes just the standard includes 20 | // STDFUPRT.pch will be the pre-compiled header 21 | // stdafx.obj will contain the pre-compiled type information 22 | 23 | #include "stdafx.h" 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/StdAfx.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | // stdafx.h : include file for standard system include files, 20 | // or project specific include files that are used frequently, but 21 | // are changed infrequently 22 | // 23 | #define WINVER 0x0501 24 | 25 | 26 | #if !defined(AFX_STDAFX_H__450D2D72_CF2A_46D9_B87A_3E615A00DE49__INCLUDED_) 27 | #define AFX_STDAFX_H__450D2D72_CF2A_46D9_B87A_3E615A00DE49__INCLUDED_ 28 | 29 | #if _MSC_VER > 1000 30 | #pragma once 31 | #endif // _MSC_VER > 1000 32 | 33 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 34 | 35 | #include // MFC core and standard components 36 | #include // MFC extensions 37 | 38 | #ifndef _AFX_NO_OLE_SUPPORT 39 | #include // MFC OLE classes 40 | #include // MFC OLE dialog classes 41 | #include // MFC Automation classes 42 | #endif // _AFX_NO_OLE_SUPPORT 43 | 44 | 45 | #ifndef _AFX_NO_DB_SUPPORT 46 | #include // MFC ODBC database classes 47 | #endif // _AFX_NO_DB_SUPPORT 48 | 49 | #ifndef _AFX_NO_DAO_SUPPORT 50 | #include // MFC DAO database classes 51 | #endif // _AFX_NO_DAO_SUPPORT 52 | 53 | #include // MFC support for Internet Explorer 4 Common Controls 54 | #ifndef _AFX_NO_AFXCMN_SUPPORT 55 | #include // MFC support for Windows Common Controls 56 | #endif // _AFX_NO_AFXCMN_SUPPORT 57 | 58 | #include 59 | 60 | #include 61 | #include 62 | #include "setupapi.h" 63 | #include "usb100.h" 64 | 65 | //{{AFX_INSERT_LOCATION}} 66 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 67 | 68 | #endif // !defined(AFX_STDAFX_H__450D2D72_CF2A_46D9_B87A_3E615A00DE49__INCLUDED_) 69 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/dfuthread.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #ifndef _DFU_THREAD_H_ 20 | #define _DFU_THREAD_H_ 21 | 22 | #define NB_TRIALS 3 23 | 24 | #define DFU_INI_FILE "dfu.ini" 25 | #define DFU_INI_MAIN_SECTION "Options" 26 | #define DFU_INI_DIV8BLOCKS "Div8Blocks" 27 | #define DFU_INI_MANIFEST_AFTER_UPGRADE "ManifestOnlyAfterUpgrade" 28 | 29 | class CDFUThread : public CSTThread { 30 | public: 31 | CDFUThread(PDFUThreadContext pContext); 32 | virtual ~CDFUThread(); 33 | 34 | virtual BOOL StopThread(PDWORD ExitCode=NULL); 35 | 36 | // // We can add events on which the thread is able to react. 37 | // virtual UINT GetAdditionalEvents(CEvent **); 38 | // Waiting time on events 39 | virtual DWORD GetWaitEventDelay(); 40 | 41 | virtual void GetCurrentContext(PDFUThreadContext pContext); 42 | virtual void SetCurrentContext(PDFUThreadContext pContext); 43 | DFU_FUNCTIONAL_DESCRIPTOR GetDevDesc() { return m_DfuDesc; } 44 | protected: 45 | virtual BOOL SetNextBlockDataParameters(PDFUThreadContext pContext, PBOOL pNeedsToChangeElement); 46 | virtual BOOL EnsureIdleMode(PDFUThreadContext pContext); 47 | virtual BOOL Test(PDFUThreadContext pContext); 48 | virtual BOOL EraseAndGetStatus(PDFUThreadContext pContext); 49 | virtual BOOL SetAddressAndGetStatus(PDFUThreadContext pContext); 50 | virtual BOOL DownloadAndGetStatus(PDFUThreadContext pContext); 51 | virtual BOOL UploadAndGetStatus(PDFUThreadContext pContext); 52 | 53 | DFU_FUNCTIONAL_DESCRIPTOR m_DfuDesc; 54 | UINT m_DfuInterfaceIdx; 55 | UINT m_NbOfAlternates; 56 | 57 | 58 | DWORD m_PollTime; 59 | DFUThreadContext m_Context; 60 | BOOL m_Div8; 61 | BOOL m_ManifestAfterUpgrade; 62 | DWORD m_Retry; 63 | WORD m_NumBlockMax; 64 | private: 65 | CMutex m_ContextMutex; 66 | BOOL ActionAndGetStatus(PDFUThreadContext pContext); 67 | void GetDfuParameters(PDFUThreadContext pContext); 68 | // CEvent m_EventWaitPoll; 69 | }; 70 | #endif 71 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/downloadthread.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #ifndef _DOWNLOAD_THREAD_H_ 20 | #define _DOWNLOAD_THREAD_H_ 21 | 22 | #define SPECIAL_COMMAND_ERASE_ALL_SECTORS 0xFFFF 23 | 24 | #define ERASE_TIME_INTERVAL 1000 25 | 26 | typedef struct 27 | { 28 | DWORD NBlock; 29 | DWORD Length; 30 | } VALIDBLOCK, *PVALIDBLOCK; 31 | 32 | class CDownloadThread : public CDFUThread { 33 | public: 34 | CDownloadThread(PDFUThreadContext pContext); 35 | virtual ~CDownloadThread(); 36 | private: 37 | BOOL RunThread(); 38 | }; 39 | #endif 40 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/image.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STDFUPRT/image.cpp -------------------------------------------------------------------------------- /Sources/STDFUPRT/returnthread.h: -------------------------------------------------------------------------------- 1 | #ifndef _RETURN_THREAD_H_ 2 | #define _RETURN_THREAD_H_ 3 | 4 | #define SPECIAL_COMMAND_GO_TO_DNLOAD_IDLE 0xFFFC 5 | 6 | class CReturnThread : public CDFUThread { 7 | public: 8 | CReturnThread(PDFUThreadContext pContext); 9 | virtual ~CReturnThread(); 10 | 11 | private: 12 | virtual BOOL RunThread(); 13 | }; 14 | #endif 15 | -------------------------------------------------------------------------------- /Sources/STDFUPRT/uploadthread.h: -------------------------------------------------------------------------------- 1 | /******************** (C) COPYRIGHT 2011 STMicroelectronics ******************** 2 | * Company : STMicroelectronics 3 | * Author : MCD Application Team 4 | * Description : STMicroelectronics Device Firmware Upgrade Extension Demo 5 | * Version : V3.0.2 6 | * Date : 09-May-2011 7 | ******************************************************************************** 8 | * THE PRESENT SOFTWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS 9 | * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME. 10 | * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT, 11 | * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE 12 | * CONTENT OF SUCH SOFTWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING 13 | * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. 14 | ******************************************************************************** 15 | * FOR MORE INFORMATION PLEASE CAREFULLY READ THE LICENSE AGREEMENT FILE 16 | * "MCD-ST Liberty SW License Agreement V2.pdf" 17 | *******************************************************************************/ 18 | 19 | #ifndef _UPLOAD_THREAD_H_ 20 | #define _UPLOAD_THREAD_H_ 21 | 22 | class CUploadThread : public CDFUThread { 23 | public: 24 | CUploadThread(PDFUThreadContext pContext); 25 | virtual ~CUploadThread(); 26 | private: 27 | virtual BOOL RunThread(); 28 | BOOL m_bComplexStateMachine; 29 | }; 30 | #endif 31 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/IoCode.h: -------------------------------------------------------------------------------- 1 | //This file contains definition of control codes used by the driver, 2 | //and by the application, and some USB definitions 3 | 4 | 5 | 6 | 7 | #ifndef __Testioctl__h_ 8 | #define __Testioctl__h_ 9 | 10 | #define PU_GET_NUMBEROFCONFIG CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0800, METHOD_BUFFERED, FILE_ANY_ACCESS) 11 | #define PU_GET_CONFIG_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0801, METHOD_BUFFERED, FILE_ANY_ACCESS) 12 | #define PU_GET_DEVICE_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0802, METHOD_BUFFERED, FILE_ANY_ACCESS) 13 | #define PU_GET_STRING_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0803, METHOD_BUFFERED, FILE_ANY_ACCESS) 14 | #define PU_CONFIG CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0804, METHOD_BUFFERED, FILE_ANY_ACCESS) 15 | #define PU_VENDOR_REQUEST CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0805, METHOD_BUFFERED, FILE_ANY_ACCESS) 16 | #define PU_PIPE_CONTROL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0806, METHOD_BUFFERED, FILE_ANY_ACCESS) 17 | #define PU_SET_TIMEOUT CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0807, METHOD_BUFFERED, FILE_ANY_ACCESS) 18 | #define PU_SET_EVENT_DISCONNECT CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0808, METHOD_BUFFERED, FILE_ANY_ACCESS) 19 | #define PU_SET_EXCLUSIVE_OPEN CTL_CODE(FILE_DEVICE_UNKNOWN, 0x0809, METHOD_BUFFERED, FILE_ANY_ACCESS) 20 | #define PU_SET_EVENT_POWER_RESUME CTL_CODE(FILE_DEVICE_UNKNOWN, 0x080a, METHOD_BUFFERED, FILE_ANY_ACCESS) 21 | #define PU_GET_ERROR CTL_CODE(FILE_DEVICE_UNKNOWN, 0x080b, METHOD_BUFFERED, FILE_ANY_ACCESS) 22 | #define PU_NB_FRAMES_BUFFER CTL_CODE(FILE_DEVICE_UNKNOWN, 0x080c, METHOD_BUFFERED, FILE_ANY_ACCESS) 23 | #define PU_SUSPEND_CONTROL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x080d, METHOD_BUFFERED, FILE_ANY_ACCESS) 24 | 25 | #define URB_FUNCTION_VENDOR_DEVICE 0x0017 26 | #define URB_FUNCTION_VENDOR_INTERFACE 0x0018 27 | #define URB_FUNCTION_VENDOR_ENDPOINT 0x0019 28 | #define URB_FUNCTION_VENDOR_OTHER 0x0020 29 | 30 | #define URB_FUNCTION_CLASS_DEVICE 0x001A 31 | #define URB_FUNCTION_CLASS_INTERFACE 0x001B 32 | #define URB_FUNCTION_CLASS_ENDPOINT 0x001C 33 | #define URB_FUNCTION_CLASS_OTHER 0x001F 34 | 35 | #define STATUS_PIPE_OPEN 0xf0000001 36 | 37 | #endif -------------------------------------------------------------------------------- /Sources/STTubeDevice/Release/STTubeDevice30.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STTubeDevice/Release/STTubeDevice30.exp -------------------------------------------------------------------------------- /Sources/STTubeDevice/Release/STTubeDevice30.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STTubeDevice/Release/STTubeDevice30.lib -------------------------------------------------------------------------------- /Sources/STTubeDevice/Release/STTubeDevice30.tlog/STTubeDevice30.lastbuildstate: -------------------------------------------------------------------------------- 1 | #TargetFrameworkVersion=v4.0:PlatformToolSet=v141_xp:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=7.0 2 | Release|Win32|C:\Users\Haven\Desktop\DFU\DfuSe\Sources\| 3 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/Resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by STTUBEDEVICE.RC 4 | // 5 | 6 | // Next default values for new objects 7 | // 8 | #ifdef APSTUDIO_INVOKED 9 | #ifndef APSTUDIO_READONLY_SYMBOLS 10 | 11 | #define _APS_NEXT_RESOURCE_VALUE 8000 12 | #define _APS_NEXT_CONTROL_VALUE 8000 13 | #define _APS_NEXT_SYMED_VALUE 8000 14 | #define _APS_NEXT_COMMAND_VALUE 32771 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/STDevice.h: -------------------------------------------------------------------------------- 1 | #ifndef _STDEVICE_H_ 2 | #define _STDEVICE_H_ 3 | 4 | typedef BYTE FULL_CONFIG_INFO[512]; 5 | typedef FULL_CONFIG_INFO* PFULL_CONFIG_INFO; 6 | 7 | class CSTDevice : public CObject 8 | { 9 | public: 10 | CSTDevice(CString sSymbolicName); 11 | ~CSTDevice(); 12 | public: 13 | // Connection state 14 | DWORD Open(PHANDLE); 15 | DWORD Close(); 16 | DWORD OpenPipes(); 17 | DWORD ClosePipes(); 18 | DWORD SelectCurrentConfiguration(UINT ConfigIdx, UINT InterfaceIdx, UINT AltSetIdx); 19 | DWORD ControlPipeRequest(PCNTRPIPE_RQ pRequest, LPBYTE pData); 20 | DWORD EndPointControl(UINT nEndPointIdx, UINT nOperation); 21 | DWORD Reset(); 22 | DWORD Read(UINT nEndPointIdx, PBYTE pBuffer, PUINT pSize, DWORD nTimeOut); 23 | DWORD Write(UINT nEndPointIdx, PBYTE pBuffer, PUINT pSize, DWORD nTimeOut); 24 | 25 | // Accessors 26 | // - Default Time out 27 | DWORD SetDefaultTimeOut(DWORD nTimeOut) { m_nDefaultTimeOut=nTimeOut; return STDEVICE_NOERROR; } 28 | 29 | // - Number of interrupt IN frames to bufferize 30 | DWORD SetMaxNumInterruptInputBuffer(WORD nMaxNumInputBuffer); 31 | DWORD GetMaxNumInterruptInputBuffer(PWORD pMaxNumInputBuffer); 32 | 33 | // - String descriptors 34 | DWORD GetStringDescriptor(UINT Index, CString &Desc); 35 | // - Device descriptors 36 | DWORD GetDeviceDescriptor(PUSB_DEVICE_DESCRIPTOR Desc); 37 | 38 | // - Config numbers 39 | DWORD GetNbOfConfigurations(PUINT); 40 | // - Config descriptors 41 | DWORD GetConfigurationDescriptor(UINT ConfigIdx, PUSB_CONFIGURATION_DESCRIPTOR Desc); 42 | 43 | // - Interface numbers 44 | DWORD GetNbOfInterfaces(UINT ConfigIdx, PUINT); 45 | // - Alternate Settings numbers 46 | DWORD GetNbOfAlternates(UINT ConfigIdx, UINT InterfIdx, PUINT); 47 | // - Interface descriptors 48 | DWORD GetInterfaceDescriptor(UINT ConfigIdx, UINT InterfIdx, UINT AltIdx, PUSB_INTERFACE_DESCRIPTOR Desc); 49 | 50 | // - Endpoint numbers 51 | DWORD GetNbOfEndPoints(UINT ConfigIdx, UINT InterfIdx, UINT AltIdx, PUINT); 52 | // - Endpoint descriptors 53 | DWORD GetEndPointDescriptor(UINT ConfigIdx, 54 | UINT InterfIdx, 55 | UINT AltIdx, 56 | UINT EndPointIdx, 57 | PUSB_ENDPOINT_DESCRIPTOR Desc); 58 | // - Other descriptors (Class f.i) 59 | // * Nb of descriptors 60 | DWORD GetNbOfDescriptors(BYTE nLevel, 61 | BYTE nType, 62 | UINT ConfigIdx, 63 | UINT InterfIdx, 64 | UINT AltIdx, 65 | UINT EndPointIdx, 66 | PUINT pNbOfDescriptors); 67 | // * Descriptor itself 68 | DWORD GetDescriptor(BYTE nLevel, 69 | BYTE nType, 70 | UINT ConfigIdx, 71 | UINT InterfIdx, 72 | UINT AltIdx, 73 | UINT EndPointIdx, 74 | UINT nIdx, 75 | PBYTE pDesc, 76 | UINT nDescSize); 77 | 78 | // - Get symbolic name of the driver 79 | CString GetSymbolicName() { return m_SymbolicName; } 80 | 81 | // - Set current driver behaviour regarding Suspend mode 82 | DWORD SetSuspendModeBehaviour(BOOL Allow); 83 | private: 84 | int m_CurrentConfig; 85 | int m_CurrentInterf; 86 | int m_CurrentAltSet; 87 | 88 | CString m_SymbolicName; 89 | HANDLE m_DeviceHandle; 90 | BOOL m_bDeviceIsOpen; 91 | DWORD m_nDefaultTimeOut; 92 | 93 | USB_DEVICE_DESCRIPTOR m_DeviceDescriptor; 94 | FULL_CONFIG_INFO* m_pConfigs; 95 | HANDLE *m_pPipeHandles; 96 | UINT m_nbEndPoints; 97 | 98 | DWORD OpenDevice(PHANDLE); 99 | DWORD CloseDevice(); 100 | DWORD AllocDescriptors(); 101 | DWORD ReleaseDescriptors(); 102 | }; 103 | 104 | #endif -------------------------------------------------------------------------------- /Sources/STTubeDevice/STDevicesMgr.h: -------------------------------------------------------------------------------- 1 | #ifndef _STDEVICESMGR_H_ 2 | #define _STDEVICESMGR_H_ 3 | 4 | // This class handles all ST devics using Tube Driver 5 | 6 | class CSTDevicesManager : public CObject 7 | { 8 | public: 9 | CSTDevicesManager(); 10 | ~CSTDevicesManager(); 11 | 12 | // Functions which are DLL interfaces 13 | // - Device info functions 14 | DWORD Open( CString sSymbName, 15 | LPHANDLE phDevice, 16 | LPHANDLE phUnPlugEvent); 17 | DWORD Close(HANDLE hDevice); 18 | DWORD OpenPipes(HANDLE hDevice); 19 | DWORD ClosePipes(HANDLE hDevice); 20 | DWORD GetStringDescriptor( HANDLE hDevice, 21 | UINT nIndex, 22 | CString &sString); 23 | DWORD GetDeviceDescriptor( HANDLE hDevice, 24 | PUSB_DEVICE_DESCRIPTOR pDesc); 25 | DWORD GetNbOfConfigurations(HANDLE hDevice, PUINT pNbOfConfigs); 26 | DWORD GetConfigurationDescriptor( HANDLE hDevice, 27 | UINT nConfigIdx, 28 | PUSB_CONFIGURATION_DESCRIPTOR pDesc); 29 | DWORD GetNbOfInterfaces(HANDLE hDevice, 30 | UINT nConfigIdx, 31 | PUINT pNbOfInterfaces); 32 | DWORD GetNbOfAlternates(HANDLE hDevice, 33 | UINT nConfigIdx, 34 | UINT nInterfaceIdx, 35 | PUINT pNbOfAltSets); 36 | DWORD GetInterfaceDescriptor( HANDLE hDevice, 37 | UINT nConfigIdx, 38 | UINT nInterfaceIdx, 39 | UINT nAltSetIdx, 40 | PUSB_INTERFACE_DESCRIPTOR pDesc); 41 | DWORD GetNbOfEndPoints( HANDLE hDevice, 42 | UINT nConfigIdx, 43 | UINT nInterfaceIdx, 44 | UINT nAltSetIdx, 45 | PUINT pNbOfEndPoints); 46 | DWORD GetEndPointDescriptor( HANDLE hDevice, 47 | UINT nConfigIdx, 48 | UINT nInterfaceIdx, 49 | UINT nAltSetIdx, 50 | UINT nEndPointIdx, 51 | PUSB_ENDPOINT_DESCRIPTOR pDesc); 52 | DWORD GetNbOfDescriptors(HANDLE hDevice, 53 | BYTE nLevel, 54 | BYTE nType, 55 | UINT nConfigIdx, 56 | UINT nInterfaceIdx, 57 | UINT nAltSetIdx, 58 | UINT nEndPointIdx, 59 | PUINT pNbOfDescriptors); 60 | DWORD GetDescriptor(HANDLE hDevice, 61 | BYTE nLevel, 62 | BYTE nType, 63 | UINT nConfigIdx, 64 | UINT nInterfaceIdx, 65 | UINT nAltSetIdx, 66 | UINT nEndPointIdx, 67 | UINT nIdx, 68 | PBYTE pDesc, 69 | UINT nDescSize); 70 | DWORD SelectCurrentConfiguration( HANDLE hDevice, 71 | UINT nConfigIdx, 72 | UINT nInterfaceIdx, 73 | UINT nAltSetIdx); 74 | 75 | DWORD SetDefaultTimeOut(HANDLE hDevice, DWORD nTimeOut); 76 | DWORD SetMaxNumInterruptInputBuffer(HANDLE hDevice, WORD nMaxNumInputBuffer); 77 | DWORD GetMaxNumInterruptInputBuffer(HANDLE hDevice, PWORD pMaxNumInputBuffer); 78 | DWORD SetSuspendModeBehaviour(HANDLE hDevice, BOOL Allow); 79 | DWORD EndPointControl( HANDLE hDevice, 80 | UINT nEndPointIdx, 81 | UINT nOperation); 82 | DWORD Reset(HANDLE hDevice); 83 | DWORD ControlPipeRequest(HANDLE hDevice, PCNTRPIPE_RQ pRequest, LPBYTE pData); 84 | DWORD Read( HANDLE hDevice, 85 | UINT nEndPointIdx, 86 | PBYTE pBuffer, 87 | PUINT pSize, 88 | DWORD nTimeOut); 89 | DWORD Write(HANDLE hDevice, 90 | UINT nEndPointIdx, 91 | PBYTE pBuffer, 92 | PUINT pSize, 93 | DWORD nTimeOut); 94 | 95 | private: 96 | CObArray m_OpenDevices; 97 | }; 98 | 99 | #endif 100 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/STTubeDevice.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STTubeDevice/STTubeDevice.aps -------------------------------------------------------------------------------- /Sources/STTubeDevice/STTubeDevice.def: -------------------------------------------------------------------------------- 1 | ; STTubeDevice.def : Declares the module parameters for the DLL. 2 | 3 | LIBRARY "STTubeDevice30" 4 | DESCRIPTION 'STTubeDevice Windows Dynamic Link Library' 5 | 6 | EXPORTS 7 | STDevice_Open 8 | STDevice_OpenPipes 9 | STDevice_Close 10 | STDevice_ClosePipes 11 | STDevice_GetStringDescriptor 12 | STDevice_GetDeviceDescriptor 13 | STDevice_GetNbOfConfigurations 14 | STDevice_GetConfigurationDescriptor 15 | STDevice_GetNbOfInterfaces 16 | STDevice_GetNbOfAlternates 17 | STDevice_GetInterfaceDescriptor 18 | STDevice_GetNbOfEndPoints 19 | STDevice_GetEndPointDescriptor 20 | STDevice_GetNbOfDescriptors 21 | STDevice_GetDescriptor 22 | STDevice_SelectCurrentConfiguration 23 | STDevice_SetDefaultTimeOut 24 | STDevice_SetMaxNumInterruptInputBuffer 25 | STDevice_GetMaxNumInterruptInputBuffer 26 | STDevice_SetSuspendModeBehaviour 27 | STDevice_EndPointControl 28 | STDevice_Reset 29 | STDevice_ControlPipeRequest 30 | STDevice_Read 31 | STDevice_Write 32 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/STTubeDevice.h: -------------------------------------------------------------------------------- 1 | // STTubeDevice.h : main header file for the STTUBEDEVICE DLL 2 | // 3 | 4 | #if !defined(AFX_STTUBEDEVICE_H__3C699C04_5F0F_11D5_9645_0050041B1E9F__INCLUDED_) 5 | #define AFX_STTUBEDEVICE_H__3C699C04_5F0F_11D5_9645_0050041B1E9F__INCLUDED_ 6 | 7 | #if _MSC_VER > 1000 8 | #pragma once 9 | #endif // _MSC_VER > 1000 10 | 11 | #ifndef __AFXWIN_H__ 12 | #error include 'stdafx.h' before including this file for PCH 13 | #endif 14 | 15 | #include "resource.h" // main symbols 16 | 17 | ///////////////////////////////////////////////////////////////////////////// 18 | // CSTTubeDeviceApp 19 | // See STTubeDevice.cpp for the implementation of this class 20 | // 21 | class CSTDevicesManager; 22 | 23 | class CSTTubeDeviceApp : public CWinApp 24 | { 25 | private: 26 | CSTDevicesManager *m_pMgr; 27 | public: 28 | CSTDevicesManager *GetMgr() { return m_pMgr; } 29 | CSTTubeDeviceApp(); 30 | 31 | // Overrides 32 | // ClassWizard generated virtual function overrides 33 | //{{AFX_VIRTUAL(CSTTubeDeviceApp) 34 | public: 35 | virtual BOOL InitInstance(); 36 | virtual int ExitInstance(); 37 | //}}AFX_VIRTUAL 38 | 39 | //{{AFX_MSG(CSTTubeDeviceApp) 40 | // NOTE - the ClassWizard will add and remove member functions here. 41 | // DO NOT EDIT what you see in these blocks of generated code ! 42 | //}}AFX_MSG 43 | DECLARE_MESSAGE_MAP() 44 | }; 45 | 46 | 47 | ///////////////////////////////////////////////////////////////////////////// 48 | 49 | //{{AFX_INSERT_LOCATION}} 50 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 51 | 52 | #endif // !defined(AFX_STTUBEDEVICE_H__3C699C04_5F0F_11D5_9645_0050041B1E9F__INCLUDED_) 53 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/STTubeDevice.rc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/STTubeDevice/STTubeDevice.rc -------------------------------------------------------------------------------- /Sources/STTubeDevice/STTubeDevice.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {bcd62da9-8d86-41dc-9a77-2d74ca760d0c} 6 | cpp;c;cxx;rc;def;r;odl;idl;hpj;bat 7 | 8 | 9 | {7103456d-ab0a-498f-ae57-d5b2a9a9aabe} 10 | h;hpp;hxx;hm;inl 11 | 12 | 13 | {6a88784c-f938-4310-94d8-a79078f6581c} 14 | ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe 15 | 16 | 17 | 18 | 19 | Source Files 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | Source Files 34 | 35 | 36 | 37 | 38 | Header Files 39 | 40 | 41 | Header Files 42 | 43 | 44 | Header Files 45 | 46 | 47 | Header Files 48 | 49 | 50 | Header Files 51 | 52 | 53 | Header Files 54 | 55 | 56 | Header Files 57 | 58 | 59 | Header Files 60 | 61 | 62 | 63 | 64 | Source Files 65 | 66 | 67 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/STTubeDevice.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // STTubeDevice.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "stdafx.h" 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/StdAfx.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #if !defined(AFX_STDAFX_H__3C699C06_5F0F_11D5_9645_0050041B1E9F__INCLUDED_) 7 | #define AFX_STDAFX_H__3C699C06_5F0F_11D5_9645_0050041B1E9F__INCLUDED_ 8 | 9 | #if _MSC_VER > 1000 10 | #pragma once 11 | #endif // _MSC_VER > 1000 12 | 13 | #define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers 14 | 15 | #include // MFC core and standard components 16 | #include // MFC extensions 17 | 18 | #ifndef _AFX_NO_OLE_SUPPORT 19 | #include // MFC OLE classes 20 | #include // MFC OLE dialog classes 21 | #include // MFC Automation classes 22 | #endif // _AFX_NO_OLE_SUPPORT 23 | 24 | 25 | #ifndef _AFX_NO_DB_SUPPORT 26 | #include // MFC ODBC database classes 27 | #endif // _AFX_NO_DB_SUPPORT 28 | 29 | #ifndef _AFX_NO_DAO_SUPPORT 30 | #include // MFC DAO database classes 31 | #endif // _AFX_NO_DAO_SUPPORT 32 | 33 | #include // MFC support for Internet Explorer 4 Common Controls 34 | #ifndef _AFX_NO_AFXCMN_SUPPORT 35 | #include // MFC support for Windows Common Controls 36 | #endif // _AFX_NO_AFXCMN_SUPPORT 37 | 38 | 39 | //{{AFX_INSERT_LOCATION}} 40 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 41 | 42 | #endif // !defined(AFX_STDAFX_H__3C699C06_5F0F_11D5_9645_0050041B1E9F__INCLUDED_) 43 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/interface/STTubeDeviceErr30.h: -------------------------------------------------------------------------------- 1 | #define STDEVICE_ERROR_OFFSET 0x12340000 2 | 3 | #define STDEVICE_NOERROR STDEVICE_ERROR_OFFSET 4 | #define STDEVICE_MEMORY (STDEVICE_ERROR_OFFSET+1) 5 | #define STDEVICE_BADPARAMETER (STDEVICE_ERROR_OFFSET+2) 6 | 7 | #define STDEVICE_NOTIMPLEMENTED (STDEVICE_ERROR_OFFSET+3) 8 | #define STDEVICE_ENUMFINISHED (STDEVICE_ERROR_OFFSET+4) 9 | #define STDEVICE_OPENDRIVERERROR (STDEVICE_ERROR_OFFSET+5) 10 | 11 | #define STDEVICE_ERRORDESCRIPTORBUILDING (STDEVICE_ERROR_OFFSET+6) 12 | #define STDEVICE_PIPECREATIONERROR (STDEVICE_ERROR_OFFSET+7) 13 | #define STDEVICE_PIPERESETERROR (STDEVICE_ERROR_OFFSET+8) 14 | #define STDEVICE_PIPEABORTERROR (STDEVICE_ERROR_OFFSET+9) 15 | #define STDEVICE_STRINGDESCRIPTORERROR (STDEVICE_ERROR_OFFSET+0xA) 16 | 17 | #define STDEVICE_DRIVERISCLOSED (STDEVICE_ERROR_OFFSET+0xB) 18 | #define STDEVICE_VENDOR_RQ_PB (STDEVICE_ERROR_OFFSET+0xC) 19 | #define STDEVICE_ERRORWHILEREADING (STDEVICE_ERROR_OFFSET+0xD) 20 | #define STDEVICE_ERRORBEFOREREADING (STDEVICE_ERROR_OFFSET+0xE) 21 | #define STDEVICE_ERRORWHILEWRITING (STDEVICE_ERROR_OFFSET+0xF) 22 | #define STDEVICE_ERRORBEFOREWRITING (STDEVICE_ERROR_OFFSET+0x10) 23 | #define STDEVICE_DEVICERESETERROR (STDEVICE_ERROR_OFFSET+0x11) 24 | #define STDEVICE_CANTUSEUNPLUGEVENT (STDEVICE_ERROR_OFFSET+0x12) 25 | #define STDEVICE_INCORRECTBUFFERSIZE (STDEVICE_ERROR_OFFSET+0x13) 26 | #define STDEVICE_DESCRIPTORNOTFOUND (STDEVICE_ERROR_OFFSET+0x14) 27 | #define STDEVICE_PIPESARECLOSED (STDEVICE_ERROR_OFFSET+0x15) 28 | #define STDEVICE_PIPESAREOPEN (STDEVICE_ERROR_OFFSET+0x16) 29 | 30 | -------------------------------------------------------------------------------- /Sources/STTubeDevice/interface/STTubeDeviceTyp30.h: -------------------------------------------------------------------------------- 1 | #define DESCRIPTOR_CONFIGURATION_LEVEL 0 2 | #define DESCRIPTOR_INTERFACEALTSET_LEVEL 1 3 | #define DESCRIPTOR_ENDPOINT_LEVEL 2 4 | 5 | #define URB_FUNCTION_VENDOR_DEVICE 0x0017 6 | #define URB_FUNCTION_VENDOR_INTERFACE 0x0018 7 | #define URB_FUNCTION_VENDOR_ENDPOINT 0x0019 8 | #define URB_FUNCTION_VENDOR_OTHER 0x0020 9 | 10 | #define URB_FUNCTION_CLASS_DEVICE 0x001A 11 | #define URB_FUNCTION_CLASS_INTERFACE 0x001B 12 | #define URB_FUNCTION_CLASS_ENDPOINT 0x001C 13 | #define URB_FUNCTION_CLASS_OTHER 0x001F 14 | 15 | #define PIPE_RESET 1 16 | #define ABORT_TRANSFER 0 17 | 18 | #define VENDOR_DIRECTION_IN 1 19 | #define VENDOR_DIRECTION_OUT 0 20 | 21 | typedef struct { 22 | USHORT Function; 23 | ULONG Direction; 24 | UCHAR Request; 25 | USHORT Value; 26 | USHORT Index; 27 | ULONG Length; 28 | } CNTRPIPE_RQ, *PCNTRPIPE_RQ; 29 | -------------------------------------------------------------------------------- /Sources/Tools/GUIDGEN.DLL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Tools/GUIDGEN.DLL -------------------------------------------------------------------------------- /Sources/Tools/GUIDGEN.EXE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/Sources/Tools/GUIDGEN.EXE -------------------------------------------------------------------------------- /keilkilll.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fengqiangboy/winapp-dfuse/1e12f9bd3d48941a66283a858957fbb1f7f573c5/keilkilll.bat --------------------------------------------------------------------------------