Supported Demo Boards
The matrix of which demos are supported on a specific board can be found in the Release Notes demo board support section. Verify that the board you wish to use will work with this demo. This table also describes some of the limitations that the board might have while running this demo.
Demo Board I/O Mapping
Each demo board has a different number of push buttons, LEDs, and other features with various different names for these components. To determine which board features are used for which demo features, please refer to the io_mapping.h file in the demo folder under the system_config folder. Each demo board will have a corresponding folder with an io_mapping.h file in it. For example, for the PIC18F46J50 PIM this would be the following file:
<install_directory>/apps/usb/device/vendor_throughput_test/firmware/src/system_config/pic18f46j50_pim/io_mapping.h
For more information about each demo board, please refer to the Demo Board Information section.
Demo Operation
This demo uses the selected hardware platform as a WinUSB class USB device. WinUSB is a vender specific driver produced by Microsoft for use with Windows® XP service pack 2 and later operating systems. This driver allows users to have access to interrupt, bulk, and control transfers directly.
The HighBandwidthWinUSB.exe program, and the associated firmware demonstrate how to use the WinUSB device drivers for USB Bulk data transfers. Total Time taken to transmit the data & data transmission rate (Bytes/Sec) is shown in the GUI once the data transmission of 9,60,000 bytes is completed from the PC side.
Before you can run the HighBandwidthWinUSB.exe executable, you will need to have the Microsoft® .NET Framework Version 2.0 Redistributable Package (later versions probably okay, but not tested) installed on your computer. Programs which were built in the Visual Studio® .NET languages require the .NET redistributable package in order to run. The redistributable package can be freely downloaded from Microsoft’s website. Users of Windows Vista® operating systems will not need to install the .NET framework, as it comes pre-installed as part of the operating system.
The source code for HighBandwidthWinUSB.exe file was created in Microsoft Visual C++® 2005 Express Edition. The source code can be found in the “<Install Directory>\ USB Device - WinUSB - High Bandwidth Demo\WinUSB High Bandwidth Demo - PC Application - MS VC++ 2005 Express” directory. Microsoft currently distributes Visual C++ 2005 Express Edition for free, and can be downloaded from Microsoft’s website. When downloading Microsoft Visual C++ 2005 Express Edition, also make sure to download and install the Platform SDK, and follow Microsoft’s instructions for integrating it with the development environment.
It is not necessary to install either Microsoft Visual C++ 2005, or the Platform SDK in order to begin using the HighBandwidthWinUSB.exe program. These are only required if the source code will be modified or compiled.
To launch the application, simply double click on the executable “HighBandwidthWinUSB.exe” in the “<Install Directory>\USB Device - WinUSB - High Bandwidth Demo” directory. A window like that shown below should appear:
If instead of this window, an error message pops up while trying to launch the application, it is likely the Microsoft .NET Framework Version 2.0 Redistributable Package has not yet been installed. Please install it and try again.
As configured by default, the application is looking for USB devices with VID = 0x04D8 and PID = 0x0052. The device descriptor in the firmware project meant to be used with this demo uses the same VID/PID. Once the device flashed with corresponding firmware is connected to the PC, the below window appears:
Hitting the “Send Bulk OUT Packets” tab will transmit 960,000 bytes of data on the USB bus to the corresponding endpoints ( EP1 Only or EP1,EP2, EP3 Simultaneously depending upon the button pressed in the GUI). Elapsed Time (ms) & Bandwidth (Bytes/Sec) are displayed in the GUI once the data transmission is complete.
MLA - USB Library Help Version : 2.16
![]() |