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
- This release previews a new tool coming out called SysConfig, which allows graphical configuration of TI’s drivers. For more information, see the README file included in the syscfg directory as well as the Wiki page located here.
New Features
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
Bugs Resolved in 3.60.00
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 |
This release breaks compatibility with previous releases of the Core SDK in the following ways:
- PCM driver has added support for 8kHz PCM sampling rate: The current PDM driver only supports 16kHz PCM sampling rate. Customers that cannot lower their BCLK due to sensor restrictions have no options to support 8kHz PCM sampling rates.
- To add in support for this, the second decimation stage needs to be updated from decimation by two to decimation by four and the filter coefficients need to be updated to account for the adjusted frequency response.
- Overall, this converts the second filtering stage from a half-band filter to a quarter-band filter.
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.
The Core SDK was validated with the following components:
- Code Composer Studio 8.1.0
- GNU Code Generation Tools
- IAR Code Generation Tools
- FreeRTOS 10.0.0
- XDCTools 3.50.06
Known Issues
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
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
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
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
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
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
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
TIDRIVERS-1136 |
NoRTOS SemaphoreP_pend should use local ClockP structure |
Core SDK 3.20.00 (May 25 2017)
New Features
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
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
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
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
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
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
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
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
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
TIRTOS-552 |
Spiloopback example master/slave needs synchronization |