This is version 5.10.00.17 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:
Users must read the “Updating and Compatibility Information” below, and follow the instructions to port their application to this new release.
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
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
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
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
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
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
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
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” |
There are some known issues with importing and building USB examples with older/newer versions of CCS and IAR.
<INSTALL_DIR>/ccsv5/ccs_base/msp430/include
and add lnk_msp430f5529.cmd file to your project.lnk_msp430f5529.cmd
as well as msp430usb.cmd
from MSP430USBDevelopersPackage_5.10.00.17\MSP430_SW_Development\MSP430_USB_API
.5.10.00.17 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.10.00.17, then the following should be done:
MSP430USBDevelopersPackage_5.10.00.17\MSP430_SW_Development\MSP430_USB_API
MSP430USBDevelopersPackage_5.10.00.17\MSP430_SW_Development\MSP430_USB_DescriptorTool
.Simply replace the entire dirverlib folder with the new version.
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
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:
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.
Supported Operating Systems:
This release requires the following other software components and tools versions to successfully function:
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.
For more information about Texas Instruments, MSP430 or MSP432 visit www.ti.com and www.msp430.com.