MSP430 DriverLib 2.80.00.01
Release Notes
Document Revision: 072916.1331
This is the MSP430 Peripheral Driver Library.
This peripheral driver library's intent is to
allow
application development at an API level instead at the device register
level. Allowing developers to concentrate on their
applications
instead of the nuances of the particular MSP430 device they are using.
This document is divided into the following sections:
- MSP430ware Peripheral
Driver Library API
- MSP430ware
Peripheral
Driver Library User's Guides
- Manifest
- License
2.80.00.01
- Added support for MSP430FR2111
- Bugzilla
issue(16426) fixed - Workaround for CS12 errata added to driverlib
- Bugzilla issue(15235) fixed - ConfigureFRAMWaitStates avoids potential invalid state
- Bugzilla issue(15680) fixed - Setting access rights for segment 3 in MPU module
- Bugzilla issue(15684) fixed - PMM correctly waits until both SVM high and low sides are settled
- Bugzilla issue(16106) fixed - TIA API functions now reflect TIA module name.
- Bugzilla issue(16281) fixed - ADC10_A_configureMemory clears ADC10ENC before adjusting ADC10MCTL0
- Bugzilla issue(16716) fixed - RTC_C unlocked in initCalendar(), initCounter(), and initCounterPrescale()
- Bugzilla issue(16911) fixed - All MSP DriverLib Users Guide correctly states which device families are supported
- Bugzilla issue(16259) fixed - GCC examples makefiles now reflect MSP430 GCC Linker defining symbols at link time
- Added DCO FLL lock software trim to CS module. See User's Guide for more information on this topic.
Revision
History
2.70.01.01
- LEA_SC module has been removed from this release.
2.70.00.08
- Support for MSP430FR5994 has been added
2.60.00.02
- Support for MSP430FR2311 has been added
- Bugzilla
issue(14176) fixed - SD24B bit access issue
- Bugzilla
issue(14574) fixed - Code example eusci_a_uart_ex1_loopbackAdvanced updated
- PMMLPRST
bit in PMMCTL0 has been removed since the bit has been removed in
User's guide. PMM_enableLowPowerReset() and PMM_disableLowPowerReset()
are no longer available in MSP430FR5xx_6xx and MSP430FR2xx_4xx
families
- Bugzilla
issue(14176) fixed - msp430_driverlib_x_xx_xx_xx.zip contains
driverlib_x_xx_xx_xx folder. This should be modified to
contain msp430_driverlib_x_xx_xx_xx folder to be consistent with
the zip file name.
2.10.00.09
- Bugzilla
issue(12550) fixed - SD24B does driver lib function does not
support to set SD24BPREx. SD24_B_setConversionDelay has been added.
- Bugzilla issue(12649) fixed - measureESIOSC() always returns 0
- Bugzilla issue(13023) fixed - CS_bypassHFXTWithTimeout on FR5xx/6xx has typo in description in Driverlib API guide (html)
- CS_turnOnSMCLK() and CS_turnOffSMCLK() are added to MSP430FR5xx_6xx, MSP430FR57xx, MSP430FR2xx_4xx families
- CS_enableVLOAutoOff and CS_disableVLOAutoOff have been added to MSP430FR2xx_4xx family
2.10.00.09
- Added support for MSP430FG6626 series of devices
- Bugzilla issue(12411) fixed - Code example lcd_c_ex1_4mux should not go to LPMx.5
- Bugzilla issue(3602) fixed - PWM example doesn't use TIMER_B_generatePWM function
- Bugzilla issue(2063) fixed - CompD to turn off the voltage reference when not needed
2.10.00.09
- Bugzilla issue(11314) fixed - USCI_B_I2C_masterSingleReceiveStartWithTimeout
- Bugzilla issue(11780) fixed - wdt_a_ex3_watchdogACLK updated
- Bugzilla issue(11638) fixed - GPIO_getInterruptStatus does not shift result down for even ports
- Bugzilla
issue(12093) fixed - timer_a_ex4_pwmMultipleUpDown sets
TIMER_A_CAPTURE_INTERRUPT_ENABLE even though interrupts not used
- Bugzilla issue(12111) fixed - cs_ex2_DCO24MHz updated to run at 16MHz and waitstate added
- User's guide updated with more details on using driverlib with IAR
2.00.00.16
- This is a major release. We
have removed all APIs that were deprecated in previous releases. We
have also made some modifications to some of the existing APIs to
be compliant with the new Texas Instruments coding standards. Please refer List of APIs Removed for details.
- Bugzilla issue (10587) fixed - Erroneous comments in rtc_ex1_countmode.c
- Bugzilla issue (5256) fixed - Comp_e_ex2_outputToggleVcompVsVref25V has invalid comments
- Bugzilla issue (5256) fixed - Minor comments update to MSP430FR5xx_6xx pmm_Reset_LPMx_5.c
- Bugzilla issue (10347) fixed - Timer_X_stop() functions optimized
- Bugzilla issue (7172) fixed - Updates to source code based on new header files updates for MSP430FR2xx_4xx rtc.c/rtc.h.
- Bugzilla issue (5661) fixed - MSP430FR2xx_4xx RTC_clearInterrupt implementation updated
- Bugzilla
issue (10252) fixed - CS_LFXTClockFrequency/CS_HFXTClockFrequency
should be prefixed with 'private' and be declared as static
- Bugzilla issue (10385) fixed - Documentation error - FlashCtrl refereed to as FLashCtl in User's guide
- Bugzilla issue (5021) fixed - Need higher resolution screen captures in the Driverlib User's guide
- Bugzilla issue (10383) fixed - Timer_A documentation to be updated with latest APIs instead of deprecated ones
1.97.00.19
- MSP430FR2xx_4xx references to XT2 have been removed.
- MSP430FR2xx_4xx references to UCSSEL__ACLK have been updated to UCSSEL__MODCLK.
- MSP430FR5xx_6xx references to ACCTEIE have been deprecated since this bit is removed from MSP430FR5xx_6xx User's guide.
- The following APIs in MSP430FR5xx_6xx family have been deprecated
- SysCtl_enableBSLProtect
- SysCtl_disableBSLProtect
- SysCtl_disableBSLMemory
- SysCtl_enableBSLMemory
- SysCtl_setRAMAssignedToBSL
- SysCtl_setBSLSize
1.95.00.49- Added support for MSP430FR2xx_4xx family of devices
- Added
new APIs that are compliant with Texas Instruments new coding
guidelines. Existing user code will work without modification if it
includes driverlib.h instead of individual peripheral header files.
Refer Upgrade
and Compatibility Information
- By
default all deprecated APIs work. All deprecated APIs can be excluded
from build by adding compiler option –DDEPRECATED in the project setting
- Minor documentation updates
- Added structs to doxygen documentation
1.90.00.65
- Added support for MSP430i2xx family of devices
- Added support for MSP430FR69xx family of devices
- Optimized GPIO functions across families to use a lookup table to improve performance
- Optimized TIMER_A, TIMER_B and TIMER_D initialization performance
- Improved MPU APIs and documentation
- Bugzilla issue (5895) fixed - cleared MPU password
- Bugzilla issue (6133) fixed - locking MPU turns off MPU
- Bugzilla issue (6134) fixed - permissions not set correctly when uysing MPU_createThreeSegments()
- Bugzilla issue (6138) fixed - Enabling MPU NMI turns off the MPU
- Bugzilla issue (6139) fixed - Enable NMI after MPU Lock kills program
- Fixed issues with documentation for all RTC modules
- Fixed permissions issues that didn't allow group/word access
- Fixed various documentation issues throughout APIs and examples
1.80.00.18
- Added support for MSP430F6779A device family
- Bugzilla issue (6073) fixed - Clock divider calculation error in timer_b.c
- Users upgrading driverlib from version 1.60 to 1.80, please refer Upgrade
and Compatibility Information section.
- Removal
of baseaddress removes support of Grace 2.20.02.32. Users that rely on
Grace should not update Driver Library at this time until a new Grace
is released.
1.70.00.41
- Improved RTSC support. Driver Library projects added to New
Project Wizard and Project Template.
- Energia support
- Removed
baseaddress parameter in core peripherals. Provided backward
compatibility through compiler define DRIVERLIB_LGEACY_MODE.
For
more information view the Upgrade
and Compatibility Information section.
- Removal
of baseaddress removes support of Grace 2.20.02.32. Users that rely on
Grace should not update Driver Library at this time until a new Grace
is released.
- Red Hat MSPGCC Support
- Removed deprecated 5xx_6xx folder support
- Code metrics added to documentation
- Workaround added for compiler warnings in older device
header files
- Fixed various spelling issues in user's guides
- Bugzilla issue (5781) fixed - DAC12_A_init()
ignores outputSelect argument.
- Bugzilla issue (5347) fixed
- SD24_B_configureConverterAdvanced() code fixed.
1.60.03.05
- Added RTSC support. This allows better discoverability by
Grace and some basic documentation in the Eclipse help system.
- Added P2 update support. Driver Library can now be updated
through CCS.
1.60.02.01
- Fixed issue with C++ bindings
- Fixed bug with USCI_A_UART recieveData, transmitData,
transmitBreak that used the wrong type of register access (16 instead
of 8)
- Fixed bug with USCI_B_I2C enableInterrupt,
masterSingleReceive that used the wrong type of register access (16
instead of 8)
1.60.01.08
- Fixed include path in example projects to refer to driver
library copy in workspace instead of from the installation
- Minor updates to inc/hw_memmap.h for each supported family
1.60.00.46
- Added C++ bindings to all driverlib peripherals
- Improved User's Guide Documentation
- Improved Release Notes Format
- Converted CCS examples to use CCS projectSpec
- In
all driverlib code examples, the source and header files are now copied
into the project and not linked (unlike previous driverlib releases)
- Examples generated from .projectspec file instead of
.cproject/.project files
- Clear LPM5 bit for GPIO settings in all Wolverine examples
- Fixed Bug 4537- Set enable bit on ADC to 0 before turning
ADC on or off in ADC12_B_enable and ADC12_B_disable
- Fixed Bug 4579- Changed comment in
MPU_createThreeSegments() in MSP430FR5xx_6xx, MSP430FR57xx
families
- Fixed Bug 4568 - Lock CS modules after unlocking in
MSP430FR5xx_6xx, MSP430FR57xx families
- Removed
(E)USCI_A_UART_init() and (e)uart_baudrate.h/c files in all families.
Please use (E)USCI_A_UART_initAdvance() instead. The
values
to be written into the clockPrescalar, firstModReg, secondModReg and
overSampling parameters of (E)USCI_A_UART_initAdvance() should
be
pre-computed and passed into the initialization function.
https://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSP430BaudRateConverter/index.html
helps pre-compute the necessary values.
- Removed busy bit checking for all FRAM peripherals
- Fixed Bug 4340 - (E)USCI_I2C timeout functions should use
pre-decrement rather than post-decrement in while loop
- Fixed Bug 4591 -
EUSCI_B_I2C_masterSendSingleByteWithTimeout() timeout incorrect
- Fixed
Bug 3856 - The following AES256 API for MSP430FR5xx_6xx are removed
AES256_decryptDataUsingEncryptionKey,
AES256_startDecryptDataUsingEncryptionKey,
AES256_generateFirstRoundKey,AES256_startGenerateFirstRoundKey. Two new
API are added - AES_setDecipherKey, AES_startSetDecipherKey
- Fixed Bug 4452 - Need FLASH apis that unlock info memory
- Added version.h to indicate driverlib version no.
- driverlC:\ti\msp\msp430_driverlib_2_20_00_06\driverlib_2_20_00_06ib.h
file is now available in every supported device family. Including this
one header
file in applications is sufficient for using any driverlib API call.
Including driverlib.h eliminates the need to include "inc/hw_memmap.h"
and every single "peripheral.h" the user would like to use.
- Driverlib code examples copy the driverlib source and
header files instead of linking them
- Removed deprecated 5xx_6xx examples. All customers should
be
using the new family based structure for driver library development.
Please refer to the family's user's guides for new APIs.
- EUSCI_SPI,
EUSCI_I2C, EUSCI_UART APIs are deprecated. Please use
EUSCI_A_SPI, EUSCI_B_SPI, EUSCI_B_I2C, EUSCI_A_UART APIs for
EUSCI
operations.
- The deprecated EUSCI_SPI, EUSCI_I2C, EUSCI_UART APIs are
removed for MSP430FR5xx_6xx family.
1.40.01.00
- Changed some remaining UART APIs to use C99 types
- Fixed minor doxygen documentation for CS
- Fixed bug in GPIO_interruptEdgeSelect that caused it to
fail to work with even ports (P2, P4, ..)
- Fixed bug in COMP_E that accidentally clears the previous
settings in CECTL2
- Fixed bug in ADC12_B_memoryConfigure that did not allow
enabling the window comparator
- The header files have been updated to be in sync with
CCS5.5 Beta
- FRAM_configureWaitStateControl API in 5xx_6xx family now
ignores the manualWaitState parameter
since this register bit is now changed to a reserved bit. The
API
signature has not changed to maintain backward compatibility..
- FRAM_configureWaitStateControl
API in MSP430FR5xx_6xx family signature has changed to exclude
the manualWaitState parameter since this register bit
is now
a reserved bit.
- PMM_lockLPM5() API is used in MSP430FR5xx_6xx
examples to disable the GPIO power-on default high-impedance mode to
activate previously configured port settings.
- Comp_E
examples in examples\driverlib\5xx_6xx\comp_e will fail to build due to
a bug in the existing device header file for versions of CCS less than
CCS 5.3. To workaround this, please upgrade CCS or replace the
msp430fr5969.h from the CCS5.3 release in your CCS install.
- Comp_E
examples in examples\driverlib\5xx_6xx\comp_e will fail to build due to
a bug in the existing device header file for versions of IAR5.5. To
workaround this, please replace the msp430fr5969.h from
deprecated\msp430fr5xx_6xx_header_files\IAR from the in your IAR5.5
install.
1.40.00.00
- Added TIMER_X_counterGet to get the current count of the
timer
- Changed timer initialization functions to not start timer
automatically
- Added documentation to create driverlib based projects from
scratch
- Fixed byte order in AES encrypt/decrupt APIs
- Separated EUSCI_SPI to EUSCI_A_SPI and EUSCI_B_SPI
- Separated USCI_SPI to USCI_A_SPI and USCI_B_SPI
- Renamed EUCSI_UART to EUSCI_A_UART and USCI_UART to
USCI_A_UART
- Renamed EUSCI_I2C to EUSCI_B_I2C and USCI_I2C to USCI_B_I2C
- Added API CRC_set8BitData and CRC_set16BitData
- Fixed minor doxygen documentation for ADC12_A
- Changed driverlib emptyProject to use ELF
- Comp_E examples
in examples\driverlib\5xx_6xx\comp_e will fail to build due to a bug in
the existing device header file for versions of CCS less than CCS 5.3.
To workaround this, please upgrade CCS or replace the msp430fr5969.h
from the CCS5.3 release in your CCS install.
- Comp_E examples in
examples\driverlib\5xx_6xx\comp_e will fail to build due to a bug in
the existing device header file for versions of IAR5.5. To workaround
this, please replace the msp430fr5969.h from
deprecated\msp430fr5xx_6xx_header_files\IAR from the in your IAR5.5
install.
1.30.00.00
- Added 4 wire EUSCI_SPI support
- Fixed typos in EUSCI examples
- Fixed comments in FRPMM
- Fixed parameters in UCS_clockSignalInit
- Added timeout functions to I2C and EUSCI_I2C peripheral
drivers
- Fixed bug in GPIO_setDriveStrength API. Modified PxIES
instead of PxDS
- Fixed comments in COMP_E examples
- Added support to ADC12_B to configure window comparator
- Comp_E
examples in examples\driverlib\5xx_6xx\comp_e will fail to build due to
a bug in the existing device header file for
versions of CCS less than CCS 5.3. To workaround this, please upgrade
CCS or
replace the msp430fr5969.h from the CCS5.3 release in your CCS install.
- Comp_E
examples in examples\driverlib\5xx_6xx\comp_e will fail to build due to
a bug in the existing device header file for versions of IAR5.5. To
workaround this, please replace the msp430fr5969.h
from
deprecated\msp430fr5xx_6xx_header_files\IAR from the in your IAR5.5
install.
Generally
DriverLib is
installed as part of MSP430ware. If you wish to update DriverLib
from the zip file,
unzip msp430_driverlib_x_xx_xx_xx.zip in your MSP430Ware installation.
The installation contains the driver
library core as well as peripheral examples and API documentation.
After
installing MSP430Ware or Driver Library restart Code Composer Studio.
When opening CCS you will be greeted with a window like that shown
below:
2.80.00.012.80.00.01
Accept the new product and approve the content. You will now be able to
use the RTSC features of driver library.
For more information about these feautres visit the Driver Library
User's Guide.
The MSP430 peripheral driver library contains the following
components:
doc |
MSP430 Peripheral Driver Library
documentation |
driverlib |
MSP430 Peripheral
Driver Library source code
|
examples |
MSP430 Peripheral Driver Library examples |
Device Support
The following families of devices are support in this release of MSP430
Driver Library:
- MSP430F5xx_6xx
- MSP430FR57xx
- MSP430FR5xx_6xx
- MSP430FR2xx_4xx
- MSP430i2xx
This
is the 2.80.00.01 release of MSP430 Peripheral Driver
Library. The following peripherals are supported in this
release:
- MSP430F5xx_6xx Devices
- ADC10_A
- ADC12_A
- AES
- BATTBAK (Battery Backup System)
- COMP_B
- CRC
- CTSD16
- DAC12_A
- DMA
- EUSCI_B_I2C
- EUSCI_A_SPI
- EUSCI_B_SPI
- EUSCI_A_UART
- FLASH
- SFR
- SYSCTL
- GPIO
- LDOPWR
- MPY32
- OA
- PMAP
- PMM
- RAM Controller
- REF
- REF_A
- RTC_A
- RTC_B
- RTC_C
- SD24_B
- SFR
- SYS
- TEC
- TIMER_A
- TIMER_B
- TIMER_D
- TLV
- UCS
- USCI_B_I2C
- USCI_A_SPI
- USCI_B_SPI
- USCI_A_UART
- WDT_A
- MSP430FR57xx Devices
- ADC12_B
- AES256
- COMP_E
- CRC
- CS
- DMA
- EUSCI_B_I2C
- EUSCI_A_SPI
- EUSCI_B_SPI
- EUSCI_A_UART
- FRAMCTL
- GPIO
- MPU
- MPY32
- PMM
- REF
- RTC_B
- SFR
- SYSCTL
- TIMER_A
- TIMER_B
- TLV
- WDT_A
- MSP430FR5xx_6xx Devices
- ADC12_B
- AES256
- Comp_E
- CRC
- CS
- DMA
- EUSCI_B_I2C
- EUSCI_A_SPI
- EUSCI_B_SPI
- EUSCI_A_UART
- FRAMCTL
- FRAMCTL_A
- GPIO
- LEA
- LCD_C
- MPU
- MPY32
- PMM
- REF_A
- RTC_B
- SFR
- SYSCTL
- TIMER_A
- TIMER_B
- TLV
- WDT_A
- MSP430FR2xx_4xx Devices
- ADC
- CRC
- CS
- ECOMP
- EUSCI_B_I2C
- EUSCI_A_SPI
- EUSCI_B_SPI
- EUSCI_A_UART
- FRAMCTL
- GPIO
- LCD_E
- MPY32
- PMM
- RTC
- SAC
- SFR
- SYSCTL
- TIMER_A
- TIMER_B
- TLV
- TRI
- WDT_A
- MSP430i2xx Devices
- CS
- EUSCI_B_I2C
- EUSCI_A_SPI
- EUSCI_B_SPI
- EUSCI_A_UART
- FLASHCTL
- GPIO
- MPY
- PMM
- SD24
- SFR
- TIMER_A
- TLV
- WDT
MSP4305xx_6xx devices
MSP430FR57xx devices
MSP430FR5xx_6xx devices
MSP430FR2xx_4xx devices
MSP430i2xx devices
This release is a GA version.
Upgrade
and Compatibility Information
Steps to upgrade from Driverlib 1.90 to Driverlib 1.95
1.
All projects that use driverlib should work as is when you replace the
existing driverlib by Driverlib 1.95.
2. Some of
the source and header file names have changed to be in line with the
new Texas Instruments coding guidelines. However as long as the user
includes "driverlib.h" instead of individual
peripheral header files, the user will have no issues upgrading.
Steps to upgrade from Driverlib 1.60 to Driverlib 1.70
- Add compiler define DRIVERLIB_LEGACY_MODE
- Include "driverlib.h" instead of individual module header files ( eg. fram.h, wdt_a.h etc.)
Removal of baseaddress removes support of Grace 2.20.02.32. Users that
rely on Grace should not update Driver Library at this time until a new
Grace is released.
As
part of our continued process of
optimizing MSP430 driverlib and standardizing the MSP430 driverlib APIs
we
have segregated the MSP430 modules into
- ‘CORE’ modules - those that
would have ONLY one instance of the module in a single device.
- ‘PERIPHERAL’ modules – those that
could have multiple instances of the module in a single device.
This
would reflect as the
baseaddress of module being absent/present in the module driverlib API
based on
if the module is a core/peripheral. This
change increases performance in some APIs and allows greater software
standardization across MCU platforms in TI’s portfolio. We believe this
also
increases readability by removing an extra parameter in APIs for
peripherals
that will only have one instance.
Based
on this rule, we had to
change some of the existing driverlib APIs to remove the baseaddress
parameter.
This would break compatibility for existing customers.
To
provide backward compatibility
- We will provide a compiler define
DRIVERLIB_LEGACY_MODE. If this is predefined in the compiler settings,
the
older APIs will work (Pre 1.70 Release).
- The user must also include the
“driverlib.h”
header file released in 1.60 driverlib onwards instead of the
individual header
files.
If
DRIVERLIB_LEGACY_MODE compiler
define is absent, then the newer APIs take effect (Post 1.70 Release).
Without making
the above change, most
existing projects that rely on driverlib 1.60 or below will fail to
compile by default.
Adding the compiler define DRIVERLIB_LEGACY_MODE and including
“driverlib.h”
instead of individual header files is necessary to get the projects to
compile
in legacy mode(using the older APIs).
We
advise newer projects that are
in the process of development to adopt the newer APIs. The older APIs
are still
available in the deprecated section. Here
is the affected peripheral
list.
MSP430F5xx_6xx
- DMA
- FLASH
- MPY32
- PMM
-
RAM
- SFR
- SYS
- UCS
MSP430FR5xx_6xx
-
CS
- DMA
- FRAM
- MPY32
- PMM
- SFR
- SYS
MSP430FR57xx
- CS
- DMA
- FRAM
- MPY32
- PMM
- SFR
- SYS
The
examples may be built with either IAR, CCS or GCC. To build the
examples navigate to
examples/<family>/<peripheral>/<ide>
and double
click the .eww project files for IAR, import the .projectSpec file for
CCS or run a "make -f " for the GCC makefile..
Current supported families are found in the Device Support section of
the release notes.
Current supported peripherals are found in the Peripheral Support
section of the release notes.
Known Issues
- Asserts in CCS work only when the project is
optimized for size
- EUSCI_A_UART_CLOCKSOURCE_ACLK/UCSSEL__ACLK
do not exist for MSP430FR4133. Previously defined header files used
these defines. EUSCI_A_UART_CLOCKSOURCE_MODCLK/UCSSEL__MODCLK have been
added to the header files. Please update your user code, if they have
the older defines and hence fail to compile.
- MSP430FR2xx_4xx
driverlib and header files previously had references to XT2 defines.
MSP430FR2xx_4xx devices do not support XT2. These references have since
been removed. If your user code uses these defines please remove them.
This is build 2.80.00.01 of MSP430 driver library.
Additional Resources
For more information, visit www.ti.com.