MSP430 USB Developers Package 5.20.07.01 Release Notes
Table of Contents
- Introduction
- Package Contents
- Documentation
- What’s New in 5.20.07.01
- Revision History
- Known Issues
- Upgrading from a Previous Version
- Updating driverlib to a New Version
- Command Line GCC and Makefile
- Benchmarks
- Performance
- Host Support
- Dependencies
- Versioning
- Technical Support and Product Updates
- Additional Resources
Introduction
This is version 5.20.07.01 of the MSP430 USB Developers Package.
The MSP430 USB Developers Package provides APIs that make it easy to implement a simple USB data connection between a MSP430 and an USB host. It includes support for these common USB device classes:
- Communications Device Class (CDC)
- Human Interface Device class (HID)
- Mass Storage Class (MSC)
- Personal Healthcare Device Class (PHDC)
Users must read the “Updating and Compatibility Information” below, and follow the instructions to port their application to this new release.
Package Contents
- MSP430_USB_API. (The MSP430 USB API and Application Examples):
- Contains the MSP430 USB CDC/HID/MSC API. You can use this as the foundation of your MSP430 USB development.
- Contains a version of driverlib that was used for development and testing
- Contains examples for the various interfaces incuding an emptyExampleProject which can be used to start a new application.
- Documentation
- Programmers_Guide_MSP430_USB_API. (The MSP430 USB API Programmer’s Guide). The complete reference for developing USB applications on MSP430, using the API stacks and Descriptor Tool. See it for information about:
- Practical guidance on writing USB applications
- How to use the Descriptor Tool
- Links to other MSP430 USB information
- Examples_Guide_MSP430_USB
- Detailed information on how to run the examples
- Implementation details for the examples
- Release Notes. Contains information on new features, bugs fixed, compatibility, benchmarks and installation instrcutions.
- Programmers_Guide_MSP430_USB_API. (The MSP430 USB API Programmer’s Guide). The complete reference for developing USB applications on MSP430, using the API stacks and Descriptor Tool. See it for information about:
- MSP430 USB DescriptorTool
- Java based tool which can be used to easily generate USB descriptors specific to an application.
- Java based HID Demo application.
- The demo app (“HID Demo App”) is similar to a terminal application (i.e., Hyperterminal), except it uses HID instead of CDC. Designed to interact with an MSP430 application implementing a HID-Datapipe interface.
- Release Notes for the HID demo application
- Python Firmware Upgrader
- Firmware upgrader application in the form of a python GUI
- Release Notes for the firmware upgrader.
Documentation
Other Documentation
What’s New in 5.20.07.01
- Updated MSP430_USB_Firmware_Upgrade_Example to version 1.3.1.2 to include a software manifest.
- Software package versions updated. No functional changes from previous version.
Revision History
MSP430 USB Developers Package 5_20_06_02 Release
- USB stack code and examples
- Function HidToBufferFromHost() updated to get Y buffer byte count from pEP2 instead of pEP1.
- Implementation of auto detection of XT2 crystal frequencies for 4MHz, 8MHz, 12MHz, 16MHz and 24MHz.
- Integration of TI’s AES128 Encryption and Decryption APIs in examples, H10_ReceiveData_EncryptDecrypt and H11_LedOnOff_EncryptDecrypt, added
- Descriptor Tool
- Removed setting for selection of XT2 crystal frequency.
- Custom interfaces are stored in the order they are created in xml file.
- Java HidDemo tool and Python Firmware Upgrader tools
- Python Firmware Upgrader tool updated to download RAM_BSL.00.08.08.39.txt file
- A new version of Java HidDemo tool created that integrates TI’s AES128 Encryption and Decryption APIs.
- USB_API changes
- USB_init() has a routine to auto detect the XT2 frequency. This routine uses Timer A to compare the frequency of SMCLK=XT2 and ACLK=REFO. The timer A will only be used during the initialization of the USB stack. Therefore, it is recommended to initialize the USB stack before initializing the Timer A in an application. If this is not possible, or to disable the XT2 frequency auto detect feature, please see the Programmers_Guide_MSP430_USB_API.pdf for more information.
Bug ID | Summary |
---|---|
MSPUSB-263 | Possible bug in function HidToBufferFromHost() |
MSPUSB-296 | Provide BSL method od detecting crystal frequency as an option |
MSPUSB-301 | Custom HID interfaces are not stored in xml file |
MSPUSB-302 | Create USB example showing AES-128 implementation |
MSPUSB-303 | Update Java HID tool to encrypt and decrypt data |
MSPUSB-305 | COM Port name in Windows 10 for USB CDC example shows as ‘Generic Serial Port’ |
MSPUSB-306 | Update Descriptor Tool to remove XT related variables from descriptor.h |
MSP430 USB Developers Package 5_10_00_17 Release
- USB stack code and examples
- USB stack code updated with bug fixes
- CHM2_tasks and CHM3_SWIs IAR examples removed from examples directory. Please refer to TI-RTOS examples for USB working with TI-RTOS/SYSBIOS
- USB examples verified on Windows 10
- Descriptor Tool
- The maximum current drain drop down menu includes current from 0 to 500ma.
- Java HidDemo tool and Python Firmware Upgrader tools
- No changes
- USB_API changes
- usbSetIdle() function updated to reply to a SET_IDLE command with a zero packet length response
- ifdef condition added as appropriate for include files in usb.c file based on device type
- typedef instruction wrapped with cplusplus wrapper in usb.c file
- Scsi_Cmd_Parser() function in UsbMscScsi.c file updated to support ‘Eject’ functionality
Bug ID | Summary |
---|---|
14545 | New Descriptor tool’s drop down menu allows for current up to 100ma |
14702 | Add history info to release notes |
16626 | CDC type device does not work properly on El Capitan when serial port is closed and then opened |
10883 | H8_Keyboard example usbEventHandling.c support for other boards |
11455 | API programmer’s guide - add sidebar/linkable table of contents |
11768 | #ifdef the include files in usb.c |
12794 | cplusplus wrapper required for typedef in usb.c file |
15282 | H8_Keyboard example does not work with MAC El Capitan or Yosemite |
16066 | Ejecting an MSC device does not work in USB stack |
16406 | Update USB library with latest release of driverlib |
MSP430 USB Developers Package 5_00_01 Release
- USB Stack Code and Examples:
- No changes
- MSP430 USB Firmware Upgrade Example tool:
- Compiled for release version
- Descriptor Tool, Java HidDemo tool and Python Firmware Upgrader tools:
- Works on Windows, Linux and MAC
- USB_API changes
- No changes
Defects Fixed in 5_00_01:
Bug ID | Summary |
---|---|
7903 | MAC support for all tools (Java/Python) and examples |
MSP430 USB Developers Package 5_00_00 Release
- USB Stack Code and Examples:
- Updated to conform to MCU coding standard
- Macro definition DEPRECATED included in compiler option of all examples to remove deprecated functions and definitions from header files.
- Old API function names and definitions mapped to new names.
- Macro definition DRIVERLIB_LEGACY_MODE option removed.
- Updated to conform to MCU coding standard
- New look and feel to the Descriptor Tool.
- Tool no longer uses RCP application.
- New instructions on how to use the Descriptor Tool
- Regenerated descriptor.c, descriptors.h and UsbIsr.c files
- USB_API changes
- Function names and defination names changed to conform to MCU coding standard
Defects Fixed in 5_00_00:
Bug ID | Summary |
---|---|
10668 | USB stack and examples need to follow ONeMCU coding standard |
10670 | Re-write Descriptor tool |
MSP430 USB Developers Package 4_20_00 Release
- USB Stack Code and Examples:
- Updated to include various bug fixes.
- Remote Wakeup example included
- MSP430FG6626 support included
- Updated to include various bug fixes.
- Java HIDDemo tool
- Supports 32 bit and 64 bit Linux
- See the Host_USB_Sofware folder for details.
- TI signed INF Files for CDC interfaces
- Each CDC example contains a TI signed INF file along with a catalog file
- INF file and catalog files are imported into CCS and IAR
- Installation of the INF file can be done with the right-click method.
- Minor updates to Descriptor Tool.
- USB_API changes
- Support for placing XT2 in bypass mode included
- USB_determineFreq() updated to include more accurate determination of frequency
- Support for MSP430FG6626 included.
Defects Fixed in 4_20_00:
Bug ID | Summary |
---|---|
4927 | Java HIID Demo tool does not work with Linux |
6028 | Need to support XT2 bypass mode |
6076 | USB_determineFreq() inaccuracy |
6109 | Generated inf file should support right click install method |
6112 | create an example that shows remote wakeup capability |
6151 | Change Driverver in generated inf file |
6157 | SYSBIOS examples have warnings when built in IAR |
6166 | INF file is missing when examples are imported into CCS |
6773 | CHM1 example - When SD care is removed, the wrong LUN is closed out |
6879 | HidDemo assumes first entry in interface list is interface ‘0’ |
6890 | Media Removal/Insertion issues |
8188 | THe MSC example builds fail in IAR version 6.10 |
8220 | WHQL inf files hould be part of the USB developers package |
8308 | Source code refers to removed example C7 |
8326 | Add USB Bandgap and VBUS valid check in UsbIsr.c |
6754 | ‘Format disk drive’ message for MSC examples |
8846 | Update DMA channel definition in USB stack |
8309 | Cosmetic change: red bar in Help menu far too wide in Descriptor tool |
8894 | Calculated Custom Report descriptor size is wrong |
MSP430 USB Developers Package 4_10_02 Release
- USB Stack Code and Examples:
- Updated to provide backward compatibility with dirverlib through compiler define DRIVERLIB_LEGACY_MODE.
- Updated to provide backward compatibility with dirverlib through compiler define DRIVERLIB_LEGACY_MODE.
- Python based firmware upgrader tool updated with RAM_BSL.00.07.88.38.txt file.
- Supports Windows and Linux
- Developed using open source python-msp430-tools
- See the Host_USB_Sofware folder for details.
- Better CCS integration
- TI-REX integration. The examples and tools can be found under MSP430Ware in TI-REX.
- Examples now use CCS project spec files instead of entire CCS projects. This makes import and build easier. NOTE: See information os project spec limitation on CCS v5.3 and CCSv5.4
- Minor updates to Descriptor Tool.
- MSP430 USB Firmware Upgrade Example
- Updated with RAM_BSL.00.07.88.38.txt file
- USB_API changes
- Removed structure definitions in deprecated types.h file.
- Included DRIVERLIB_LEGACY_MODE option and function calls that use driverlib legacy mode code files.
Defects Fixed in 4_10_02:
Bug ID | Summary |
---|---|
6157 | SYSBIOS examples have warnings when built in IAR |
6227 | Include DRIVERLIB_LEGACY_MODE option in USB stack and example files |
6228 | Update types.h file by removing the structure definitions. |
1266 | USB Descriptor including HID even only CDC is generated |
1999 | Field Firmware Updater does not clsoe the file handle properly |
6530 | Python Firmware downloader updated with latest RAM_BSL |
MSP430 USB Developers Package 4_10_00 Release
- GCC Examples. USB stack now supports GCC
- New HID, CDC and MSC examples using CCS RedHat GCC compiler
- New HID, CDC and MSC examples using command line RedHat GCC compiler and gdb
- Examples structured into CCS, CCS_GCC and GCC folders.
- USB stack code, Examples and Descriptor Tool ouput files support C99 types
- All code converted to C99 types. The types.h file is included in the release for backward compatibiliity reasons only. This file has been deprecated with release v4.10
- Python based firmware upgrader tool updated to execute a BOR reset
- Supports Windows and Linux
- Developed using open source python-msp430-tools
- See the Host_USB_Sofware folder for details.
- Updated Documentation
- Examples Guide updated to include GCC examples
- Better CCS integration
- TI-REX integration. The examples and tools can be found under MSP430Ware in TI-REX.
- Examples now use CCS project spec files instead of entire CCS projects. This makes import and build easier. NOTE: See information os project spec limitation on CCS v5.3 and CCSv5.4
- Minor updates to Descriptor Tool.
- USB_API changes
- If XT2 crystal is not selected to be disabled during USB suspend, then XT2 will be left running to enable fast intterupt latency.
- Enumeration of the device when 3.3V LDO is turned OFF works on the MSP430F5529 launch pad
- Interrupt latency functions now work during VBUS on events.
- USB stack converted to use C99 types. Types.h file left in place for backward compatibility.
- USB stack includes pre-processor GCC definitions.
- Conditional statement added in USB_init() to prevent programs from hanging under certain conditions.
- If XT2 crystal is not selected to be disabled during USB suspend, then XT2 will be left running to enable fast intterupt latency.
Defects Fixed in 4_10_00:
Bug ID | Summary |
---|---|
4849 | Replace the PUC with a BOR command in Python Firmware Upgrader tool |
5521 | Enumeration test fails on USB CV v1.4.10.1 |
5044 | Instructions for bringing up examples on Linux platform |
5344 | Use C99 types in USB stack |
4879 | Consider enabling fst int latency by simply leaving XT2 running during suspend |
4880 | Extend new interrupt latency functions to work during VBUS-on events |
4320 | Add GCC support |
5617 | Turning OFF 3.3V LDO does not work on 5529 LaunchPad |
4932 | Hover over “ADD PHDC” button has incorrect text |
1266 | USB Descriptor including HID even only CDC is generated |
1679 | Generated C structures should be bracketed |
5345 | Programmer Guide Links Broken |
5419 | Fix release notes to use MB/sec for MSC performance measurement |
4931 | M1_fileSystemEmulation example does not work well on MAC OS |
4933 | Need to document need for Java install for Descriptor Tool within zip package |
5207 | USB10_WORKAROUND gives compile error in IAR |
260 | Show estimates of API code size and RAM usage according to the interface set chosen |
6025 | USB Developers Package USB_init() causing programs to hang |
MSP430 USB Developers Package 4_00_02 Release
- New Python based firmware upgrader
- Supports Windows and Linux
- Developed using open source python-msp430-tools
- See the Host_USB_Sofware folder for details.
- Improved Examples
- New Simple Rx/Tx examples for CDC and HID
- New example That shows how to use a timer to reduce interrupt latency
- Examples better structured to work on various boards/devices.
- Examples now use driverlib.
- Improved Documentation
- Programmers Guide re-worked
- Documentation of examples moved into Examples Guide
- API Documentation is now in html format using doxygen.
- Better CCS integration
- TI-REX integration. The examples and tools can be found under MSP430Ware in TI-REX.
- Examples now use CCS project spec files instead of entire CCS projects. This makes import and build easier. NOTE: See information os project spec limitation on CCS v5.3 and CCSv5.4
- Improved Directory Structure
- Directories renamed to better describe their contents
- Examples renamed to better describe their functionality.
- Improved Descriptor Tool
- Icons bigger and better
- Interface views improved to reflect functionality
- Help text bigger and better
- Manipulation of views simplified
- MSC structs generated. Less work for application.
- USB_API changes
- New USB API USB_setup() simplifies USB initialization
- USB10 workaround can be enabled by defining USB10_WORKAROUND on the compiler command line
- Resume interrupt latency can be reduced by defining USE_TIMER_FOR_RESUME on the compiler command line.
- USB API now computes MCLK value at runtime to compute accurate delays when required.
Defects Fixed in 4_00_02:
Bug ID | Summary |
---|---|
5014 | Remove all instances of USB_PLL_XT as all devices use XT2 |
5009 | F6659 not supported |
5080 | Include entire driverlib in USB examples to avoid mix and match of driverlib versions |
5081 | Use driverlib.h files in stack and examples |
MSP430 USB Developers Package 4_00_00 Release
- New Python based firmware upgrader
- Supports Windows and Linux
- Developed using open source python-msp430-tools
- See the Host_USB_Sofware folder for details.
- Improved Examples
- New Simple Rx/Tx examples for CDC and HID
- New example That shows how to use a timer to reduce interrupt latency
- Examples better structured to work on various boards/devices.
- Examples now use driverlib.
- Improved Documentation
- Programmers Guide re-worked
- Documentation of examples moved into Examples Guide
- API Documentation is now in html format using doxygen.
- Better CCS integration
- TI-REX integration. The examples and tools can be found under MSP430Ware in TI-REX.
- Examples now use CCS project spec files instead of entire CCS projects. This makes import and build easier. NOTE: See information os project spec limitation on CCS v5.3 and CCSv5.4
- Improved Directory Structure
- Directories renamed to better describe their contents
- Examples renamed to better describe their functionality.
- Improved Descriptor Tool
- Icons bigger and better
- Interface views improved to reflect functionality
- Help text bigger and better
- Manipulation of views simplified
- MSC structs generated. Less work for application.
- USB_API changes
- New USB API USB_setup() simplifies USB initialization
- USB10 workaround can be enabled by defining USB10_WORKAROUND on the compiler commnad line
- Resume interruptllatency can be reduced by defining USE_TIMER_FOR_RESUME on the compiler command line.
- USB API now computes MCLK value at runtime to compute accurate delays when required.
Defects Fixed in 4_00_00:
Bug ID | Summary |
---|---|
929 | Add workaround for USB9 errata |
1212 | Use driverlib inside the USB stack and examples |
1214 | Convert Build Process to use Cygwin |
1262 | H5 and H6 fail on hudson testing |
1329 | DescriptorTool in Mac has small/unusable text boxes |
1678 | Descriptor tool path separator should use a standard java separator |
1808 | USBHID_receiveReport does not handle size of report |
1811 | Change report_desc_size to WORD instead of BYTE |
2022 | LED Control Demo(with CDC) fails at USB7 workaround |
2149 | USB HID Tool does not work with 64-bit JRE |
2315 | Descriptor tool creates an invalid entry in the inf file |
3307 | Code is missing in dma.c to support DMA channels greater than 2. |
3310 | ADD DMA4 workaround to stack. ALso check for other errata workarounds that need to be in place |
3498 | USB LDO settings (on/off) needs to be user configurable |
3499 | LEDs in example should be easier to change |
3621 | CH1_Example does not build for F5510 |
3622 | Customer name exposed in usb.c |
3623 | USB9 workaround causes SVSH reset |
3655 | Include python based firmware downloader in release |
3757 | Wrong Java version requirement listed in release notes for HID Demo App |
3996 | Need a function to map ASCII to HID usage code |
4051 | wrong comment in h8 - main.c line 98 |
4297 | Remove tabs |
4304 | Help text is very small |
4307 | Change implementation for multiple descriptor sets |
4308 | Add confirmation dialog box to delete button |
4312 | New button images |
4313 | Changes to GUI layout in CDC interface pane, re: USB/UART bridge functionality |
4314 | Interface panes have typo in intfNum label |
4316 | Change “Cheat Sheet” label on help pane tab, to “Help Pane” |
4317 | Changes to GUI layout in MSC interface pane –> CD-ROM |
4318 | MSP5430 USB stack does not STALL upon receiving Microsoft OS descriptor request. |
4319 | Makesure to use latest RAM BSL in firmware downloader. Also use latest txt files |
4321 | Hide USB_MCLK_FREQ from users. |
4323 | Generate USB examples using Project Templates |
4325 | Update examples with new changes as per 5529 UE code. |
4326 | Add new simple Rx, TX example for CDC, HID and MSC |
4327 | Rename example - C1 to led_onoff etc. |
4330 | Remove USB API docs from Programmers Guide. |
4331 | Move example description from Programers Guide to examples folder (readme.txt) |
4334 | Add stack version in shipped sources at the bottom |
4335 | Update release notes - remove info present in Prog Guide |
4336 | Add Makefile rule to remove all TABS and replace by spaces. |
4337 | Try to document or even automate CDC driver installation on Win8 |
4383 | When generating output, don’t ask separately for location, for descriptors.c/h vs. usbisr.c |
4569 | WORD/BYTE declaration conflict, resulting in improper indexing of report_len_input [] array |
4570 | Finish migrating LUN information into the Tool |
4575 | Make sure device.h supports ALL USB devices. |
4640 | Accept a command-line parameter for target directory |
4714 | Composite CDC warning isn’t keying correctly |
4738 | If USCMSC_updateMediaInfo() called during READ/WRITE, causes the host to re-enumerate |
4796 | USB_handleEnumCompleteEvent called after SetAddress NOT SetConfiguration |
4799 | In the tree, change “Device” node label to “USB Device” |
Known Issues
There are some known issues with importing and building USB examples with older/newer versions of CCS and IAR.
- CCS
- Build Errors
- Upon importing an example, lnk_msp430f5529.cmd file is missing from the project. To resolve this issue, browse to
<INSTALL_DIR>/ccsv5/ccs_base/msp430/include
and add lnk_msp430f5529.cmd file to your project. - Some USB examples also include an application specific header file. In such cases add
lnk_msp430f5529.cmd
as well asmsp430usb.cmd
fromMSP430USBDevelopersPackage_5.20.07.01\MSP430_SW_Development\MSP430_USB_API
. - Currently SYSBIOS does not support MSP430FG6626 devices so a build error of ‘target not supported’ will be seen.
- Upon importing earlier versions of GCC examples, into newer versions of CCS 6.0/CCS 6.1, CCS might throw an error of not being able to find the main function. To fix this issue de-select the compiler option ‘-ffunction-sections’ from Properties->Build->GNU Compiler->Optimization configuration section of CCS
- CHM2_tasks and CHM3_SWIs examples require SYSBIOS and XDCTOOLS to be included as part of the build
- Upon importing an example, lnk_msp430f5529.cmd file is missing from the project. To resolve this issue, browse to
- Build Warnings
- The following warning will appear on older versions of CCS. This has been fixed in CCS5.5.
“#303-D typedef name has already been declared (with same type) gpio.c /C0_SimpleSend/driverlib/MSP430F5xx_6xx line 70, external location: C:/ti/CCS5_3_0_00090/ccsv5/ccs_base/msp430/include/msp430f5529.h C/C++ Problem”
- The following warning will appear on older versions of CCS. This has been fixed in CCS5.5.
- MSP430 GCC
- Only available in CCS 6.0 and greater.
- SYSBIOS does not support GCC
- MSP430 GCC does not support Large Memory Model.
- Build Errors
- Command Line GCC
- Build Errors
- Examples will fail to build if any of the path names listed in the examples’ Makefiles are longer than 160 characters.
- Build Errors
- IAR
- Older versions of IAR cannot import the USB examples. You will have to re-create the IAR projects manually
Upgrading from a Previous Version
5.20.07.01 release of USB Developers Package has been compiled to work with with version 2.70.00.08 driverlib library. (See driverlib release_notes.html file for changes).
If existing users want to update to 5.20.07.01, then the following should be done:
- Copy/Replace stack files.
- Browse to
MSP430USBDevelopersPackage_5.20.07.01\MSP430_SW_Development\MSP430_USB_API
- Copy over the driverlib folder (see MSP430Ware release notes for upgrade information)
- Completely replace the USB_API folder. (delete old folder).
- Browse to
- Re-generate Descriptor Tool Output
- Launch the new Descriptor Tool from
MSP430USBDevelopersPackage_5.20.07.01\MSP430_SW_Development\MSP430_USB_DescriptorTool
. - Follow the instructions in the programmers guide to create your USB device again or bring up the old descriptor tool and open the DAT file (.DAT files prior to MSP430USBDevelopersPackage version 5_00_00) for your project and copy all the fields to the new tool.
- If you have a MSC interface in your application re-visit the MSC Interface to add Logical Unit Configuration.
- Delete the existing descriptors.c, descriptors.h and UsbIsr.c files in the USB_config folder of your old project.
- Click the “Generate” button and save all files into the USB_config folder of your old project. The XML file now replaces the old DAT configuration file. The DAT file can be deleted.
- You can now close the Descriptor Tool.
- Launch the new Descriptor Tool from
- Replace deprecated driverlib APIs in all other files with their equivalent as listed in the driverlib release_notes.html file and APIS_REMOVED.html file.
Updating driverlib to a New Version
Simply replace the entire dirverlib folder with the new version.
Command Line GCC and Makefile
To run the GCC examples from the command line, two variables in the each example makefile has to be updated. See the Examples Guide for more details
Benchmarks
The USB stack code metrics were performed with the CCS 4.3.3 compiler, and IAR 6.30 compiler with different optimization settings. Users may see different code sizes depending on their project settings so it is best to perform the benchmarks within the project itself. Code metrics for the USB stack code can be viewed here:
Performance
MSC PERFORMANCE (Single Buffering)
File Size | Read (MB/sec) | Write (MB/sec) |
---|---|---|
4096 | 0.20 | 0.12 |
8192 | 0.22 | 0.13 |
16284 | 0.21 | 0.12 |
32768 | 0.22 | 0.12 |
65536 | 0.22 | 0.15 |
131072 | 0.22 | 0.13 |
262144 | 0.21 | 0.15 |
524288 | 0.20 | 0.15 |
MSC PERFORMANCE (Double Buffering)
File Size | Read (MB/sec) | Write (MB/sec) |
---|---|---|
4096 | 0.23 | 0.11 |
8192 | 0.25 | 0.12 |
16284 | 0.27 | 0.12 |
32768 | 0.27 | 0.12 |
65536 | 0.27 | 0.12 |
131072 | 0.26 | 0.14 |
262144 | 0.27 | 0.16 |
524288 | 0.28 | 0.15 |
VDBENCH application used for MSC benchmarking. No validation of transfer done. Measured in Mega Bytes/sec.
CDC PERFORMANCE
Direction | Speed(Kbps) | CPU frequency (MHz) |
---|---|---|
RX | 69.421 | 1 |
RX | 140.660 | 2 |
RX | 274.005 | 4 |
RX | 475.060 | 8 |
RX | 598.844 | 12 |
RX | 677.156 | 16 |
RX | 675.738 | 20 |
RX | 674.130 | 25 |
TX | 67.005 | 1 |
TX | 136.044 | 2 |
TX | 271.304 | 4 |
TX | 530.643 | 8 |
TX | 704.830 | 12 |
TX | 803.014 | 16 |
TX | 800.531 | 20 |
TX | 797.851 | 25 |
Tranfer size for CDC benchmarks is 2048 arrays with 1024bytes/array. The MSP430 application used calls USBCDC_rejectData() for any data it receives. The is to nearly eliminate the device application from being a factor. If the application rejects the data, it doesn’t use any time to move the data. In contrast, any real application must handle the data, and thus will get considerably less, probably closer to the 200-500KB/sec range.
INTERRUPT LATENCY
Interrupt Source | #Cycles |
---|---|
ENDPOINT0 Receive Data | 224 |
ENDPOINT0 Transmit Data | 415 |
USB_RESET | 455 |
USB SUSPEND | 121 |
USB RESUME | 504 |
CDC Receive Data | 1601 |
CDC Transmit Data | 246 |
HID Receive Data | 1566 |
HID Transmit Data | 106 |
MSC Receive Data | 647 |
MSC Transmit Data | 1758 |
Special benchmark applications were used with code inserted to measure latency using a timer. Applications made use new USE_TIMER_FOR_RESUME to reduce interrupt latency for resume interrupt. Without the use of USE_TIMER_FOR_RESUME resume interrupt can take arounbd 13000 cycles.
Host Support
Supported Operating Systems:
- Windows 7 and Windows 10
- MAC Yosemite and El Capitan
- Linux
Dependencies
This release requires the following other software components and tools versions to successfully function:
- Code Composer Studio Version: 6.0.190
- IAR Embedded Workbench for MSP430 6.30
- SYSBIOS v6_37_01_24 and XDCTOOLS v3_25_05_94.
Versioning
This product’s version follows a version format, M.mm.pp.bb, where M is a single digit Major number, mm is 2 digit minor number, pp is a 2 digit patch number, and b is an unrestricted set of digits used as an incrementing build counter.
To support multiple side-by-side installations of the product, the product version is encoded in the top level directory, ex. msp_connectivity_library_5_10_00_01.
Technical Support and Product Updates
- Visit the MSP E2E Forum for support.
Additional Resources
For more information about Texas Instruments, MSP430 or MSP432 visit www.ti.com and www.msp430.com.