MSPM0 SDK Release Notes
Table of Contents
Important Notes
- 📝 Updated information will be posted online at e2e.ti.com.
Introduction
The MSPM0 SDK delivers components that enable engineers to develop applications on Texas Instruments MSPM0 microcontroller devices. The product is comprised of multiple software components and examples of how to use these components together. In addition, examples are provided to demonstrate the use of each functional area and each supported device and as a starting point for your own projects.
The MSPM0 MCU portfolio offers a single development environment that delivers flexible hardware, software and tool options for customers developing applications. A one-time investment with the MSPM0 software development kit (SDK) allows you create portable and modular code, opening the door to create unlimited applications. For more information, visit www.ti.com/mspm0.
This is version 2.03.00.07 of the MSPM0 SDK.
Documentation
- MSPM0 SDK Documentation Overview
- MSPM0 SDK Documentation Overview - Chinese
- MSPM0 SDK Known Issues and FAQ
- Software License
- Software Manifest
What’s Included
The MSPM0 SDK 2.03.00.07 includes the following:
- DriverLib Library - v1.34.00:
- Low-level driver library APIs to configure device peripherals
- Code examples:
- Hundreds of examples from low-level drivers to middleware and demos
- SysConfig - v1.34.00:
- Support for code generation of all DriverLib peripherals
- Clock Tree for easier configuration of Clock System
- NONMAIN Configurator
- Security Configuration
- Project Configuration
- Middleware:
- Battery Gauge L2 - v1.00.00
- Boot Image Manager - v1.02.00
- Communication Modules - v1.01.00
- DALI Library - v1.01.00
- EEPROM Emulation Library - v1.01.01
- Energy Metrology Library - v2.01.01
- GUI Composer Library - v1.00.00
- IQMath Library - v2.00.00
- LIN Drivers - 1.01.00
- Motor Control Libraries
- Brushed Motor Control Library - v1.00.00
- Hall Sensored Trap BLDC Motor Control Library - v1.10.01
- Sensorless FOC PMSM Motor Control Library - v2.03.00
- Sensored FOC PMSM Motor Control Library - v1.01.00
- Stepper Motor Control Library - v1.00.00
- Universal FOC Motor Control Library - v1.00.00
- PMBus Library - v1.11.01
- SENT Library - v1.00.01
- Smart Analog Sensor Interface (SASI) Smoke Detector Library - v1.00.00
- SMBus Library - v2.01.00
- Diagnostic Library (released externally)
- RTOS:
- FreeRTOS Library - v1.20.01
- Driver Porting Layer (DPL) - v1.11.00
- TI POSIX - v1.10.00
- TI-Drivers - v2.02.00:
- GPIO
- I2C
- SPI
- UART
- ADC
- DMA
- I2CTarget
- Documentation:
- Comprehensive software documentation including user guides and multiple API guides
- Tools Guide including quick start guides and user guides for MSPM0 tools including IDEs, code generation, debuggers and programmers
For more information about these features, please visit the MSPM0 SDK Documentation Overview or MSPM0 SDK Documentation Overview - Chinese.
What’s New
This release includes the following updates.
- New Device Support! The MSPM0 SDK now supports MSPM0L111x devices, and corresponding LP-MSPM0L1117 EVM. This includes support for:
- DriverLib code examples
- BSL code examples
- SysConfig modules, including
- DriverLib modules
- Clock Tree
- NVM Configurator
- Security Configurator
- Middleware
- EEPROM Library
- GUI Composer Library
- IQMath Library
- FreeRTOS Library
- CMSIS DSP Library
- LIN Drivers
- NoRTOS TI Drivers
- RTOS TI Drivers
- Documentation
- DriverLib Library - v1.34.00
- KEYSTORE
- MSPSWSDK-4572: Fixed status checking of dl_keystore.c writing during resets
- MSPSWSDK-4641: Fixed an issue where dl_keystore.c did not check status after transfer correctly
- DMA
- MSPSWSDK-4634: Fixed an issue where dl_dma.h was referencing a define that was not present in every device
- FLASHCTL
- MSPSWSDK-4566: Updated DL_FlashCTL_unprotectSector() and DL_FlashCTL_protectSector() to properly account for first sector of memory during bank swap
- MSPSWSDK-4565: Updated order of operations in sector calculation method for DL_FlashCTL_protectSector() single bank devices to properly protect sectors of memory greater than 32kB
- I2C
- MSPSWSDK-4631: Fixed an issue where DL_I2C_isControllerTXFIFOEmpty was always using 8 as the max FIFO count. Updated to use max FIFO count available on the device.
- MSPSWSDK-4573: Added option to DL_SYSCTL_ULPCLK_DIV enum for ULPCLK to be MCLK divided by 3 in MSPM0G1X0X_G3X0X SYSCTL
- PWM
- MSPSWSDK-4221: Added missing QEIERR to timer’s DL_TIMER_IIDEX enum
- MSPSWSDK-2674: Fixed cross trigger so it works if CC0 isn’t being used
- SYSCTL
- MSPSWSDK-3918: Fixed the incorrect comment for the PLL feedback clock divider (SYSPLLREF) that had an incorrect range of what values could be written and what those values should map to
- UART
- MSPSWSDK-3969: Fixed the comments for DL_UART_setParityMode which had incorrectly described the behavior when in 9-bit mode
- KEYSTORE
- SysConfig - v1.34.00
- NVM Configurator
- MSPSWSDK-4627: Implemented randomized password for MSPM0L11xx/L13xx and MSPM0G1x0x/G3x0x
- LFSS
- MSPSWSDK-3510: Added VBAT_GOOD check before attempting to call any LFSS inits, which could result in NMI if VBAT is not good
- DMA
- MSPSWSDK-3956: Fixed issue where DMA source and destination increment values were being overwritten by conflicting SysConfig configurables
- All Timer Modules
- MSPSWSDK-3217: Fixed issue where the TSEL.ETSEL value generated for a main cross trigger timer was incorrect
- NVM Configurator
- Middleware
- Energy Metrology Library - v2.01.01
- MSPSWSDK-4648:
- Fixed bug for TIDA-010940, which had an issue with displaying 9th digit on LCD
- Added support to read AMC status register and update the flags to user
- MSPSWSDK-4648:
- PMBus Library - v1.11.01
- MSPSWSDK-4397: Fixed PMB_BLOCK_READ #define value
- Sensorless FOC PMSM Motor Control Library - v2.03.00
- MSPSWSDK-4659: Implemented IPD using ADC WCOMP for single and three shunt
- MSPSWSDK-4656: Fixed incorrect macro for __CURRENT_THREE_SHUNT_DYNAMIC
- MSPSWSDK-4657: Added FW version variable in Status Registers
- MSPSWSDK-4658: Updated Reset Trigger point before setting in HAL_SetPWMFrequency
- MSPSWSDK-4660: Optimized IQ multiplication by making inline
- MSPSWSDK-4666: Added support for 16KHz FOC Frequency
- Sensored FOC PMSM Motor Control Library - v1.01.00
- MSPSWSDK-4656: Fixed incorrect macro for __CURRENT_THREE_SHUNT_DYNAMIC
- MSPSWSDK-4657: Added FW version variable in Status Registers
- MSPSWSDK-4658: Updated Reset Trigger point before setting in HAL_SetPWMFrequency
- MSPSWSDK-4660: Optimized IQ multiplication by making inline
- MSPSWSDK-4666: Added support for 16KHz FOC Frequency
- (New!) Universal FOC Motor Control Library - v1.00.00
- MSPSWSDK-4620: First Release for Universal FOC Motor Control Library. This library includes:
- Support for esmo and finite backemf estimator
- Align, IPD and slow first cycle startup options
- Initial speed detection, Field Weakening and MTPA features
- Support for Speed, Torque, Power and Voltage modes
- MSPSWSDK-4620: First Release for Universal FOC Motor Control Library. This library includes:
- DALI Library - v1.01.00
- MSPSWSDK-4624: Added Timer Capture for DALI Rx signal reception with support for wider bit timing tolerance level
- EEPROM Emulation Library - v1.01.01
- MSPSWSDK-4576: Implemented a bug fix to ensure the correct DriverLib FlashCtl programMemory API is used depending on if ECC is used for the application for both TypeA and TypeB libraries
- MSPSWSDK-3633: Fixed the EEPROM_TypeA_repairFormat() to use FormatRepairAddress instead of gNextRecordAddress. The usage of EEPROM_TypeA_eraseNonActiveSectors() is fixed in the EEPROM_TypeA_repairFormat()
- Boot Manager - v1.4
- MSPSWSDK-4619: Added GCC and IAR compiled library bimsupport.a for other Compilers
- TI-Drivers - v2.02.00
- MSPSWSDK-4218: Enabled internal Pullup for the CS pin in SPI TI Driver
- MSPSWSDK-4396: Fixed a bug in the GPIO_Write() by using DL_GPIO_setPins() instead of using DL_GPIO_writePins()
- Adjusted the non-rtos default cpu clock to 32Mhz to keep consistency with FreeRTOS default cpu clock
- MSPSWSDK-4607: Added support for MSPM0L111x in the noRTOS TI Drivers and examples
- MSPSWSDK-4606: Added support for MSPM0L111x in the RTOS TI Drivers and examples
- MSPSWSDK-4605: Added support for MSPM0L111x in the FreeRTOS Kernel examples
- MSPSWSDK-4230: Fixed a bug in the I2C Target ISR function. The call for DL_I2C_getEnabledInterruptStatus() is updated to read the correct interrupt status for the I2C target
- Energy Metrology Library - v2.01.01
- Header Files
- MSPSWSDK-4573: Removed unnecessary MGMT register structures from hw_sysctl_mspm0g1x0x_g3x0x.h, hw_sysctl_mspm0c110x.h, hw_sysctl_mspm0l11xx_l13xx.h, and hw_sysctl_mspm0l122x_l222x.h
- Code Examples
- BSL Code Examples
- MSPSWSDK-3890: Fixed incorrect DriverLib FlashCtl programMemory API call in the secondary_bsl_i2c code
- MSPSWSDK-4134: Updated SRAM regions used by plugins in BSL code examples
- GUI Composer Code Examples
- MSPSWSDK-4601: Added example support (json, message_pack) for MSPM0L1117
- EEPROM Code Examples
- MSPSWSDK-4600: Added support for MSPM0L111x devices for the eeprom_emulation_type_a, eeprom_emulation_type_a_test, eeprom_emulation_type_b, and eeprom_emulation_type_b_test examples
- MSPSWSDK-4635: Added support for MSPM0C110x devices for the eeprom_emulation_type_a, eeprom_emulation_type_a_test, eeprom_emulation_type_b, and eeprom_emulation_type_b_test examples
- MSPSWSDK-4177: Added support for MSPM0L222x devices for the eeprom_emulation_type_a, eeprom_emulation_type_a_test, eeprom_emulation_type_b, and eeprom_emulation_type_b_test examples
- DriverLib Code Examples
- MSPSWSDK-4232: Updated timer in wwdt_window_mode_periodic_reset example to be aligned with WWDT
- MSPSWSDK-4352: Removed TIMA1 IRQHandler definitions from all MSPM0L122X_L222X example startup files. TIMA1 is not present on this device.
- MSPSWSDK-4625: Updated all LP_MSPM0G3519 code examples to enable the Default Clock Configuration option in SysConfig. This forces the PLL and HFXT into a known state at initialization.
- MSPSWSDK-4645: Renamed some examples for clarity:
- Renamed “empty_library” example to “empty_driverlib_library”
- Renamed FreeRTOS “empty” example to “empty_freertos”
- MSPSWSDK-4655:
- Updated the examples aesadv_cbc_128_enc_dec, aesadv_gcm_128_enc_dec, aesadv_ecb_128_enc_dec on CBC, GCM and ECB mode respectively, changed global variable names into camelcase format and showing expected results through software breakpoints instead of LED blinking.
- Added aesadv_cmac_256_enc_dec example on CMAC mode for MSPM0G3519 and MSPM0L222x
- Added aesadv_gcm_128_enc_dec example on GCM mode for MSPM0G3519
- MSPSWSDK-4676:
- Fixed a bug where in aesadv_ctr_128_enc_dec example in O(2) optimization, the code got stuck in WFI() as interrupt of output generated already came before, so changed WFI() to WFE(), which is better for spinlocks.
- MSPSWSDK-4282: Updated the README of aesadv_ctr_128_enc_dec, aesadv_cbc_128_enc_dec, aesadv_ecb_128_enc_dec, aesadv_gcm_128_enc_dec for clarity
- MSPSWSDK-3360: Fixed bug where adc12_max_freq_dma was only transferring half of the total samples
- Demos
- MSPSWSDK-4041: Added code example for Application note of TPS929xxx LED Driver Control Using MSPM0 Through UART Over Can (TPS929XX_control_uart_over_can demo)
- MSPSWSDK-4642: Added code example for TIDA-010247 to show MSPM0 control of BQ76972 (bq769x2_TIDA010247)
- MSP Subsystem Code Examples
- MSPSWSDK-4675: Added new watchdog MSP subsystem code example
- MSPSWSDK-3732: Added IAR and Keil compiler support to i2c_expander_uart_to_i2c_bridge and io_expander_uart_i2c_spi examples. Removed high level io_expander_i2c example; split into i2c_target_io_expander and i2c_host_controller examples.
- FreeRTOS Code Examples
- MSPSWSDK-4605: Added support for MSPM0L111x in the FreeRTOS Kernel examples
- MSPSWSDK-4646: Fixed a bug in the freertos_builds_LP_MSPM0G3519_release_gcc.projectspec file. For mspm0g351x examples, the startup file reference is updated to mspm0g351x family
- TI-Drivers Code Examples
- MSPSWSDK-4607: Added support for MSPM0L111x in the noRTOS TI Drivers examples
- MSPSWSDK-4606: Added support for MSPM0L111x in the RTOS TI Drivers examples
- BSL Code Examples
- Documentation
- MSPSWSDK-4105: Updated documentation to align with Code Composer Studio upgrades.
- CCS v12.8 will be the last version based on Eclipse IDE. The documentation will refer to the Eclipse based IDE as Code Composer Studio v12 (Eclipse)
- Code Composer Studio v20 will be based on the Theia IDE. The documentation will refer to the Theia based IDE as Code Composer Studio
- MSPSWSDK-4105: Updated documentation to align with Code Composer Studio upgrades.
Operating Systems Support
- Windows 10
- Ubuntu 18.04
- macOS Monterey
Dependencies
This release was validated with the following components:
- Code Composer Studio
- TI Arm Clang Compiler
- TI Clang v3.2.2_LTS. Also included with CCS 12.8.
- TI Clang v4.0.0_LTS. Also included with CCS 20.0.0.
- SysConfig
- SysConfig 1.22.x. Also included with CCS 20.0.0.
- GNU Code Generation Tools
- IAR Embedded Workbench
- Keil uVision
- 5.38, with Arm Clang compiler v6.16 or later.
Device Support
- MSPM0L11xx/L13xx
- MSPM0G1x0x/G3x0x
- MSPM0C110x
- MSPS003Fx
- MSPM0L122x/L222x
- MSPM0G151x/MSPM0G351x
- MSPM0L111x
Known Issues
Please refer to the MSPM0 SDK Known Issues and FAQ document for a detailed list of known issues and workarounds.
Upgrade and Compatibility Information
- Not applicable for this release
Previous Releases
The updates for the past releases starting at MSPM0 SDK 2.00 and later are shown below.
The updates and compatibility information prior to MSPM0 SDK 2.00 can be viewed at TI Resource Explorer.
Previous Updates
- 2.02.00.05
- New Device Support for the MSPM0Gx51x devices, and corresponding LP-MSPM0G3519 EVM. This include support for:
- DriverLib code examples
- BSL code examples
- SysConfig modules, including
- DriverLib modules
- Clock Tree
- NVM Configurator
- Security Configurator
- Middleware
- Boot Image Manager
- EEPROM Library
- GUI Composer Library
- IQMath Library
- FreeRTOS Library
- LIN Drivers
- PMBus Library
- SMBus Library
- TI Drivers
- Documentation
- DriverLib Library - v1.32.00
- DMA
- MSPSWSDK-3986: Added DL_DMA_enableAutoEnable, DL_DMA_disableAutoEnable, DL_DMA_isAutoEnableEnabled APIs for auto-enable mode and DriverLib support for gather mode and 128-bit DMA access to dl_dma.h, included only if device supports these features
- Factory Region
- MSPSWSDK-3227: Implemented caching of TRIM values in SRAM for MSPM0Gx51x in scenarios where flash wait states is equal to 2, which causes TRIM to be unreadable
- FlashCTL
- MSPSWSDK-3877: Updated DL_FlashCTL_eraseDataBankFromRAM to properly execute from SRAM
- MSPSWSDK-4059: Updated DL_FlashCTL_executeCommandFromRAM to poll until DL_FLASHCTL_COMMAND_STATUS_PASSED or DL_FLASHCTL_COMMAND_STATUS_FAILED is read from the STATCMD register
- GPIO
- MSPSWSDK-3882: Fixed issue where Hysteresis functionality was reversed, by correcting the values for the enable and disable bits (IOMUX_PINCM_HYSTEN_DISABLE, IOMUX_PINCM_HYSTEN_ENABLE) on the IOMUX peripheral header. Hysteresis is now correctly enabled or disabled when calling the relevant DriverLib APIs that use DL_GPIO_HYSTERESIS, which include: DL_GPIO_initDigitalInput, DL_GPIO_initDigitalInputFeatures, and DL_GPIO_initPeripheralInputFunctionFeatures.
- RTC
- MSPSWSDK-3893: Fixed typo of DL_RTC_COMMON_PRESCaLER0_DIVIDE_16 -> DL_RTC_COMMON_PRESCALER0_DIVIDE_16
- RTC_B
- MSPSWSDK-3895: Created new RTC_B DriverLib module
- SYSCTL
- MSPSWSDK-4057: Removed ULPCLK divide by 3 option (DL_SYSCTL_ULPCLK_DIV_3) in SYSCTL DriverLib. This option is not available for any supported device.
- MSPSWSDK-3930: Included dl_factoryregion.h in SYSCTL DriverLib. This is required for all devices because DL_SYSCTL_getTempCalibrationConstant API depends on a dl_factoryregion API.
- UART
- MSPSWSDK-4076: Added two macros for DMA Done interrupts: DL_UART_DMA_DONE_INTERRUPT_RX and DL_UART_DMA_DONE_INTERRUPT_TX
- PWM
- MSPSWSDK-3800 - Add support for Timer G instances that have 4 capture and compare blocks. Similar to TIMA0.
- DMA
- SysConfig - v1.33.00
- General
- MSPSWSDK-3798: Added a new feature that allows users to generate a CSV file that enumerates all the currently used pins, and detailed information for each pin, in the user’s current SysConfig configuration. This feature can be enabled by selecting “Generate Resource Usage CSV” in the Board module.
- MSPSWSDK-3958: Added device-specific defines to SysConfig generated ti_msp_dl_config.h
- MSPSWSDK-3859: Removed LCD peripheral being incorrectly shown as an available resource for MSPM0L122X devices
- MSPSWSDK-3610: Added missing ROSC functionality to PA2 device pin for MSPM0L122x/L222x devices
- Clock Tree
- MSPSWSDK-3913: Added validation to prevent selection of UDIV3 for ULPCLK to match device configuration on MSPM0G
- DMA
- MSPSWSDK-3807: Added support for new DMA features: Long-long (128-bit) sizing, auto mode, and gather mode
- MSPSWSDK-3917: Fixed code generation so when a DMA is configured with early interrupts, setting DL_DMA_earlyInterruptThreshold should be done after clearing and enabling the interrupts and after DL_DMA_initChannel is called.
- GPIO
- MSPSWSDK-3882: Updated Hysteresis Control selection, will now default to enable automatically if available on the selected pin. User can still choose to manually select to enable or disable Hysteresis Control by selecting the new “Override Pin Hysteresis Default” option.
- OPA
- MSPSWSDK-3830: Allowed PSEL selection without requiring configuration of DAC module or DAC output pin
- Project Configuration:
- MSPSWSDK-3703: Removed the “Select Device” option from this module. Device selection is now handled through the “Device” parameter on the “Migrate Settings” window, which is accessed when selecting the “Switch” option in the Device View.
- RTC_B
- MSPSWSDK-3914: Added new RTC_B module
- SYSCTL
- MSPSWSDK-3913: Removed option on to select UDIV3 for ULPCLK. This option is not available for any supported device.
- MSPSWSDK-3999: Allowed configuration of SRAM Power Level for STOP Mode in MSPM0GX51X devices
- TRNG
- MSPSWSDK-3910: Fixed issue where TRNG module was not showing up for MSPM0Lx22x devices
- UART:
- MSPSWSDK-3892: Added a macro to the ti_msp_dl_config.h code generation to display frequency of the UART clock
- VREF
- MSPSWSDK-3915: Implemented workaround for VREF pin mapping on MSPM0Gx51x. Allows user to select either of the VREF pins, users should defer to relevant documentation on datasheet.
- General
- Middleware
- Boot Image Manager - v1.02.00
- MSPSWSDK-3954:
- Ported CSC example to the LP_MSPM0G3519 Launchpad
- Fixed Lockable Storage Flash accesses being optimized out
- MSPSWSDK-3954:
- Energy Metrology Library - v2.01.00
- MSPSWSDK-3955:
- Add new single phase solution with LCD support(TIDA-010940).
- Added Support to configure the metrology parameters using #defines in template.h file.
- Added support for multiple sampling rates - 2000, 2930, 3906, 4000, 5859, 6000, 6400, 7812, 8000.
- ADS/AMC registers are written individually with readback.
- Bug fix Apparent Energy Import/Export Calculation
- MSPSWSDK-3955:
- LIN Drivers - v1.01.00
- MSPSWSDK-3901: Updated lin_responder code example to gracefully handle unexpected PIDs
- Sensorless FOC PMSM Motor Control Library - v2.02.00
- MSPSWSDK-4051 : Renamed Sensorless FOC middleware from motor_control_bldc_sensorless_foc to motor_control_pmsm_sensorless_foc
- MSPSWSDK-3964 : Implemented power control
- MSPSWSDK-3965 : Optimized sine and cosine computation cycles using MATHACL peripheral
- Sensored FOC PMSM Motor Control Library - v1.00.00
- MSPSWSDK-3963 : Implemented Hall Effect sensor based FOC control
- MSPSWSDK-4007 : Added support for Motor Control Reference design TIDA-010251
- MSPSWSDK-4008 : Added support for DRV8316REVM
- Communication Modules - v1.01.00
- MSPSWSDK-3962: Added I2C Communication Module with examples for Target and Controller
- IQMath Library - v2.00.00
- MSPSWSDK-4060: Changed IQmath generic static libraries to be device specific static libraries
- MSPSWSDK-3809, MSPSWSDK-3639: Implemented workaround for sin -90 deg and cos 180 deg
- EEPROM Emulation Library - v1.01.00
- MSPSWSDK-3947:
- Added in a call to DL_executeClearStatus(FLASHCTL) before each DL_FlashCTL_unprotectSector() function call
- Adjusted the EEPROM_EMULATION_ADDRESS #define to have a default value in the source library (0x00001000 for eeprom_emulation_type_a and 0x00001400 for eeprom_emulation_type_b). The address of EEPROM_EMULATION_ADDRESS can be overwritten in the application code by having the same #define with a different value
- MSPSWSDK-3947:
- TI-Drivers - v2.01.00
- MSPSWSDK-4076: Implemented a bug fix where the the UART ISR no longer infinitely loops for DMA Done RX interrupt
- Boot Image Manager - v1.02.00
- Code Examples
- BSL Code Examples
- MSPSWSDK-3997: Created a code example to demonstrate usage of SHA API exposed in ROM section: bsl_sha_api
- MSPSWSDK-4099: Updated BSL code examples for MSPM0C1104. Updated BSL GUI.
- Demo Code Examples
- MSPSWSDK-4002: Added new demo code example to showcase the MSPM0 to control BQ79616 to detect the battery status: bq79616_uart_to_can
- DriverLib Code Examples
- MSPSWSDK-3990: Updated flashctl_ecc_error_injection to remove build warnings and properly allocated memory for buffer to account for modified memory
- MSPSWSDK-3961: Added new AESADV code examples to show different encryption/decryption modes: aesadv_cbc_128_enc_dec, aesadv_ctr_128_enc_dec, aesadv_ecb_128_enc_dec, aesadv_gcm_128_enc_dec
- EEPROM Code Examples
- MSPSWSDK-3947:
- Added support for MSPM0Gx51x devices for the eeprom_emulation_type_a, eeprom_emulation_type_a_test, eeprom_emulation_type_b, and eeprom_emulation_type_b_test examples
- Adjusted the EEPROM_EMULATION_ADDRESS for eeprom_emulation_type_b to have the application execute as intended
- MSPSWSDK-3947:
- PMBus Code Examples
- MSPSWSDK-4079:
- Ported example to the LP_MSPM0G3519 Launchpad
- MSPSWSDK-4098:
- Fixed incorrect reference to application interrupt handler
- MSPSWSDK-4079:
- SMBus Code Examples
- MSPSWSDK-4079:
- Ported examples to the LP_MSPM0G3519 Launchpad
- MSPSWSDK-4079:
- FreeRTOS Code Examples
- MSPSWSDK-3806: Updated examples to support ROV for CCS Theia
- MSP SubSystems
- MSPSWSDK-3883: Fixed ioExpander variable getting optimized out in higher opt levels in io_expander_uart_i2c_spi example
- MSPSWSDK-4049: Added new MSP subsystem code examples: frequency_counter_tone_detection, i2c_expander, i2c_expander_uart_to_i2c_bridge
- TI-Drivers Code Examples
- MSPSWSDK-3869: Added an empty project for FreeRTOS for all MSPM0 devices
- BSL Code Examples
- Documentation
- MSPSWSDK-3919: Updated CCS IDE Guide and SysConfig Guide with details on updated device migration flow after SysConfig GPN update.
- MSPSWSDK-3898: Documented steps on how to use MSPM0Gx51x with latest version of IAR as of August.
- MSPSWSDK-3881: Fixed incorrect hyperlink to MSPM0L122x/L222x API Guide from the DriverLib API Guide Overview page
- MSPSWSDK-3872: Updated TI Drivers API Guide to add support for MSPM0L122x/L222x devices
- New Device Support for the MSPM0Gx51x devices, and corresponding LP-MSPM0G3519 EVM. This include support for:
- 2.01.00.03
- DriverLib Library - v1.32.00
- MSPSWSDK-3607: Fixed DL_TIMER_CC_IN_SEL defines having a typo in dl_timer.h
- MSPSWSDK-3786: Added defines for TIMG14 supporting CCP channels 2 and 3 to dl_timerg.h
- MSPSWSDK-3790: Handled MSPM0C110X ADC errata: ADC_ERR_06.
- Added new FactoryRegion DriverLib API DL_FactoryRegion_getADCOffset that returns ADC TRIM value from 0x41C40040
- Added new ADC DriverLib API DL_ADC12_getADCOffsetCalibration that returns calibrated ADC offset
- MSPSWSDK-3811: Updated some Timer APIs to to reflect that some timer instances are 32 bits.
- MSPSWSDK-3827: Fixed DL_TimerA_initPWMMode to correct the output behavior when using PWM_MODE_EDGE_ALIGN_UP
- MSPSWSDK-3381: Updated DL_FlashCTL_unprotectSector API to account for DATA bank
- MSPSWSDK-3849: Updated DL_FlashCTL_programMemoryBlocking* APIs to move the clear status command before unprotecting memory
- MSPSWSDK-3808: Updated DL_SYSCTL_getTempCalibrationConstant API for each device family to use FactoryRegion API instead of hard-coded address
- SysConfig - v1.32.00
- Clock Tree
- MSPSWSDK-3822: Fixed warning for LFXT saying it needs VBAT powered on MSPM0G350x devices instead of MSPM0L122x/L222x devices
- COMP
- MSPSWSDK-3847: Updated Comparator Blanking Source if selected to show an error if the specific timer instance and channel have not been configured
- I2C
- MSPSWSDK-3656: Disabled Target WakeUp Enable function by default when configuring an I2C Target
- RTC
- MSPSWSDK-3629: Fixed incorrect inline comment in code generation for the reported frequency of the periodic alarm 1
- SYSCTL
- MSPSWSDK-3856: Added PA2 as an available pin when configuring External ROSC for MSPM0Lx22x devices.
- TIMER
- MSPSWSDK-3826: Fixed issue when selecting a CCP channel where setting the capture compare channel update mode needed to occur before setting the capture compare value
- MSPSWSDK-2424: Added phase load configuration options to the TIMER and TIMER PWM SysConfig modules
- MSPSWSDK-3675: Added Timer Internal Channels 4-5 as channel options for TIMA on the TIMER PWM and TIMER COMPARE SysConfig modules
- MSPSWSDK-3759: Updated the description for timer clock divider and prescaler for clarity
- MSPSWSDK-3803: Fixed CC2/CC3 events and interrupts incorrectly not being selectable for TIMG14
- Clock Tree
- Middleware
- Sensorless FOC BLDC Motor Control Library - v2.01.00
- MSPSWSDK-3814: Fixed memory overflow in the variable input structures. Updated linker command file and main.h file FW version location.
- MSPSWSDK-3833: Added support for High Voltage Motor Control Reference design TIDA-010250.
- MSPSWSDK-3834: Fixed Motor Start up failure when commanded with speed immediately after setting the custom tuning parameters. Added support for a new configuration “updateConfigs” to monitor the parameter update status before sending the speed command.
- Sensorless FOC BLDC Motor Control Library - v2.01.00
- Header Files
- MSPSWSDK-3535: Fixed incorrect maximum values for Timer Counter and Load values in hw_gptimer.h
- Code Examples
- DriverLib Code Examples
- MSPSWSDK-3790: Handled MSPM0C110X ADC errata: ADC_ERR_06.
- Updated ADC12 DriverLib examples to showcase how to apply ADC offset to ADC memory result
- MSPSWSDK-2966: Added SysConfig support to AESADV DriverLib code examples
- MSPSWSDK-3812: Added notes to recommend using external pull-ups for I2C examples
- MSPSWSDK-3852: Updated all FlashCtl DriverLib code examples to execute clear status command before any flash operation
- MSPSWSDK-3790: Handled MSPM0C110X ADC errata: ADC_ERR_06.
- Demo Code Examples
- MSPSWSDK-3819: Added new demo code example for LP_MSPM0L2228 Out of Box Experience
- MSPSWSDK-3823: Added new demo code example motor_control_bdc_sensor for MSPM0C BDC motor control
- MSPSWSDK-3824: Added new demo code example pga460_control_spi for MSPM0C control PGA460 driver
- TI Drivers Code Examples
- MSPSWSDK-3813: Removed code comment that the TI Drivers config files were generated by SysConfig
- Battery Gauge L2 Code Examples
- MSPSWSDK-3778: Added new battery gauge L2 code example gauge_level2_bq76952 for LP_MSPM0G3507
- DriverLib Code Examples
- Documentation
- MSPSWSDK-3854: Updated MSP-GANG documentation to include the E2E FAQ for alternative production programming tools
- MSPSWSDK-3855: Created new guide for OpenOCD support for MSPM0
- Other
- MSPSWSDK-3760: Standardized code examples naming and directory structure
- DriverLib Library - v1.32.00
- 2.00.01.00
- DriverLib Library - v1.31.01
- MSPSWSDK-3804: Fixed issue with case statement for 1-4 mux mode in DL_LCD_setPinAsCommon API in dl_lcd.c
- SysConfig - v1.31.01
- MSPSWSDK-3791: Fixed MCAN peripheral not being available for the MSPM0G310X devices
- DriverLib Library - v1.31.01
- 2.00.00.03
- DriverLib Library - v1.31.00
- MSPSWSDK-2730: Fixed DL_SYSCTL_setPowerPolicySTOP0() and DL_SYSCTL_setPowerPolicySTOP1() APIs incorrectly making ULP to run at 32 MHz instead of 32 kHz in RUN1 and RUN2 modes
- MSPSWSDK-3314: Fixed issue in DL_Timer_initCaptureMode where the various modes with up counting where not being selected
- MSPSWSDK-3323: Fixed issue with DL_LCD_setPinAsCommon where it was incorrectly setting the blinking memory
- MSPSWSDK-3715: Fixed issue with DL_LCD_setPinAsCommon not correctly selecting some mux rates
- MSPSWSDK-3716: Update documentation of DL_UART_setTransmitPinManualOutput to correctly reference DL_UART_disableTransmitPinManualControl
- MSPSWSDK-3419: Added new DL_SYSCTL_RESET_SYSRST macro to replace deprecated DL_SYSCTL_RESET_CPU macro
- MSPSWSDK-3650: Added DriverLib APIs to access PDBGCTL register for WWDT
- MSPSWSDK-3652: Added support for GPIOC interrupts in dl_interrupt.h
- MSPSWSDK-3717: Fixed typo in DL_FlashCTL_programMemoryFromRAM32WithECCGenerated API description
- MSPSWSDK-3756: Fixed issue in DL_TAMPERIO APIs incorrectly writing to upper bits of register
- MSPSWSDK-3757: Fixed issue with SYSCTL SUPERCAP APIs missing SYSTEMCFG unlock key
- SysConfig - v1.31.00
- General
- MSPSWSDK-3490: Fixed issue for M0L134x devices where some OPA pins were being recognized as standard GPIO pins and attempts to configured unused pins caused build issues
- MSPSWSDK-3642: Fixed incorrect pinout for DGS28 packages
- MSPSWSDK-3711: Added notes that VBAT is required on the LFSS modules (and LFXT) for MSPM0L122X/L222X
- MSPSWSDK-3742: Removed COMP incorrectl showing as an available peripheral for M0G110x devices
- ADC
- MSPSWSDK-2258: Updated ADC Conversion Period description detailing the factors that contribute to the calculation as well the overall formula used to determine this field
- MSPSWSDK-3338: Fixed incorrect ADC Conversion Period calculation in some modes
- MSPSWSDK-3582: Fixed issue with MSPM0G ADC Channel 12 Resource Error
- MSPSWSDK-2295: Added voltage configuration of VDDA for ADC to SysConfig Board module
- MSPSWSDK-2296: Updated reference voltage units to volts in code generation
- COMP
- MSPSWSDK-3618: Fixed incorrect code generation when configuring the Reference Source to VREF
- MCAN
- MSPSWSDK-3460: Fixed incorrect calculated arbitration and data sample point
- MSPSWSDK-3493: Updated extended filter name options to use hex notation instead of binary notation
- MSPSWSDK-3494: Fixed MCAN RAM start address parameter based on MCAN element sizes and added check for 32-bit alignment
- NONMAIN Configurator
- MSPSWSDK-3685: Fixed incorrect default value for MSPM0L122X/L222X UART pin configuration
- SYSCTL
- MSPSWSDK-3268: When using Clock Tree, disabled the user being able to configure the CANCLK in the SYSCTL module
- MSPSWSDK-3693: Removed warning about fVCO pending characterization for most frequencies, this issue has been resolved
- TIMER
- MSPSWSDK-3221: Fixed incorrect code generation when configuring a Timer as a secondary cross trigger
- MSPSWSDK-3403: Fixed issue where TIMG instances were incorrectly showing repeat counter as an available feature
- MSPSWSDK-3752: Removed outdated pipeline interrupt options from PWM Configuration
- TIMER - Capture
- MSPSWSDK-3326: Fixed issue where Capture Edge Detection mode field was missing the option for Rising and Falling Edge detection
- VREF
- MSPSWSDK-3332: For MSPM0L122X/L222X, added support for DL_VREF_enableInternalRefCOMP API
- General
- Middleware
- Battery Gauge L2 - v1.00.00
- MSPSWSDK-3695: Added battery management Gauge Level 2 library and examples using BQ76952 and with integrated analog
- Boot Image Manager - v1.01.00
- MSPSWSDK-3573: Secure Bootloader - Implemented encrypted image transfer to Customer Secure Code (CSC) examples
- MSPSWSDK-3725: Fixed build errors with bim_sample_image example
- Communication Modules - v1.00.00
- MSPSWSDK-3689: Added new UART Comm Module and corresponding examples and documentation
- Energy Metrology Library - v2.00.00
- MSPSWSDK-3666: Add new split phase solution (TIDA-010944). Files and folders were restructured based on energy measurement. This update causes compatibility issues described in this document.
- MSPSWSDK-3620: Add metrology GUI to SDK
- IQMath Library - v1.11.00
- MSPSWSDK-3661: Improved IQMpy performance for IQMath RTS. Benchmarks updated to latest compiler
- Sensorless FOC BLDC Motor Control Library - v2.00.00
- MSPSWSDK-3663: Updated HAL drivers for single shunt support. This update causes compatibility issues described in this document.
- MSPSWSDK-3698: Updated HAL drivers configurations for DRV8329 Driver with single shunt configuration. This update causes compatibility issues described in this document.
- MSPSWSDK-3664: Updated HAL drivers and AppLib configuration for field weakening support. This update causes compatibility issues described in this document.
- MSPSWSDK-3665: Updated HAL drivers and AppLib configuration for MTPA feature support. This update causes compatibility issues described in this document.
- SMBus Library - v2.00.00
- MSPSWSDK-3458: Removed some BKPTs that were in the SMBus library
- MSPSWSDK-3676: Fixed SMBUS Target HW PEC. Device now responds a NACK if PEC is wrong and returns error if PEC is missing. This update causes compatibility issues described in this document.
- SENT Library - v1.00.01
- MSPSWSDK-3623: Fixed incorrect pause calculation in SENT library
- TI Drivers - v2.00.00
- MSPSWSDK-3588: Added I2C Target TI Driver and corresponding examples
- MSPSWSDK-3630: Implemented workaround to fix link order bug with non-SysConfig examples. Added known issue for examples which don’t support automated device migration in CCS
- MSPSWSDK-3646: Added MSPM0L22x support in TI-Drivers and create examples
- MSPSWSDK-3737: Removed TI Drivers and kernel examples for M0L devices due to memory restrictions
- MSPSWSDK-3745: Addressed the Documentation issues for TI Drivers
- MSPSWSDK-3687: Merged low level UART drivers for M0L and M0G. This update causes compatibility issues described in this document.
- Battery Gauge L2 - v1.00.00
- DriverLib Code Examples
- MSPSWSDK-3453: Fixed issue where LP_MSPM02228 empty example for Keil incorrectly included two DriverLib libraries
- MSPSWSDK-3461: Fixed issue where dac12_fifo_timer_event had wrong interrupt case
- MSPSWSDK-3523: Fixed issue where i2c_target_rw_multibyte_fifo_interrupts_LP_MSPM0L2228 was incorrectly setting the device to Controller instead of Target
- MSPSWSDK-3616: Update trng_sample example to manually clear the interrupt flag to ensure correct data
- MSPSWSDK-2327: Removed DriverLib.a from being copied into Keil code examples
- MSPSWSDK-3294: Updated adc12_internal_temp_sensor_mathacl to use updated Temperature Sensor coefficient, and fixed calculation to use correct VREF voltage value
- MSPSWSDK-3397: Updated Keil code examples to set default debugger to CMSIS-DAP
- MSPSWSDK-3434: Added flashctl_nonmain_memory_write example for LP_MSPM0L2228
- MSPSWSDK-3668: Added SysConfig support for the LP_MSPM0L2228 empty example
- MSPSWSDK-3679: Updated READMEs for low-power mode DriverLib examples to better describe low-power mode behavior while debugging
- MSPSWSDK-3741: Renamed DriverLib example timx_timer_mode_pwm_cross_trigger_stop_restore to timx_timer_mode_pwm_x_trig_stop_restore
- MSPSWSDK-3754: Fixed incorrect Flash and SRAM sizes in generated linker files for CUSTOM_BOARD empty examples
- MSP Subsystem Code Examples
- MSPSWSDK-3291: Added new MSP subsystems:
- io_expander_i2c_host
- io_expander_i2c_target
- spi_to_can_bridge
- MSPSWSDK-3291: Added new MSP subsystems:
- Batery Gauge Code Examples
- MSPSWSDK-3198: Added examples using BQ7690x for TIDA-010268 Battery Pack design
- MSPSWSDK-3686: Updated bq769x2_control_i2c examples. Added example
- BSL Code Examples
- MSPSWSDK-3442: Fixed secondary_bsl_can example to use DL_FlashCTL_eraseMemoryFromRAM instead of DL_FlashCTL_eraseMemory
- MSPSWSDK-3733: Added the following BSL examples for LP_MSPM0L2228:
- bsl_i2c_flash_interface
- bsl_spi_flash_interface
- bsl_uart_flash_interface
- secondary_bsl_uart
- MSPSWSDK-3735: Added Flash BSL code examples for LP_MSMP0C1104:
- flash_bsl
- flash_bsl_app_invoke
- MSPSWSDK-3635: Updated BSL host code examples
- Documentation
- MSPSWSDK-3509: Fixed outdated version numbers in some documentation
- MSPSWSDK-3655: Added MSPM0L122X_L222X API Documentation
- MSPSWSDK-2899: Updated the CCS and CCS Theia IDE Guides to point to the documentation on tiarmobjcopy
- MSPSWSDK-3673: Updating Tools related documentation and FAQ and Known Issues Guide with more detailed and up-to-date information on low-power mode debugging, considerations when using 3P tools, and more troubleshooting information
- MSPSWSDK-3706: Fixed outdated version numbers in some middleware User Guides
- MSPSWSDK-3747: Updated the Keil QuickStart guide to no longer require switching debugger to CMSIS-DAP, since it is the default now
- Tools
- MSPSWSDK-3746: Updated MSPM0 BSL GUI tooling to remove the BSL GUI executable, and instead added batch file and instructions on how to build the GUI
- DriverLib Library - v1.31.00
Previous Upgrade and Compatibility
- 2.02.00.05
- SysConfig - v1.33.00
- MSPSWSDK-3847: This adds validation to force users to configure relevant PWM channels when selecting the matching COMP Blanking Source. Anybody previously configuring Blanking Source on COMP without configuring the relevant PWM Channel will see an error until they have updated their configuration. Error messages give detailed description of what needs to be enabled.
- MSPSWSDK-3913: On SysConfig, UDIV3 selection for ULPCLK has been disabled for MSPM0G devices. This matches device behavior, as option does not exist on device. Users should update their configuration to one of the valid UDIV options if in use.
- MSPSWSDK-3703: SysConfig now allows for GPN-specific device selection. Projects developed with previous version will have to select the specific GPN when launched on the new version of the tool by following the on-screen instructions.
- MSPSWSDK-3882: GPIO Hysteresis enable and disable bits were previously reversed, and they have now been corrected on DriverLib. In SysConfig, the selection is now done automatically by default based on the pin IO type, enabling the feature if it is available. If the user had previously selected a hysteresis configuration and wants to enforce it, they should now toggle the new “Override Pin Hysteresis Default” option.
- SysConfig - v1.33.00
- 2.00.01.00
- Not applicable for this release
- 2.00.00.03
- SMBus Library - v2.00.00
- MSPSWSDK-3676: Application must now report command length to SMBus drivers when enabling PEC.
- The application should call
SMBus_targetReportBlock
and/orSMBus_targetReportLength
when the SMBus is inSMBus_State_Target_FirstByte
state. See SMBus target examples for a sample implementation.
- The application should call
- MSPSWSDK-3676: SMBus Target PEC error interrupt should be disabled. This flag is checked manually by the library during reception.
- When using SysConfig, this option can be disabled at Interrupt Configuration → Target Interrupts.
- MSPSWSDK-3676: Application must now report command length to SMBus drivers when enabling PEC.
- TI Drivers - v2.00.00
- MSPSWSDK-3687: The low level UART driver files located at
<sdk>\source\ti\drivers\uart\
are now merged to a common driver.- The following files changed:
UARTMSPM0G1X0X_G3X0X.c
andUARTMSPM0L11XX_L13XX.c
→UARTMSPM0.c
UARTSupportMSPM0G1X0X_G3X0X.h
andUARTSupportMSPM0L11XX_L13XX.h
→UARTSupportMSPM0.h
UARTMSPM0G1X0X_G3X0X.h
andUARTMSPM0L11XX_L13XX.h
→UARTMSPM0.h
- If a project is referencing the previous header files, they have to be replaced with
UARTMSPM0.h
orUARTSupportMSPM0.h
respectively.
- The following files changed:
- MSPSWSDK-3687: The low level UART driver files located at
- Energy Metrology Library - v2.00.00
- MSPSWSDK-3666: Files and folders were restructured based on energy measurement.
- The following change is required in code:
- Structure name changed
gMetrologyworkingData
→gMetrologyWorkingData
.
- Structure name changed
- The following file changed and references must be fixed where required:
TIDA-010243.h
→TIDA_010243.h
- The following paths changed and must be updated in example properties:
<sdk>\source\ti\energy_metrology\modules\TIDA-010243\
→<sdk>\examples\nortos\LP_MSPM0G3507\energy_metrology\three_phase\TIDA_010243_SW\TIDA_010243\
<sdk>\examples\nortos\LP_MSPM0G3507\energy_metrology\TIDA_010243\TIDA_010243_SW\
→<sdk>\examples\nortos\LP_MSPM0G3507\energy_metrology\three_phase\TIDA_010243_SW\
- The following change is required in code:
- MSPSWSDK-3666: Files and folders were restructured based on energy measurement.
- Sensorless FOC BLDC Motor Control Library - v2.00.00
- MSPSWSDK-3663, MSPSWSDK-3698, MSPSWSDK-3664, MSPSWSDK-3665: Updated HAL driversand AppLib configurations for single shunt, DRV8329 motor drive, field weakening, and MTPA support.
- To add support for these new features to existing projects, the user must update their project to use the HAL drivers, AppLib module & FOC.lib in the Sensorless FOC BLDC Motor Control Library v2.00.00
- No additional bugs or features were addressed on this release. Developers can continue with previous version, unless any of these features is desired.
- MSPSWSDK-3663, MSPSWSDK-3698, MSPSWSDK-3664, MSPSWSDK-3665: Updated HAL driversand AppLib configurations for single shunt, DRV8329 motor drive, field weakening, and MTPA support.
- SMBus Library - v2.00.00
Versioning
This product follows a version format, M.mm.pp.bb, where:
- M is a single digit Major number
- mm is a 2 digit minor number
- pp is a 2 digit patch number
- bb is a 2 digit incrementing build counter
Technical Support and Product Updates
- To request a new feature or file a software bug, please contact your local sales representative, TI support team or E2E.