What is new
MCUXpresso SDK version 25.03.00-pvw2 is an early adopter release provided as preview for early development.
The following changes have been implemented compared to the previous SDK release version (24.12.00).
Bluetooth LE host stack and applications
Added
PAWR support in BLE Shell sample application.
PAWR support in adv_ext_peripheral and adv_ext_central sample applications.
New sample applications for FRDM-MCXW72.
Gap_SetScanningCallback API.
Support for handover connection interval update command.
Changed
Updated HID Device for Windows 11 compatibility.
Updated CCC demos to Digital Key R4 spec version 1.0.0.
Improved RPA resolution at the Host level, now performed synchronously.
Enhanced parsing of the CS procedure in Ranging Service.
Fixed
Corrected parsing of the PAST command in FSCI GAP.
Fixed scan event reporting in PAST scenario.
Added an error case for
Gap_SetChannelMap
in the generic event handler.
Details can be found in CHANGELOG.md.
Bluetooth LE controller
Added initial experimental support for Bluetooth LE Controller feature: Periodic Advertising with Responses (PAwR)\
Minor fixes and stability improvements
Transceiver drivers (XCVR)
Added support for Bluetooth LE Channel Sounding
Added API to control PA ramp type and duration.
Connectivity framework
Minor Changes (no impact on application)
General
[General] Various MISRA/Coverity fixes in framework: NVM, RNG, LowPower, FunctionLib and platform files
Services
[SecLib_RNG] AES-CBC evolution:
added
AES_CBC_Decrypt()
API for sw, SSS and mbedtls variants.Made AES-CBC SW implementation reentrant avoiding use of static storage of AES block.
fixed SSS version to update Initialization Vector within SecLib, simplifying caller’s implementation.
modified
AES_128_CBC_Encrypt_And_Pad()
so as to avoid the constraint mandating that 16 byte headroom be available at end of input buffer.
[SecLib_RNG] RNG modifications:
RNG_GetPseudoRandomData()
could return 0 in some error cases where caller expected a negative status.Explicited RNG error codes
Added argument checks for all APIs and return
gRngBadArguments_d
(-2) when wrongadded checks of RNG initalization and return
gRngNotInitialized_d
(-3) when not donefixed correcteness of
RNG_GetPrngFunc()
andRNG_GetPrngContext()
relative to API description.Added
RNG_DeInit()
function mostly for test and coverage purposes.Improved RNG description in README.md
Unified the APIs behaviour between mbedtls and non mbedtls variants.
RNG/mbedtls : Prevent
RNG_Init()
from corrupting RNG entropy context if called more than once.RNG/mbedtls: fixed
RNG_GetTrueRandomNumber()
to return a propermbedtls_entropy_func()
result.
[SecLib_RNG] Use defragmetation option when freeing key object in SecLib_sss to avoid leak in S200 memory
[SecLib_RNG] Add new API ECP256_IsKeyValid() to check whether a public key is valid
[OtaSupport] Update return status to OTA_Flash_Success when success at the end of InternalFlash_WriteData() and InternalFlash_FlushWriteBuffer() APIs
[WorQ] Implementing a simple workqueue service to the framework
[SFC] Keep using immediate measurement for some measurement before switching to configuration trig to confirm the calibration made
[DBG] Adding modules to framework DBG :
sbtsnoop
SWO
[Common] Fix HAL_CTZ and HAL_RBIT IAR versions
[LowPower] Fix wrong tick error calculation in case of infinite timeout
Platform specific
[KW47/MCXW72] Change xtal cload default value from 4 to 8 in order to increase the precision of the link layer timebase in NBU
[wireless_mcu] [wireless_nbu] Use new WorkQ service to process framework intercore messages
Details can be found in CHANGELOG.md