MSP430 DriverLib 1.80.00.18
Release Notes
Document Revision: 030614.2134
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
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.
Revision
History
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.
http://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.
- driverlib.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:
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
This
is the 1.80.00.18 release of MSP430 Peripheral Driver
Library. The following peripherals are supported in this
release:
- MSP430F5xx_6xx Devices
- ADC10_A
- ADC12_A
- AES
- BAK_BATT (Battery Backup System)
- COMP_B
- CRC
- DAC12_A
- DMA
- EUSCI_B_I2C
- EUSCI_A_SPI
- EUSCI_B_SPI
- EUSCI_A_UART
- FLASH
- SFR
- SYS
- GPIO
- LDOPWR
- MPY32
- 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
- FRAM
- GPIO
- MPU
- MPY32
- PMM
- REF
- RTC_B
- SFR
- SYS
- 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
- FRAM
- GPIO
- MPU
- MPY32
- PMM
- REF_A
- RTC_B
- SFR
- SYS
- TIMER_A
- TIMER_B
- TLV
- WDT_A
MSP4305xx_6xx devices
MSP430FR57xx devices
MSP430FR5xx_6xx devices
This release is a GA version.
Upgrade
and Compatibility Information
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
This is build 1.80.00.18 of MSP430 driver library.
Additional Resources
For more information, visit www.ti.com.