├── 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
--------------------------------------------------------------------------------