SimpleLink Low Power F3 Core SDK 9.21.00.28 Release Notes
Table of Contents
Introduction
This is a Production (GA) release of the Core SDK 9.21.00.28 for Low Power F3 devices.
Documentation
Open the Documentation Overview file in the docs/ folder for a full list of documentation.
What’s New
A summary of changes made in each release of this product can be found in the Core SDK Changelog.
Note that the Core SDK follows similar-but-not-always-aligned versioning with the LPF3 SDK. The Core SDK feeds multiple other SDKs, and as such, sometimes LPF3 SDK users will see multiple Core SDK version jumps between releases.
The following table helps users identify which Core SDK was included in each LPF3 SDK, and therefore which Changelog entries to review. Generally speaking larger M.mm version segments will contain the same features/fixes as smaller M.mm versions.
| LPF3 SDK Version | Core SDK Version | Notes |
|---|---|---|
| 7.10.00 | 7.11.01 | |
| 7.20.00 | 7.20.00 | |
| 7.20.01 | 7.20.01 | |
| 7.40.00 | 7.40.02 | |
| 8.10.00 | 8.10.01 | Initial CCS Theia support |
| 8.10.01 | 8.10.01 | |
| 8.20.00 | 8.10.03 | |
| 8.40.00 | 8.40.00 | GCC 12 RNG health test |
| 9.10.00 | 9.10.00 | LTO enabled in all software libraries VCE->APU renaming Python version update |
| 9.20.00 | 9.21.00 |
Note: the Versioning section below contains more details on the versioning schema used.
Upgrade and Compatibility Information
The driverlib folder structure has been updated to support CC27XXX20 devices.
The driverlib GPIO module for LPF3 devices has been updated to support up to 64 DIOs. This constitutes a compatibility break for users using driverlib directly, which we discourage.
Some driverlib UART APIs for LPF3 devices have been renamed. This constitutes a compatibility break for users using driverlib directly, which we discourage.
The log-site has been optimized. These changes are source-compatible but not binary-compatible. This means that users can keep the exact same source code but will need to recompile their own libraries or C files when linking against libraries that include these changes.
Improved FreeRTOS tick suppression in standby policy function.
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:
- Code Composer Studio™ 20.1.0
- GNU Code Generation Tools
- ARM GCC 12.3.Rel1-0
- IAR Code Generation Tools
- ARM 9.60.3
- TI Clang Code Generation Tools
- ARM ti-cgt-armllvm_4.0.4.LTS
- FreeRTOS 10.5.1-1
- SysConfig 1.26.3
- Python 3.10.12
New Features
| ID | Summary |
|---|---|
| TIUTILS-167 | Move Log level check into LogSink |
| TIDRIVERS-7687 | Update UART2LPF3 to use driverlib API |
| TIDRIVERS-7626 | Add device-support for CC2755R20 |
| TIDRIVERS-7611 | Add device-support for CC2765R10-Q1 |
| TIDRIVERS-7523 | Ensure CAN-FD configuration is set to initialization mode when closing driver |
| TIDRIVERS-7497 | CAN: Implement workaround for errata SYS_211 |
| TIDRIVERS-7492 | Enable Secure Debug Manager in SysConfig for CC27XX Family |
| TIDRIVERS-7448 | APU: List calling context limitations on all its public API functions |
| TIDRIVERS-7442 | Enable the debug authentication option in Sysconfig for CC27xx devices |
| TIDRIVERS-7431 | Update ClockPLPF3 implementation to use SysTimer driverlib module |
| TIDRIVERS-7403 | Add CC2340R5MODA device support |
| TIDRIVERS-7364 | Add TFM secure boot example support to boards.js for CC27xx |
| TIDRIVERS-7359 | Store/restore SCB.AIRCR S/NS registers when entering/existing standby |
| TIDRIVERS-7357 | FreeRTOS AppHooks: Remove toolchain-specific methods to indicate weak symbols |
| TIDRIVERS-7321 | [CC27XX] Create .keystore section in GCC linker files |
| TIDRIVERS-7293 | NVS section used in GCC linker file |
| TIDRIVERS-7286 | Add LP-EM-CC2755P20 launchpad |
| TIDRIVERS-7284 | Enable 64 DIOs in LPF3 GPIO driver |
| TIDRIVERS-7270 | SysConfig 1.24: Device CC2340R5RHB is renamed to CC2340R5RHBQ1 |
| TIDRIVERS-7264 | Add LP_EM_CC2340R53MODA board support |
| TIDRIVERS-7253 | Make Display SysConfig module lock the UART configuration it depends on |
| TIDRIVERS-7174 | Integrate use of driverlib with updated folder structure to support CC27XXX20 devices |
| TIDRIVERS-7161 | Improve FreeRTOS tick suppression in standby policy function |
| TIDRIVERS-7153 | SPILPF3: Review and update the documentation in SPILPF3.h |
| TIDRIVERS-7123 | CC27XX: Add AUX tempsense driver |
| TIDRIVERS-7114 | CC27XX: Add S/NS support for Temperature and BatteryMonitor drivers |
| TIDRIVERS-6776 | Add LP-EM-CC2755P10 board support |
| TIDRIVERS-6710 | Reduce likelihood of incorrect ADC samples, create sample conditioning helper functions |
| TIDRIVERS-6667 | Add Theia ROV support to display LogSinkBuf objects |
| TIDRIVERS-6609 | [CC27XX] Change I2S driver to use AFOSC |
| TIDRIVERS-6489 | Add all available LRFD clocks as power resources to CC23X0 and CC27XX |
| TIDRIVERS-6467 | [LPF3] Disable Flash LDO in idle |
| TIDRIVERS-6444 | Implement S/NS interface for CC27xx Flash driver |
| LPRFXXWARE-1121 | [LPF3]: Create IOC driverlib module and update GPIO module to support 32+ GPIOs |
| LPRFXXWARE-1110 | Add device-support for CC2755R20 |
| LPRFXXWARE-1099 | Port HAPI driverlib module to CC23X1 |
| LPRFXXWARE-1098 | Port debug driverlib module to CC23X1 |
| LPRFXXWARE-1097 | Port PMCTL driverlib module to CC23X1 |
| LPRFXXWARE-1096 | Port RTC driverlib module to CC23X1 |
| LPRFXXWARE-1093 | Port SysTimer driverlib module to CC23X1 |
| LPRFXXWARE-1091 | Port Interrupt driverlib module to CC23X1 |
| LPRFXXWARE-1089 | Port EVTSVT driverlib module to CC23X1 |
| LPRFXXWARE-1086 | Set up initial infrastructure for CC23x1 |
| LPRFXXWARE-1081 | CLKCTL: Fix compilation warning caused by missing DRIVERLIB_DEBUG ifdef |
| LPRFXXWARE-1079 | CC27xx: Add missing ‘clobbers’ to the inlined assembly in HWREG_READ_LRF macros |
| LPRFXXWARE-1055 | Create SysTimer driverlib module for LPF3 devices |
| LPRFXXWARE-1053 | Update FCFG layout |
| LPRFXXWARE-1001 | CC27XXX20: Create initial release |
| LPRFXXWARE-971 | Distribute SVD files as part of driverlib |
| LPRFXXWARE-906 | CPUDelay: Simplify by making GCC use the same implementation as TICLANG |
| LPRFXXWARE-880 | CC23xx/CC27xx/CC283x: Inconsistent acronym capitalization in function names |
| LPRFSEC-256 | Enable usage of hash length > curve length in ECDSA Driver |
| LPRFSEC-231 | Add LAES support for key blobs for AES-CCM |
| LPRFSEC-229 | PSA APIs accept unaligned addresses |
| LPRFSEC-215 | Unenforce psa_set_key_bits() before psa_import_key() |
| LPRFSEC-212 | Support concurrent PSA drivers for non-AES + AESECB |
| LPRFSEC-208 | Remove dependency on KeyStore&mbedTLS headers from crypto driver headers |
| LPRFSEC-202 | Update CC35XX driverlib macro usage |
| LPRFSEC-201 | Allow creation of HSM Asset Store keys without key ID input |
| LPRFSEC-200 | Move HSMXXF3_accessSemaphore to drivers |
| LPRFSEC-195 | Rename HSMLPF3_provisionHUK() to HSMXXF3_provisionHUK() |
| LPRFSEC-194 | Enable various mbedTLS SW Crypto algorithms via PSA |
| LPRFSEC-193 | Reduce KeyStore DRAM usage |
| LPRFSEC-185 | Port TI PSA Crypto Layer for mbedTLS 3.6.3 to CC27XX |
| LPRFSEC-180 | Port tfm_enabled PSA Crypto to use mbedTLS and TI PSA layer |
| LPRFSEC-178 | Improve CMake build speed |
| LPRFSEC-168 | Add PSA Crypto examples for TF-M |
| LPRFSEC-161 | Add support for tfm_get_version() |
| LPRFSEC-155 | Update to support driverlib with CC27xx 1M/2M |
| LPRFSEC-154 | Remove SysConfig-generated KeyStore defines for TFM-enabled builds |
| LPRFSEC-153 | Add example for PSA attestation for CC27xx |
| LPRFSEC-150 | Move FLIH functions from PSACrypto_s.c to crypto_sp_interrupts.c for CC27xx |
| LPRFSEC-149 | Add system driver init to crypto partition for CC27xx |
| LPRFSEC-107 | Enable tfm_empty example for CC27xx |
| LPRFSEC-90 | Add example project for PSA Sign and Verify APIs |
| LPRFSEC-82 | Allocate AES DMA channels and DMA Control Tables entries using SysConfig |
| LPRFSEC-81 | Add TFM support for LPF3 HSM ECC params |
| LPRFSEC-66 | Update psa_generate_key to support ECC keys |
| LPRFSEC-43 | Implement IAK generation during PSA Crypto init |
| LPRFSEC-13 | Add configurable ITS start address |
| LPRFSEC-11 | Add PSA Crypto NS client interface to CC27xx driver library build |
| LPRFSEC-8 | Implement Secure service and Nonsecure interface for PSA Crypto API for CC27xx |
| HSM_DDK-107 | Remove enforcement of key_bits in key creation besides generate_key() |
| HSM_DDK-102 | Enable creation of Asset Store keys w/out key ID input |
| FREERTOS-49 | Display hexadecimal formatted addresses for tasks in other ROV modules |
| FREERTOS-47 | Clarify ROV Task BlockedOn reason when Queue object tracking is disabled |
Fixed Issues
| ID | Summary |
|---|---|
| TIUTILS-180 | tilogger tool fails due to deprecated dependency (setuptools) |
| TIUTILS-165 | tilogger tool fails due to deprecated dependency (click) |
| TIUTILS-158 | Log.h module Fails to link when used in C++ context |
| TIRTOS-2256 | SysConfig invocation in IAR is incorrect |
| TIDRIVERS-7793 | Fix links in CC2340R5 WCSP and Q1 board.html files |
| TIDRIVERS-7792 | Fix link in CC2340R53 board.html |
| TIDRIVERS-7743 | Remove preliminary warning in APU driver |
| TIDRIVERS-7714 | Incorrect Result Size Calculation in APU Matrix Multiplication |
| TIDRIVERS-7698 | [rov_theia] Exception view requires await to ensure register fetch happens in time |
| TIDRIVERS-7633 | Missing semaphore destruct in CANCC27XX_close |
| TIDRIVERS-7542 | Race condition can cause erroneous message lost when handling Rx FIFO in CAN driver |
| TIDRIVERS-7434 | Secure Boot post-build step incompatible with Linux |
| TIDRIVERS-7428 | CC27xx SPI driver shall use <= 3/4 FIFO level for DMA burst mode for Tx Transfer |
| TIDRIVERS-7427 | APU driver doesn't function properly after standby |
| TIDRIVERS-7410 | [CC27xx] APU bus fault when mixing pointers inside and outside APU |
| TIDRIVERS-7409 | CC2340R5YBG incorrect SRAM size |
| TIDRIVERS-7404 | exception sysconfig : can't config busFault and usageFault custom handlers |
| TIDRIVERS-7396 | Input buffer is not disabled when DIO is used for analog function |
| TIDRIVERS-7379 | Typo in PowerLPF3_PERIPH_LFRD_* power resource names (LFRD should be LRFD) |
| TIDRIVERS-7362 | S/NS power driver is checking pending S and pending NS interrupts, but the field used is not banked. |
| TIDRIVERS-7361 | S/NS standby policy can enter standby while a NS interrupt is pending |
| TIDRIVERS-7162 | UART2: Remove preliminary API warning |
| TIDRIVERS-7095 | Fix CC27XX HwiP priority availability |
| TIDRIVERS-7087 | GPIO PULL configuration does not work for outputs in sysconfig |
| TIDRIVERS-6928 | Spurious EOT handling in Interrupt Handler Causes Long “busy” Wait and Incorrect Event Callback Behavior |
| TIDRIVERS-6925 | Incorrect fixed-point arithmetic in Temperature driver |
| TIDRIVERS-6674 | [CC35XX] UART receive operation can miss bytes |
| TIDRIVERS-4959 | SysConfig ConfigDoc.html generation broken |
| LPRFXXWARE-1126 | Add API to read out FCFG MAC address |
| LPRFXXWARE-1103 | CC27XXX20 hapi.h does not include all 4 banks |
| LPRFXXWARE-1069 | debug.h files are missing C-binding |
| LPRFSEC-250 | PSA EDDSA+AES CBC,CCM,GCM,CMAC,CTR lack concurrent operation support |
| LPRFSEC-243 | PSA memory leaks after concurrent operation support |
| LPRFSEC-219 | psa_xxx_abort() fails before any call to psa_xxx_setup() |
| LPRFSEC-216 | ECDSA verification fails with PSA_ALG_ECDSA_ANY |
| LPRFSEC-177 | Disabling ECDSA and SHA2 for TF-M build causing build error |
| LPRFSEC-151 | Fix set and release Power constraint for RNG, TRNG drivers |
| LPRFSEC-140 | Curve25519 order is incorrect |
| LPRFSEC-109 | Update links for Sysconfig Configuration Options |
| FREERTOS-48 | ROV Task module does not find blocked upon kernel object |
| FREERTOS-8 | Tasks view in ROV for FreeRTOS does not show if a task is blocked on a semaphore or mutex |
Known Issues
| ID | Summary |
|---|---|
| TIDRIVERS-7475 | I2S driver should not be used simultaneously with CAN or APU driver |
| TIDRIVERS-7416 | The Power driver does not handle SysTimer channel 5 for CC27XX |
| TIDRIVERS-7244 | Changing the muxing on an IO can cause glitches under some conditions |
| TIDRIVERS-7234 | FPU registers not saved/restored around standby for NoRTOS/CM33 |
| TIDRIVERS-7016 | AESCCM/AESGCM driver do not support segmented finalize with no input when using HSM engine for CC27XX devices |
| TIDRIVERS-6863 | JSON library unstable for gcc 12.3 |
| TIDRIVERS-6674 | [CC35XX] UART receive operation can miss bytes |
Customer Support
- Use the E2E support forums for customer support.
- Use the External Bug and Enhancement System to track issues.
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 bb is an unrestricted set of digits used as an incrementing build counter.
Note that sometimes documentation will exclude the bb build segment as during development it’s often unknown what the final build number will be(!), and external releases will all have a unique M.mm.pp.
Prior Release Changes
A summary of changes made in previous releases of this product can be found in the product Change Log.