Release Notes

Table of Contents

Introduction

This is a GA release of the Core SDK 3.40.01.02 for the CC26xx and CC13xx devices.

Documentation

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

For further information on the drivers included in this product, see the Drivers Release Notes

What’s New

New Features

ID Summary
TIRTOS-1355 Sync CC1352 smartrf settings with SmartRF Studio 2.8.0
TIRTOS-1348 Update RF examples to share common code for TIRTOS and NORTOS
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-1212 Add examples for CC1312R1 launchpad
TIDRIVERS-1279 Revise Crypto APIs
TIDRIVERS-1278 Remove internal key generation from Agama crypto driver implementations
TIDRIVERS-1257 Add board and linker files for CC1312R LaunchPad
TIDRIVERS-1214 LaunchPad Board files should disable external flash memory during initialization
TIDRIVERS-1183 Improve RAM footprint of No-RTOS HwiP dispatch table
TIDRIVERS-1174 Provide IOCTL command for FIFO interrupt depth in CC26xx UART driver
TIDRIVERS-1159 Enable UART1 in CC26XX driver
TIDRIVERS-1132 Implement generic ECDSA driver for CC13X2/CC26X2 devices
TIDRIVERS-1105 Implement generic EC J-PAKE driver for CC13X2/CC26X2 devices
TIDRIVERS-956 Implement generic SHA2 driver for CC13X2/CC26X2 devices
TIDRIVERS-952 Implement generic AES_ECB driver for CC13X2/CC26X2 devices
TIDRIVERS-736 Remove CSN wakeup functionality from SPICC26XXDMA
TIDRIVERS-476 Provide convenience macros to convert time into RAT ticks in the RF driver

Bugs Resolved

ID Summary
TIRTOS-1282 FreeRTOS POSIX clock should support CLOCK_REALTIME
TIRTOS-1214 GPIO callbacks cannot be disabled in GPIO Interrupt example
TIRTOS-1199 Example gcc makefiles are missing rts include path
TIRTOS-906 Add support for POSIX errno
TIDRIVERS-1286 RF driver scheduling issue for high priority client scheduling in the future
TIDRIVERS-1284 NoRTOS SemaphoreP_post can permanently disable power policy
TIDRIVERS-1270 Provide more SPI CS management options for NVSSPI25X
TIDRIVERS-1269 ADC driver does not clear IRQ flags
TIDRIVERS-1265 CC26xx ADC driver configures IO incorrectly
TIDRIVERS-1260 NVS post verify always fails
TIDRIVERS-1256 Correct the RAT sync criterion in single-mode
TIDRIVERS-1249 NoRTOS HwiPCC26XX dispatch table does not cover all possible CC13X2/CC26X2 interrupts
TIDRIVERS-1243 RAT Compare prevents BLE5-posted command from starting
TIDRIVERS-1225 NVS drivers pre-erase 2 sectors when write is equal to sector size
TIDRIVERS-1217 RF Driver: fsmSetupState is changing the rate word in the setup command in proprietary mode
TIDRIVERS-1208 NoRTOS HwiPCC26XX_construct not setting the correct priority when called from UARTCC26XX_Open
TIDRIVERS-1178 Introduce automatic power management for the RAT APIs
TIDRIVERS-1172 SPICC26XXDMA should require transfer buffers to be aligned to data size
TIDRIVERS-1022 Remove AUX power down code from Power_init() for CC13X2/CC26X2 devices
TIDRIVERS-724 SPI drivers should set transaction status

Upgrade and Compatibility Information

This release breaks compatibility with previous releases of the Core SDK in the following ways:

(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
TIDRIVERS-858 Stack Underflow in SHA256 finish
TIDRIVERS-723 UARTCC26XX.c accepts invalid open parameters
TIDRIVERS-439 RF_ratCompare works intermittently in single mode code when future commands are posted
TIDRIVERS-406 Warning in sensorI2C.c when building BLE CCS projects using I2C
TIDRIVERS-386 Timing difference from SYSRESET as compared to a hard reset
TIDRIVERS-206 Display driver does not support float
TIDRIVERS-204 LCDDogm128 writes outside buffer
TIDRIVERS-188 SPICC26XXDMA / UDMACC26XX - Bus faults not handled
TIDRIVERS-146 Possible bug in LCD driver (DOGM 128-6) for drawing/clearing vertical lines
TIDRIVERS-92 Incorrect thread safety in LCD_open

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)

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
TIRTOS-1195 Add a new board for CC1350 Launchpad in 433MHz band
TIDRIVERS-1155 NVS sections in GCC linker files should only set alignment
TIDRIVERS-1110 Provide an NVS driver for RAM (NVSRAM)
TIDRIVERS-1109 RF_cancelCmd() and RF_flushCmd() shall return RF_StatCmdEnded after command has finished
TIDRIVERS-1075 Make Power_idleFunc() the default idleCallback in NoRTOS module
TIDRIVERS-972 For better Flash utilization in the ROM build flow with TI tools, use linker's ‘>>’ to place .text, .const,.sections.
TIDRIVERS-957 Implement generic ECDH driver for CC26X2
TIDRIVERS-954 Implement generic AES_CCM driver for CC26X2
TIDRIVERS-75 Update CC26XX 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
TIRTOS-1160 NoRTOS SwiP_destruct() gets stuck if the SWI is never posted after construct
TIDRIVERS-1182 Race condition in No-RTOS HwiP_dispatch for CC3220, CC13xx and CC26xx
TIDRIVERS-1178 Introduce automatic power management for the RAT APIs
TIDRIVERS-1170 NVSSPI25X0 driver fails to read more than 1024 bytes at a time properly.
TIDRIVERS-1169 LPRF board files do not enable UART ring buffer
TIDRIVERS-1157 RF_runCmd() and RF_pendCmd() should not return RF_EventCmdError
TIDRIVERS-1147 SPI drivers should support transfer timeout
TIDRIVERS-1136 NoRTOS SemaphoreP_pend should use local ClockP structure
TIDRIVERS-1106 POSIX clock_gettime() for FreeRTOS needs to be more accurate
TIDRIVERS-1089 RF driver – flush command does not remove the commands from the queue
TIDRIVERS-1083 RF driver has a problem in handling background command
TIDRIVERS-1058 Race condition in UARTCC26XX_read() implementation
TIDRIVERS-1020 RF command with absolute start trigger failed with ‘Error past start’ when many clocks are active
TIDRIVERS-983 RF driver hangs in RF_pendCmd in RFCC26XX_multiMode.c

Bugs Resolved

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

Core SDK 3.10.03 (Mar 23 2017)

New Features

None

Bugs Resolved

ID Summary
TIRTOS-1069 NoRTOS RF examples should be provided for all boards
TIRTOS-1066 Set configUSE_TIME_SLICING to ‘0’ in all FreeRTOSConfig.h files
TIRTOS-1036 Supply Portable example with native RTOS APIs
TIRTOS-1022 Support NoRTOS build for CC13xx/CC26xx
TIRTOS-1019 Update CC13xx/CC26xx builds to use -DDeviceFamily_CC13X0, etc
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-948 pthread_cond_timedwait should support CLOCK_MONOTONIC
TIRTOS-644 Redundant FreeRTOS C stack definitions
TIRTOS-615 Create example for UARTMon module
TIDRIVERS-1021 ti/mw/lcd should be updated to use DPL to allow use with nortos
TIDRIVERS-1008 Need Posix sleep and usleep for NoRTOS
TIDRIVERS-987 RF driver - Only accept RF mode in single mode which is compatible with the device family
TIDRIVERS-986 RF driver - RF_open/RF_close threading issue
TIDRIVERS-975 Replace variable type unsigned int to uint32_t in single-mode RF driver
TIDRIVERS-971 Provide NVS driver for SPI FLASH
TIDRIVERS-958 Follow up on BLE stack RF_Object issue (RF.h)
TIDRIVERS-938 Add examples to doxygen how to use the RF driver in case of synth lock error
TIDRIVERS-926 [RF driver] - Enable override trimming required on CC26x0R2 BLE5 coded PHY
TIDRIVERS-925 Replace turning off extFlash in PIN examples with bit-banged SPI PIN macro
TIDRIVERS-922 Update PDM doxygen about which SCLK_HF I2S can run off of
TIDRIVERS-916 Board.html should specify pin functions for communication buses
TIDRIVERS-900 Various driver pin encodings need to be explained better
TIDRIVERS-895 Do not specify HWI/SWI priorities in the board files, but rather in the application code
TIDRIVERS-891 Rename ADC_convertRawToMicroVolts to ADC_convertToMicroVolts
TIDRIVERS-887 Capture Driver top level implementation review and fix
TIDRIVERS-881 Construct and destruct APIs for DPL
TIDRIVERS-865 Add support for resetting the device if JTAG_PD is turned on due to noise on TCK (CC2640_R2)
TIDRIVERS-853 Move I2S dependency on uDMA from PDM driver to power driver
TIDRIVERS-781 CC13xx/26xx drivers should use DPL for OS independence (or use without RTOS)
TIDRIVERS-780 DPL for non-RTOS support for CC13xx/CC26xx
TIDRIVERS-488 Review TI-RTOS SemaphoreP implementation with goal to reduce stack usage

Core SDK 3.10.02 (Mar 1 2017)

New Features

None

Bugs Resolved

ID Summary
TIRTOS-1031 FreeRTOS mq_getattr() should not disable scheduler
TIRTOS-954 Update ADC examples to show microvolt values
TIDRIVERS-1054 Correct the IEEE RX command definition
TIDRIVERS-1029 Executing RF_yield while the RAT is OFF causes the RF driver hang
TIDRIVERS-1027 SemaphoreP_pend for FreeRTOS does not work with tick rate less than 1 msec
TIDRIVERS-1024 Remove unnecessary fxn param in PDMCC26XX_utils.c driverlib call
TIDRIVERS-1023 Inproper handling of shared interrupts of IEEE foreground/background commands
TIDRIVERS-1015 Fix Chameleon 5x5 AUXIO-DIO mapping
TIDRIVERS-1013 FreeRTOS posix mqueue.h mode_t needs to be uint32_t
TIDRIVERS-1011 Fix vulnerability in CryptoCC26XX.h CCM example
TIDRIVERS-1005 SemaphoreP_Params_init() should set mode to COUNTING
TIDRIVERS-1001 Refactor interrupt handling in the RF driver
TIDRIVERS-984 Expand the common RF_RadioSetup union with the BLE5 definition
TIDRIVERS-934 Timeouts for Posix FreeRTOS need to handle wrapping
TIDRIVERS-931 NVS cannot use block larger than flash page size
TIDRIVERS-928 NVSCC26XX driver does not lock interrupts while accessing the flash
TIDRIVERS-549 NVSCC26XX driver does not disable line buffers

Core SDK 3.10.00 (Feb 15 2017)

New Features

ID Summary
TIRTOS-1021 Update CC13xx/CC26x driverlib (with RF patch for cc26x0r2)
TIDRIVERS-992 ti/mw/remotecontrol/buzzer.c references driverLib (should be driverlib)

Bugs Resolved

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

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
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()

Core SDK 3.01.00 (Nov 9 2016)

New Features

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

Bugs Resolved

ID Summary
TIRTOS-814 Update primary_heap size logic in TI and GCC linker .cmd files
TIRTOS-606 Makefiles should support tools directory names that contain spaces
TIDRIVERS-796 Display_getType compile error for Display_DISABLE_ALL