Release Notes

Table of Contents

Introduction

This is a GA release of the Core SDK 3.60.01.00 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-1493 Add ENFILE to errno
TIRTOS-1481 Add examples for CC1352P-2_ LAUNCHXL LaunchPad
TIRTOS-1480 Add examples for CC1352P-4_ LAUNCHXL LaunchPad
TIRTOS-1479 Add board files for CC1352P-2 LaunchPad
TIRTOS-1474 Add board files for CC1352P - 433 MHz (China band) Launchpad in Core SDK
TIDRIVERS-1572 Add CC1352P-2 LP board file
TIDRIVERS-1547 WatchdogCC26XX: Update documentation to clarify which context the callback is called in
TIDRIVERS-1483 remove ti/mw directory from the Core SDK product (stale and unused)
TIDRIVERS-1463 Avoid context switches in CC26X2 AESCCM, AESECB, SHA2 polling return behaviour
TIDRIVERS-1461 Improve CC26X2 AESCCM, AESECB, SHA2 error handling
TIDRIVERS-1448 Add support for 8kHz PCM sampling rate
TIDRIVERS-1445 EC-JPAKE preprocess hash mod n for easier Thread integration
TIDRIVERS-1427 CC26XX power constraints have inconsistent names
TIDRIVERS-1403 Check CryptoSem inside CryptoCC26XX_init()
TIDRIVERS-1347 Refactor PowerCC26X2_calibrateRCOSC.c to make use of SCLKMF
TIDRIVERS-1313 Need board file and linker files for CC1352P 433MHz LP
TIDRIVERS-1229 Create generic TRNG driver

Bugs Resolved in 3.60.01

ID Summary
TIDRIVERS-1626 Race condition in PowerCC26X2_calibrateRCOSC

Bugs Resolved in 3.60.00

ID Summary
TIRTOS-1508 Align default pthread stack size for all kernels
TIRTOS-1436 Thread handle set too late in pthread_create() [FreeRTOS]
TIRTOS-1433 Clock period ignored when calling ClockP_create() [FreeRTOS]
TIRTOS-1432 Clock start flag and period are ignored when calling ClockP_create()
TIRTOS-1429 Deadlock risk in _pthread_removeThreadKeys() [SYS/BIOS]
TIRTOS-789 Move cc13xx/26xx ‘ti/mw’ components
TIDRIVERS-1565 ClockP_create() for FreeRTOS does not support a period of 0
TIDRIVERS-1485 The scheduler cannot be called from inside a HwiP_disable in a task context
TIDRIVERS-1476 ADCBufCC26XX: Update “Not Supported Functionality” documentation
TIDRIVERS-1462 Documentation of adcbuf driver:ADCBufCC26XX_ParamsExtension
TIDRIVERS-1452 CC2640R2 JTAG TCK noise workaround non-functional with SCLK_LF_HFD
TIDRIVERS-1441 ClockP_usleep() for FreeRTOS calculates delay incorrectly
TIDRIVERS-1274 Backgrounded IEEE commands not receiving events they requested

Upgrade and Compatibility Information

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

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.50.xx (Feb 22 2018)

New Features

ID Summary
TIRTOS-1418 SRAM allocation overflow in GCC build for CC13x0 rfWsn projects
TIDRIVERS-1444 Extend GPIOCC26XX driver to work with GPIO indexes greater than 31 for Energia
TIDRIVERS-1412 Improve Agama public key validation routine
TIDRIVERS-1411 Add _Params option to disable public key verification
TIDRIVERS-1406 Change CC1352P_LAUNCHXL board file name to CC1352P1_LAUNCHXL
TIDRIVERS-1394 Change DMA table base address for Agama
TIDRIVERS-1390 Rework GPIOCC26XX to use PIN_setInterrupt() to enable/disable interrupts
TIDRIVERS-1377 ECJPAKECC26X2.c and ECDSACC26X2.c global vars not static
TIDRIVERS-1376 Add NIST P521 curve support to Agama ECC drivers
TIDRIVERS-1375 Add brainpool P512r1 curve to Agama ECC drivers
TIDRIVERS-1345 Add brainpool P384r1 curve support to Agama ECC drivers
TIDRIVERS-1344 Add brainpool P256r1 curve support to Agama ECC drivers
TIDRIVERS-1343 Add NIST P384 curve support to Agama ECC drivers
TIDRIVERS-1342 Add NIST P224 curve support to Agama ECC drivers
TIDRIVERS-1331 Refactor RF_scheduleCmd API to better suit the DMM
TIDRIVERS-1329 Namespace all RF driver functions with RF_ prefix
TIDRIVERS-1310 Extend the NVS driver example to show how to add a custom region
TIDRIVERS-1305 Rework Agama ECDSA and ECJPAKE to store tmp results in PKA RAM
TIDRIVERS-1281 Need a UARTCC26X0 driver
TIDRIVERS-1221 Add logic to SPIFFS_write() to work around 83-write limitation on CC13xx and CC26xx devices
TIDRIVERS-1216 Refactor RAT API functions
TIDRIVERS-1198 Create generic SHA2 example
TIDRIVERS-1195 Create generic AESECB example
TIDRIVERS-1194 Create generic AESCCM example
TIDRIVERS-1189 Refactor internal RF driver queue and use List type instead
TIDRIVERS-1186 Eliminate bIeeBg flag dependency in IEEE mode (scheduleCmdParams)
TIDRIVERS-1185 Remove TIDRIVERS-1170 workaround when SPICC26XXDMA supports larger than 1k SPI transfers
TIDRIVERS-1173 SPICC26XXDMA should be updated to support transfers larger than 1024
TIDRIVERS-1143 Add Montgomery curve ECDH support for Curve25519 on Agama
TIDRIVERS-1135 Add key verification to ECDH and ECDSA driver
TIDRIVERS-1079 Update power driver to use driverlib functions to enter idle, standby and shutdown.
TIDRIVERS-946 Update power driver for Agama to make use of new oscillator interrupts
TIDRIVERS-936 Add convenience function RF_setTxPower() to update the output power
TIDRIVERS-591 TI-DRIVERS should upgrade to FatFs v0.13a
TIDRIVERS-530 UartCC26xx uses ClockSwi for callback to application
TIDRIVERS-461 UART driver should notify application of errors
TIDRIVERS-441 Add SPIFFS, a lightweight file system that uses NVS to interface with on-chip or off-chip FLASH

Bugs Resolved

ID Summary
TIRTOS-1319 Incorrect thread protection in mq_open()
TIRTOS-1023 pthread_exit-related memory leak
TIDRIVERS-1541 Adjust the search depth of High-Gain PA override value from 20 to 80 in RF driver
TIDRIVERS-1477 Review dual-stack usage of TRIG_NOW trigger type
TIDRIVERS-1431 Potential race condition in the UARTCC26XX driver
TIDRIVERS-1401 Correct ECDH private key validation range
TIDRIVERS-1398 PWMCC26XX_open() and PWMCC26XX_start() cause spikes on the output pin
TIDRIVERS-1389 CC13XX-CC26XX: UART_write in callback mode could post additional writes before the initial write completes causing strange behavior.
TIDRIVERS-1371 ADCBufCC26XX: Move DMA reload into hwi context.
TIDRIVERS-1368 Resolve race condition resulting in lost interrupts in IEEE mode
TIDRIVERS-1349 Reduced RF performance in multi-mode applications
TIDRIVERS-1340 Resolve assymetric critical sections in the multi-mode RF driver
TIDRIVERS-1336 PDM task stack size too small for worst case interrupt nesting
TIDRIVERS-1332 Elimination of bPowerUpXOSCfield from RF_Params configuration object
TIDRIVERS-1328 CryptoCC26XX_loadKey not safely callable from swi context
TIDRIVERS-1302 Change of return value of RF_ratDisableChannel()
TIDRIVERS-1285 CC13XX-CC26XX: UART_read used in blocking mode may get stuck in pending due to framing/parity/break error.
TIDRIVERS-1158 Introduce new type of HW attributes in the RF driver
TIDRIVERS-1113 powerup duration is overwritten
TIDRIVERS-1003 UART CC26XX driver does not use ring buffer

Core SDK 3.40.00 (Nov 20 2017)

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-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-1214 GPIO callbacks cannot be disabled in GPIO Interrupt example
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-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

Core SDK 3.30.00 (Aug 23 2017)

New Features

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

Bugs Resolved

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

Core SDK 3.20.02 (Jul 10 2017)

New Features

None

Bugs Resolved

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

Core SDK 3.20.00 (May 25 2017)

New Features

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

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.03 (Mar 23 2017)

New Features

None

Bugs Resolved

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)

Core SDK 3.10.02 (Mar 1 2017)

New Features

None

Bugs Resolved

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

Core SDK 3.10.00 (Feb 15 2017)

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.01 (Dec 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

Core SDK 3.01.00 (Nov 9 2016)

New Features

ID Summary
TIRTOS-759 Update TI tools to 16.9.0 to be ready for CCSv7.0
TIRTOS-756 Update examples to use Display_printf instead of print0, etc.
TIRTOS-745 Display_Type_UART should disable RX to allow power savings
TIRTOS-705 Power Management doc needs updating for CoreSDK
TIRTOS-543 Update all Drivers examples with Display module usage as necessary
TIRTOS-248 Move TI-RTOS driver documentation out of the user guide and into doxygen
TIDRIVERS-738 Deprecate ti.drivers.Config as apps should supply libs on command line
TIDRIVERS-735 Remove instrumented driver libraries and provide only release libraries
TIDRIVERS-601 Update Power APIs for MISRA compliance
TIDRIVERS-569 Update UART Display driver to function like an LCD

Bugs Resolved

ID Summary
TIRTOS-552 Spiloopback example master/slave needs synchronization