Release Notes

Table of Contents

Introduction

This is a GA release of the Core SDK 3.40.01.02 for MSP432P4 devices.

Documentation

Open the documentation overview web page file in the SDK’s Doc folder for a full list of documentation.

What’s New

New Features

ID Summary
TIRTOS-1318 Update Power Management User's Guide describing enhancements for MSP432P4
TIRTOS-1312 Update POSIX pthread support to show ‘fxn’ in UIA execution graph
TIRTOS-1285 Enable FreeRTOS re-entrancy support for GNU targets (use newlib-nano)
TIRTOS-1281 Include FatFS examples for NoRTOS
TIRTOS-1032 POSIX header files should be binary compatibile for TIRTOS and FreeRTOS
TIDRIVERS-1280 UART drivers should have error function in HwAttrs
TIDRIVERS-1183 Improve RAM footprint of No-RTOS HwiP dispatch table
TIDRIVERS-1100 Add support in MSP432P4 ADCBuf Driver for ULTRA LOW POWER MODE using the ADCBuf_control API
TIDRIVERS-1073 Add support for Differential Mode to MSP432P4 ADCBuf driver (see adcInputMode in ADCBufMSP432_HWAttrs for more details)
TIDRIVERS-1071 MSP432P4 ADCBuf Driver defaults to only first sample triggered by Timer Trigger
TIDRIVERS-1061 Add DMA option to MSP432P4 ADCBuf driver (see useDMA in ADCBufMSP432_HWAttrs for more details)
TIDRIVERS-1059 Add crystal and alternate clock source support to PowerMSP432 driver
TIDRIVERS-856 Add support in MSP432P4 ADCBuf Driver for Internal Sources - Battery Monitor and Temperature Sensor (see adcInternalSource in ADCBufMSP432_HWAttrs for more details)
TIDRIVERS-704 Convert SDSPI implementations to use SDFatFS interface

Bugs Resolved

ID Summary
TIRTOS-1345 Timed functions expecting abstime on CLOCK_REALTIME are broken
TIRTOS-1282 FreeRTOS POSIX clock should support CLOCK_REALTIME
TIRTOS-1280 POSIX barrier broken on FreeRTOS
TIRTOS-1199 Example gcc makefiles are missing rts include path
TIRTOS-906 Add support for POSIX errno
TIDRIVERS-1314 DPL nortos MSP432P4 Timer overflow issue
TIDRIVERS-1309 PWMTimerMSP432 clobbers shared port pins
TIDRIVERS-1284 NoRTOS SemaphoreP_post can permanently disable power policy
TIDRIVERS-1272 Update MSP432P4 SPI driver phase and polarity settings to align with other SimpleLink device drivers (see Upgrade/compatibility section for more details)
TIDRIVERS-1260 NVS post verify always fails
TIDRIVERS-1225 NVS drivers pre-erase 2 sectors when write is equal to sector size
TIDRIVERS-1090 Add support for all valid input clockSources to MSP432P4 ADCBuf driver (see clockSource in ADCBufMSP432_HWAttrs for more details)
TIDRIVERS-724 SPI drivers should set transaction status

Upgrade and Compatibility Information

ADC SampleTimer -> 2
Sample-Hold -> 4 (default)
Resolution -> 16 (default of 14-bit)
ADC Clock source-> 25Mhz (default of ADC_OSC)

Resulting Maximum Sample Rate = 25Mhz/22 = 1.14Msps

In the new ADC driver, the ADC sample timer is only used when:

ADCBufMSP432_HWAttrs.adcTriggerSource == ADCBufMSP432_SOFTWARE_AUTOMATIC_TRIGGER

This enables the ADC to run without the timer and as quickly as possible, making possible the previously mentioned resulting maximum sample rate of 1.14Msps. When the trigger source is selected from one of the timer trigger sources, the ADC uses pulse sample mode and the sample-hold time as well as the sample rate defined by the timer trigger duty cycle. The parameter timerDutyCycle of ADCBufMSP432_HWAttrs defines the duty cycle and consequently the sample-hold. This mode supports resulting sampling rates up to 1Msps and sample and hold times as low as 208.3ns.

(1) TI-RTOS kernel configuration file (.cfg)

The POSIX package name has changed, and the one configuration parameter name has been modified. The semantics remain the same.

Old Values

Package Name: ti.sysbios.posix
Config Param: Settings.supportsMutexPriority

New Values

Package Name: ti.posix.tirtos
Config Param: Settings.enableMutexPriority

These changes must be made in your kernel configuration script. The following is a typical setting using the old values:

var Settings = xdc.useModule('ti.sysbios.posix.Settings');
Settings.supportsMutexPriority = true;

You will need to change these statements as follows:

var Settings = xdc.useModule('ti.posix.tirtos.Settings');
Settings.enableMutexPriority = true;

(2) The compiler include path

When compiling, you will need to modify your include path to the new location of the POSIX header files. The include path now depends on the toolchain being used.

Old Values

TIRTOS: <SDK_INSTALL_DIR>/kernel/tirtos/packages/ti/sysbios/posix
FreeRTOS: <SDK_INSTALL_DIR>/kernel/freertos/posix

New Values

CCS Compiler: <SDK_INSTALL_DIR>/source/ti/posix/ccs
GCC Compiler: <SDK_INSTALL_DIR>/source/ti/posix/gcc
IAR Compiler: <SDK_INSTALL_DIR>/source/ti/posix/iar

Host Support

See the SDK release notes for a description of which host operating systems are supported in this release.

Dependencies

See the SDK release notes for a description of which components and tools are required to work with this product.

Device Support

See the SDK release notes for a list of TI devices that are supported in this product.

Validation Information

The Core SDK was validated with the following components:

Known Issues

ID Summary
TIRTOS-476 POSIX threads render as single task in execution graph

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.

Prior Release Changes

Core SDK 3.30.00 (Aug 23 2017)

New Features

ID Summary
TIRTOS-1285 Enable FreeRTOS re-entrancy support for GNU targets (use newlib-nano)
TIRTOS-1281 Include FatFS examples for NoRTOS
TIRTOS-1032 POSIX header files should be binary compatibile for TIRTOS and FreeRTOS

Bugs Resolved

ID Summary
TIRTOS-1282 FreeRTOS POSIX clock should support CLOCK_REALTIME
TIRTOS-1199 Example gcc makefiles are missing rts include path
TIRTOS-906 Add support for POSIX errno
TIDRIVERS-1260 NVS post verify always fails
TIDRIVERS-724 SPI drivers should set transaction status

Core SDK 3.20.02 (Jul 10 2017)

New Features

None

Bugs Resolved

ID Summary
TIDRIVERS-1155 NVS sections in GCC linker files should only set alignment
TIDRIVERS-1111 Enhance SPI MSP432 driver implementation to handle DMA transfers > 1024
TIDRIVERS-1110 Provide an NVS driver for RAM (NVSRAM)
TIDRIVERS-1075 Make Power_idleFunc() the default idleCallback in NoRTOS module
TIDRIVERS-74 Update MSP432 SPI driver to have a polling mechanism for small transfers

Core SDK 3.20.00 (May 25 2017)

New Features

ID Summary
TIRTOS-1193 No-RTOS Display_printf “%%” problem in SystemP_nortos.c
TIRTOS-1163 Display_print3 does not print out % in FreeRTOS based examples
TIDRIVERS-1177 Remove usage of shutdown disallow constraints by drivers
TIDRIVERS-1147 SPI drivers should support transfer timeout
TIDRIVERS-1136 NoRTOS SemaphoreP_pend should use local ClockP structure
TIDRIVERS-1122 ADCBufMSP432 causing bus fault
TIDRIVERS-1106 POSIX clock_gettime() for FreeRTOS needs to be more accurate
TIDRIVERS-1087 Drive Strength is available only for 4 pins. P2.0 to P2.3 - GPIOMSP432
TIDRIVERS-1086 GPIO_setConfig in GPIOMSP432.c should exit gracefully if invalid port is selected for Hwi creation
TIDRIVERS-1067 MSP432 I2C error condition not handled safely, resulting in bus error
TIDRIVERS-893 TimerMSP432 driver has multiple bugs

Bugs Resolved

ID Summary
TIDRIVERS-1136 NoRTOS SemaphoreP_pend should use local ClockP structure

Core SDK 3.10.02 (Mar 1 2017)

New Features

None

Bugs Resolved

ID Summary
TIRTOS-1066 Set configUSE_TIME_SLICING to ‘0’ in all FreeRTOSConfig.h files
TIRTOS-1056 Remove spiloopback4wiremode example
TIRTOS-1036 Supply Portable example with native RTOS APIs
TIRTOS-1009 Add examples for NVS for internal and external SPI FLASH when available
TIRTOS-991 Optimize DPL for size
TIRTOS-988 Provide all single-task driver examples also for Non-RTOS
TIRTOS-952 MSP432 GCC startup files require define from GCC standard libraries
TIRTOS-948 pthread_cond_timedwait should support CLOCK_MONOTONIC
TIRTOS-644 Redundant FreeRTOS C stack definitions
TIRTOS-615 Create example for UARTMon module
TIDRIVERS-1008 Need Posix sleep and usleep for NoRTOS
TIDRIVERS-971 Provide NVS driver for SPI FLASH
TIDRIVERS-916 Board.html should specify pin functions for communication buses
TIDRIVERS-900 Various driver pin encodings need to be explained better
TIDRIVERS-891 Rename ADC_convertRawToMicroVolts to ADC_convertToMicroVolts
TIDRIVERS-887 Capture Driver top level implementation review and fix
TIDRIVERS-884 MSP432 TI Driver SPI 4 wire example update
TIDRIVERS-881 Construct and destruct APIs for DPL
TIDRIVERS-488 Review TI-RTOS SemaphoreP implementation with goal to reduce stack usage

Core SDK 3.10.01 (Feb 24 2017)

New Features

None

Bugs Resolved

ID Summary
TIRTOS-1031 FreeRTOS mq_getattr() should not disable scheduler
TIRTOS-1027 i2cmsp432 does not work if write/read on same transaction
TIRTOS-1012 MSP432 linker files must ALIAS SRAM_CODE & SRAM_DATA
TIRTOS-954 Update ADC examples to show microvolt values
TIRTOS-936 TI-RTOS examples suppress ULP warnings
TIDRIVERS-1077 TimerMSP432 bug fixes (update Timer_getCount() and Timer_start())
TIDRIVERS-1062 MSP432 Timer_open should check registers to see if timer is already in use
TIDRIVERS-1054 Correct the IEEE RX command definition
TIDRIVERS-1027 SemaphoreP_pend for FreeRTOS does not work with tick rate less than 1 msec
TIDRIVERS-1014 PWMMSP432 setPeriod() bug
TIDRIVERS-1013 FreeRTOS posix mqueue.h mode_t needs to be uint32_t
TIDRIVERS-1005 SemaphoreP_Params_init() should set mode to COUNTING
TIDRIVERS-960 ADC14 single driver, ADCMSP432.c only supports performance levels 0 and 1
TIDRIVERS-934 Timeouts for Posix FreeRTOS need to handle wrapping
TIDRIVERS-929 PowerMSP432.c has non-MAP_ function calls

Core SDK 3.10.00 (Feb 15 2017)

New Features

ID Summary
TIRTOS-992 FreeRTOS POSIX mq_send and mq_receive should be callable from ISR context

Bugs Resolved

ID Summary
None None

Core SDK 3.01.01 (Dec 9 2016)

New Features

ID Summary
TIRTOS-946 Release.cfg should use policyMin instead of policySpin
TIRTOS-925 IAR Examples.html should reference .eww and not .ipcf files any longer
TIRTOS-849 Capture example needs to be replaced by CapturePWM
TIRTOS-842 Need Mailbox example in the product
TIRTOS-750 The CoreSDK is carrying around unnecessary files/directories

Bugs Resolved

ID Summary
None None

Core SDK 3.01.00 (Nov 9 2016)

New Features

ID Summary
TIRTOS-945 pthread_setschedparam not supported in Freertos POSIX
TIRTOS-933 CCS platform warning with TI-RTOS examples
TIRTOS-903 Inconsistent declaration for timer_create, TI-RTOS and FreeRTOS
TIRTOS-900 Display driver not printing float values
TIRTOS-897 Makefile for FreeRTOS kernel has bad error message if FREERTOS_INSTALL_DIR is not set
TIRTOS-891 RTOS build in IAR should be an .ewp and preferably a dependent project like in CCS
TIRTOS-785 Board_ADCBUFCHANNEL0 should be changed to Board_ADCBUF0CHANNEL0 for consistency
TIRTOS-776 Posix usleep() function implemented in millisecond and not in microseconds
TIRTOS-749 C++ constructors on FreeRTOS with GCC are not called
TIRTOS-709 RTOS config projects are available only in makefile for IAR
TIRTOS-415 IAR tools must be installed in non-default location to work with gmake
TIDRIVERS-890 exit() support is missing in gcc libraries for FreeRTOS
TIDRIVERS-837 FreeRTOS Posix timer APIs need to check if in an ISR
TIDRIVERS-745 Change reverse() in source\ti\mw\lcd\SharpGrLib.c to SharpGrLib_reverse()

Bugs Resolved

ID Summary
TIRTOS-838 Update the IAR/Arm compiler tools to version 7.80.x
TIRTOS-832 kernel examples should get stack size from linker.cmd files like driver examples
TIRTOS-821 remove ‘eclipse’ directory from the product, CCSv7 needs only .metadata folder