SimpleLink Low Power F3 Core SDK Change Log
Table of Contents
Core SDK 8.40.00 (Dec, 2024)
- The VCE (Vector Computation Engine) peripheral has been renamed to APU (Algorithm Processing Unit) and all existing VCELPF3 APIs have been renamed to APULPF3. Any application that references this API must take care to migrate accordingly. For example,
VCELPF3_init()must be renamed toAPULPF3_init(). For a complete list of APIs, seeAPULPF3.h
New Features
| ID | Summary |
|---|---|
| TIDRIVERS-7030 | [CC27XX] Fix RAM size in static GCC linker command files |
| TIDRIVERS-7022 | RNG driver to create DRBG instance with maximum reseedInterval (32-bit) for CC23xx |
| TIDRIVERS-7014 | Update KeyStore to support Pre-Provisioned Keys for CC27XX |
| TIDRIVERS-7009 | Disable AESCTRDRBG driver and use RNG driver to return PRNG number for CC27XX devices |
| TIDRIVERS-7002 | [CC27XX] Update LFOSC calibration scheme for PG2.0 |
| TIDRIVERS-6990 | Add CC2744R7-Q1 device support |
| TIDRIVERS-6968 | CCFG SysConfig: Allow user to specify the symbol the vector tables |
| TIDRIVERS-6938 | Add CRC tool symbols to device-specific linker files |
| TIDRIVERS-6936 | [CC27XX] Rename VCE to APU |
| TIDRIVERS-6923 | Add internal pull to GPIOs used by button driver |
| TIDRIVERS-6917 | Add PSA Crypto API support for CC27XX AES-CTR |
| TIDRIVERS-6915 | Add PSA Crypto API support for CC27XX AES-GCM |
| TIDRIVERS-6836 | Add example project for AESCTR for CC27XX and CC23X0 |
| TIDRIVERS-6590 | AESGCM CC27XX Supports KeyStore |
| TIDRIVERS-6587 | AESCTR CC27XX Supports KeyStore |
| TIDRIVERS-6188 | Add support for instrumented exception handlers |
Fixed Issues
| ID | Summary |
|---|---|
| TIDRIVERS-7063 | Wrong RTC timeout on enterStandby when systimer wraps |
| TIDRIVERS-6983 | Correct cap-array setting for LP_EM_CC2745R10_Q1 |
| TIDRIVERS-6978 | Fix default value of SACI timeout override in CCFG |
| TIDRIVERS-6959 | Improve description of LFXT input signal |
| TIDRIVERS-6924 | AES GCM segmented tests are failing with GCC nortos |
| TIDRIVERS-6899 | AES drivers (all modes) for the CC27xx do not support non block-multiple input/output data size when using HSM |
| TIDRIVERS-6774 | CC27xx psa_verify_message and psa_verify_hash fail for BRP384 & BRP512 curves |
| TIDRIVERS-6729 | CC27xx AESCCM/AESGCM driver do not support segmented operations when using HSM |
| TIDRIVERS-6669 | Improve description for “Allow SWD Debug Port”-field in CCFG |
| TIDRIVERS-6550 | AES-CCM/GCM drivers do not support mac length of 0 for CC27xx devices using HSM |
| TIDRIVERS-6350 | Prevent device from entering standby before tracking loop filter settled |
| FREERTOS-41 | [CC27XX] Incorrect BASEPRI settings during critical section for IAR |
Core SDK 8.30.02 (Oct, 2024)
New Features
| ID | Summary |
|---|---|
| TIUTILS-135 | Add tilogger support for saving LogPackets to file and replaying from file |
| TIUTILS-112 | Add tilogger support for writing decoded Log records to stdout |
| TIPOSIX-30 | Return error when POSIX timer overflows FreeRTOS ticks |
| TIDRIVERS-6850 | Calculate user-record CRC unconditionally |
| TIDRIVERS-6671 | Add LP_EM_CC2340R53-WCSP Board |
| TIDRIVERS-6641 | Add BP-EM-CS Boosterpack |
| TIDRIVERS-6640 | Add RF Tracer as log sink |
| TIDRIVERS-6562 | Update GCC version to 12.3 |
| TIDRIVERS-6543 | Create a crystal hardware component definition |
| TIDRIVERS-6509 | Hide GPIO Configurations in SysConfig module if marked as do not configure. |
| TIDRIVERS-6388 | Add support for CCFG/SCFG CRC patching tool for CC23X0 and CC27XX |
| TIDRIVERS-6342 | Add support for 64-bit getSystemTicks API |
| TIDRIVERS-6089 | Add Entropy Health Tests to CC23x0 devices based on NIST SP800-90B |
| TIDRIVERS-6018 | Add ADCBuf support for LPF3 |
| LPRFXXWARE-955 | Add ADC driverlib APIs to support ADCBuf driver |
| FREERTOS-34 | Add ability to define priority of the FreeRTOS timer task |
Fixed Issues
| ID | Summary |
|---|---|
| TIDRIVERS-7010 | LP_EM_CC2674P10: Wrong RF antenna switch pin muxing in board metadata |
| TIDRIVERS-6904 | AES CBC encrypt in polling mode with a 16-byte input generates incorrect output with LAES |
| TIDRIVERS-6896 | AESCCMLPF3 driver does not handle AAD input correctly when using LAES |
| TIDRIVERS-6893 | The type (uint8_t) for the PWM Timer Prescaler can't hold max value of 256 |
| TIDRIVERS-6765 | ADCLPF3: GPIO configurations are not reset when closing ADC driver |
| TIDRIVERS-6735 | UART2_EVENT_TX_BEGIN called several times in one transmit |
| TIDRIVERS-6709 | CAN driver does not provide userArg to event callback |
| TIDRIVERS-6626 | Some DIOs not configured to reset-values by default |
| TIDRIVERS-6531 | SPI Driver always selects 4 wire mode unless CS pin is DIO0 |
| TIDRIVERS-6127 | Add new power constraint to disallow/pause SWTCXO |
| TIDRIVERS-6008 | I2C_close causing glitch on SDA and SCL lines |
| SYSBIOS-1613 | Hwi_construct2 returns ‘0’ as hwi handle for GCC compiler |
| FREERTOS-37 | Lowest interrupt priority is miscalculated |
Core SDK 8.20.00 (June, 2024)
New Features
| ID | Summary |
|---|---|
| TIUTILS-130 | Remove Log_event functionality |
| TIDRIVERS-6582 | Remove AON_IOC_COMB as a standby wakeup source |
| TIDRIVERS-6184 | Add Log statements to UART2 driver |
| FREERTOS-32 | Add the ability to set the FreeRTOS max task name length in SysConfig |
| FREERTOS-29 | Disable asserts by default |
| FREERTOS-28 | Add configuration for TIME_SLICING |
| FREERTOS-27 | ROV: pthread freeRTOS: Show pthread entry point function inside of ‘x’ as task name |
Fixed Issues
| ID | Summary |
|---|---|
| TIDRIVERS-6572 | UART log sink redefines the driver index if multiple UART instances at the same time |
| FREERTOS-30 | Presentation fixes in FreeRTOS Task, Queue, and Semaphore Theia ROV views |
Core SDK 8.10.03 (Oct, 2024)
New Features
| ID | Summary |
|---|---|
| None | None |
Fixed Issues
| ID | Summary |
|---|---|
| TIDRIVERS-6982 | RNG driver to default to max reseed Interval |
Core SDK 8.10.02 (Jul, 2024)
New Features
| ID | Summary |
|---|---|
| None | None |
Fixed Issues
| ID | Summary |
|---|---|
| None | None |
Core SDK 8.10.01 (May, 2024)
- Several CAN structs, struct members, and APIs were renamed to follow camel case convention and correct “prescaler” spelling. See
MCAN.handCAN.hfor details.
New Features
| ID | Summary |
|---|---|
| TIUTILS-121 | Add symbol generation for tools to GenMap |
| TIUTILS-120 | The tilogger terminal window sometimes reports an error when used with LogSinkUART |
| TIUTILS-118 | Generate linker definitions file from Component contributions |
| TIUTILS-108 | Add Log_MODULE_DEFINE_WEAK() macro to support weak Log module allocation |
| TIRTOS-2206 | Package CRC Tool With LPF3 CoreSDK |
| TIDRIVERS-6544 | Fix camel case naming and prescaler spelling for CAN driver |
| TIDRIVERS-6417 | S2RRAM example should use portable attribute((section())) for all toolchains |
| TIDRIVERS-6377 | Improve RNG driver doxygen to show the steps to use RNG with Radio Noise with example |
| TIDRIVERS-6357 | Add HFXT amplitude compensation functionality to CC23X0 and CC27XX Power driver |
| TIDRIVERS-6352 | Add support for CC2340R22 |
| TIDRIVERS-6349 | Remove include guards from ti_devices_config.c templates |
| TIDRIVERS-6339 | Update Temperature driver documentation |
| TIDRIVERS-6333 | Utilize GenMap to generate memory and NVS definitions for LPF3 devices |
| TIDRIVERS-6322 | UML diagrams are not generated correctly |
| TIDRIVERS-6275 | Add support for CC2340R53 |
| TIDRIVERS-6234 | Add DO_NOT_CONFIG macro to GPIO configuration options |
| TIDRIVERS-6183 | Add Log statements to Power driver |
| TIDRIVERS-6118 | Add support for 32-bit LGPT instances |
| TIDRIVERS-5397 | Add support for EXTLF as LFCLK source |
| FREERTOS-25 | Add Theia ROV support to display FreeRTOS objects |
| FREERTOS-13 | Remove unused Thread Local Storage slot |
Fixed Issues
| ID | Summary |
|---|---|
| TIPOSIX-34 | Mtx_releaseLock fails due to wrongly passed parameter to xSemaphoreGive |
| TIPOSIX-32 | Misra compliance: Remove the use of volatile in infinite loops |
| TIDRIVERS-6445 | ULL-SVT synchronisation issues may cause spurious ClockP callbacks |
| TIDRIVERS-6442 | LPF3 CCFG SysConfig module always zero-initializes the last 4 bytes of the user record |
| TIDRIVERS-6437 | CCFG SysConfig: Generated code for Erase/Retain, Main Sectors is wrong |
| TIDRIVERS-6381 | ClockP_stop() might corrupt other clocks if stopping a clock in the past |
| TIDRIVERS-6375 | TI Clang TaskP object is 200+ bytes larger than intended |
| TIDRIVERS-6336 | Increase RNG's minimum entropy raw noise words from 80 to 152 to add margin for CC23x0 |
| TIDRIVERS-6320 | Pregenerated FreeRTOSConfig.h not included in release |
Core SDK 7.40.02 (Dec, 2023)
- This version of the SDK contains the FreeRTOS kernel source files used by the SDK. Prior versions of the SDK required that the user download FreeRTOS separately and specify the path to the FreeRTOS kernel source files by defining
FREERTOS_INSTALL_DIRin their project or their IDE. This is no longer necessary.SDK examples used to add include paths relative to
FREERTOS_INSTALL_DIRto all FreeRTOS examples. Users importing an example from this SDK and then using that as baseline for their application do not need to worry about include paths. Users switching SDKs while keeping an existing project should update their include paths as below. Note that the variables and paths below are examples, and may vary depending on your IDE/environment and device.// Before "-I$(FREERTOS_INSTALL_DIR)/FreeRTOS/Source/include" "-I$(FREERTOS_INSTALL_DIR)/FreeRTOS/Source/portable/GCC/ARM_CM0" // After "-I$(SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR)/source/third_party/freertos/include" "-I$(SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR)/source/third_party/freertos/portable/GCC/ARM_CM0"- Using a different version of FreeRTOS is now only possibly by changing the
Add FreeRTOS Source Path Prefixsetting in SysConfig that allows for modifying the relative path to the FreeRTOS source code.
- Logging has received several quality of life updates.
- Preprocessor guards are now evaluated on a per-module basis. That means that emitting Log statements is now more granular for compilation units compiled within a project. See TIUTILS-105 for more details.
- Global Log levels in SysConfig are enabled by default but can still be disabled after the fact. Users no longer need to go enable all the global Log levels after adding a Log module in SysConfig.
- A new Log sink based on UART is now available, LogSinkUart. This sink fills an internal buffer and then asynchronously sends the Log records out over UART while the CPU is idle. It is specifically meant to support devices that do not have support for dedicated instrumentation hardware such as ITM.
New Features
| ID | Summary |
|---|---|
| TIDRIVERS-6270 | CCFG SysConfig module should explicitly set the CRC32 checksums to 0 |
| TIDRIVERS-6134 | Include FreeRTOS kernel source files in Core SDK |
| TIDRIVERS-6112 | Enable gpioshutdown example |
| TIDRIVERS-6110 | Add API for modular reduction for non-curve length input length |
| TIDRIVERS-6103 | Do not dynamically set IPEAK in active vs standby |
| TIDRIVERS-6099 | Add MessageQueueP DPL module |
| TIDRIVERS-6086 | Add support for FreeRTOS tick rates != 1ms |
| TIDRIVERS-6075 | Remove unused Power function prototypes |
| TIDRIVERS-6072 | Improve temperature measurement accuracy of Temperature driver |
| TIDRIVERS-6070 | Improve RF temperature compensation capacitor array model |
| TIDRIVERS-6029 | Add UART -> SysTimer timestamp example |
| TIDRIVERS-6017 | Remove SHA2 driver interrupt priority in SysConfig |
| TIDRIVERS-5998 | Update Power driver APIs to use uint32_t for resource IDs instead of uint_fast16_t |
| TIDRIVERS-5919 | RNG instance pool alignment should be 4-bytes instead of 32-bytes |
| TIDRIVERS-5913 | Add Power_getConstraintCount |
| TIDRIVERS-5889 | Update Random_seedAutomatic() to use a seed from RNG. |
| TIDRIVERS-5495 | Add LogSinkUART |
| TIDRIVERS-126 | Add I2CTarget driver |
| LPRFXXWARE-861 | Update tempsense diode voltage-to-temp function |
| FREERTOS-12 | Allow configuration of FreeRTOS source location |
| FREERTOS-10 | Add support for custom tickrate in FreeRTOS Sysconfig Module |
| FREERTOS-6 | FreeRTOS GCC standard library re-entrancy support causes task control block size of 340 bytes |
Fixed Issues
| ID | Summary |
|---|---|
| TIDRIVERS-6336 | Increase RNG's minimum entropy raw noise words from 80 to 152 to add margin for CC23x0 |
| TIDRIVERS-6320 | Pregenerated FreeRTOSConfig.h not included in release |
| TIDRIVERS-6267 | LP_EM_CC2340R5 spicontroller and spiperipheral examples halt in boot / enter bootloader |
| TIDRIVERS-6209 | FreeRTOS uses 3 priority bits instead of the supported 2 on CC23X0 devices |
| TIDRIVERS-6080 | systimtimestamp example uses undefined macro |
| TIDRIVERS-6067 | SysTimer (ClockP) reading after async wakeup from standby may incorrectly be 0 |
| TIDRIVERS-6065 | Some PWM files not exported into SDK |
| TIDRIVERS-6054 | Stopping a ClockP clock does not result in recomputation of the next timeout |
| TIDRIVERS-6046 | Starting HFXT when it is already running causes TRACKREFLOSS |
| TIDRIVERS-6041 | Unaligned input to AESGCM GHASH function causes memory corruption |
| TIDRIVERS-5969 | GPIO_resetConfig permanently clears IO callbacks set through SysConfig |
| LPRFXXWARE-864 | IntSetPriority does not re-enable interrupt if it was previously enabled |
Core SDK 7.20.01 (Sep, 2023)
New Features
| ID | Summary |
|---|---|
| TIDRIVERS-6110 | Add API for modular reduction for non-curve length input length |
| TIDRIVERS-6025 | Add Elliptic Curve Integrated Encryption Scheme (ECIES) driver for CC23x0 |
Fixed Issues
| ID | Summary |
|---|---|
| TIDRIVERS-6065 | Some PWM files not exported into SDK |
Core SDK 7.20.00 (Jun, 2023)
New Features
| ID | Summary |
|---|---|
| TIDRIVERS-6038 | Change default value of LGPTimerLPF3 driver param.intPhaseLate element |
| TIDRIVERS-6037 | Add support for any AES-GCM IV length on CC23x0 (only supported 12 bytes previously) |
| TIDRIVERS-6025 | Add Elliptic Curve Integrated Encryption Scheme (ECIES) driver for CC23x0 |
| TIDRIVERS-6010 | Clarify documented functionality of LGPT counter target value |
| TIDRIVERS-6007 | Add ANSI x9.63 KDF |
| TIDRIVERS-6003 | Add ECDSA public key and signature validation for CC23x0 and CC13x1/26x1 |
| TIDRIVERS-6002 | Add NIST P-224 curve support for ECDSA on CC23x0 |
| TIDRIVERS-5995 | Add PWM driver implementation |
| TIDRIVERS-5953 | Add optional temperature compensation for CLKSVT |
| TIDRIVERS-5911 | Dynamically set IPEAK in active vs standby |
| TIDRIVERS-5907 | Add PWM and capture functionality to LGPT driver |
| TIDRIVERS-5788 | Export driverlib library with GenLibs and DeviceFamily with GenOpts |
| TIDRIVERS-5421 | ECC library has compiler warning when building drivers. |
Fixed Issues
| ID | Summary |
|---|---|
| TIDRIVERS-6042 | SysConfig generates code with a typo for Debug Configuration “Require debug authentication” |
| TIDRIVERS-6040 | HFOSC tracking loop stops when exiting standby with debugger connected |
| TIDRIVERS-5843 | Remove LegacyTerminology.h backwards compatibility header |
| TIDRIVERS-5610 | SemaphoreP_pend returns prematurely on FreeRTOS |
| TIDRIVERS-5306 | Include DPL in doxygen documentation |
| SYSBIOS-1602 | Assert_isTrue macro expands incorrectly |
| LPRFXXWARE-853 | TempDiodeGetTemp inverts current interrupt-enable state |
| FREERTOS-16 | Disabling FreeRTOS SW timers causes a build error |
| FREERTOS-9 | FreeRTOS ROV does not show system stack usage on CC23X0 devices |
Core SDK 7.11.01 (Apr, 2023)
- This is the initial Core SDK supporting the LPF3 SDK.