SimpleLink Low Power F3 Core SDK 7.40.02.00 Release Notes
Table of Contents
Introduction
This is a GA release of the Core SDK 7.40.02.00 for Low Power F3 devices.
Documentation
Open the Documentation Overview file in the docs/ folder for a full list of documentation.
What’s New
- 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_DIR
in their project or their IDE. This is no longer necessary.SDK examples used to add include paths relative to
FREERTOS_INSTALL_DIR
to 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 Prefix
setting 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.
- A summary of changes made in the current release of this product can be found in the product Change Log.
Upgrade and Compatibility Information
CryptoKey_markAsBlank()
was renamed toCryptoKeyPlaintext_markAsBlank()
and moved fromCryptoKey.h
toCryptoKeyPlaintext.h
to distinguish the key type.
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 12.3.0
- GNU Code Generation Tools
- ARM GCC 9.2019.q4.major-0
- IAR Code Generation Tools
- ARM 9.40.2
- TI Clang Code Generation Tools
- ARM ti-cgt-armllvm_3.2.0.LTS-0
- FreeRTOS 10.5.1-1
- SysConfig 1.10.0
- XDCTools 3.62.01.15
- Python 3.8.10
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-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 |
Known Issues
ID | Summary |
---|---|
None | None |
ID | Summary |
---|---|
TIPOSIX-4 | clock_nanosleep() with CLOCK_REALTIME broken on msp432 |
FREERTOS-8 | Tasks view in ROV for FreeRTOS does not show if a task is blocked on a semaphore or mutex |
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 b is an unrestricted set of digits used as an incrementing build counter.
Prior Release Changes
A summary of changes made in previous releases of this product can be found in the product Change Log.