Connectivity framework CHANGELOG
7.0.1 revB mcux SDK 25.03.00
Supported platforms:
KW45x, KW47x, MCXW71, MCXW72, K32W1x
RW61x
RT595, RT1060, RT1170
MCXW23
Minor Changes (bug fixes)
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
[Settings] Add new macro gSettingsRedefineApiName_c to avoid multiple definition of settings API when using connectivity framework repo
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
[rw61x] Fix HCI message sending failure in some corner case by releasing controller wakes up after that the host has send its HCI message
[MCXW23] Adding the initial support of MCXW23 into the framework
7.0.0 mcux SDK 24.12.00
Supported platforms:
KW45x, KW47x, MCXW71, MCXW72, K32W1x
RW61x
RT595, RT1060, RT1170
Minor Changes (bug fixes)
Platform specific
[RW61X]
Add MCUX_COMPONENT_middleware.wireless.framework.platform.rng to the platform to fix a warning at generation
Retrieve IEEE 64 bits address from OTP memory
[KW45x, MCXW71x, KW47x, MCXW72x]
Ignore the secure bit from RAM addresses when comparing used ram bank in bank retention mechanism
Add
gPlatformNbuDebugGpioDAccessEnabled_d
Compile Macro (enabled by default). Can be used to disable the NBU debug capability using IOs in case Trustzone is enabled (``PLATFORM_InitNbu()` code executed from unsecure world).Fix in NBU firmware when sending ICS messages gFwkSrvNbuApiRequest_c (from controller_api.h API functions)
Services
[OTA]
Add choice name to OtaSupport flash selection in Kconfig
[NVM]
Add gNvmErasePartitionWhenFlashing_c feature support to gcc toolchain
[SecLib_RNG]
Misra fixes
7.0.0 revB mcux SDK 24.12.00
Supported platforms: KW45x, KW47x, MCXW71, MCXW72, K32W1x, RW61x, RT595, RT1060, RT1170
Major Changes (User Applications may be impacted)
mcux github support with cmake/Kconfig from sdk3 user shall now use CmakeLists.txt and Kconfig files from root folder. Compilation should be done using west build command. In order to see the Framework Kconfig, use command >west build -t guiconfig
Board files and linker scripts moved to examples repository
Bugfixes
[platform lowpower]
Entering Deep down power mode will no longer call
PLATFORM_EnterPowerDown()
. This API is now called only when going to Power down mode
Platform specific
[KW47/MCXW72]: Early access release only
Deep sleep power mode not fully tested. User can experiment deep sleep and deep down modes using low power reference design applications
XTAL32K-less support using FRO32K not tested
[KW45/MCXW71/K32W148]
Deep sleep mode is supported. Power down mode is supported in low power reference design applications as experimental only
XTAL32K-less support using FRO32K is experimental - FRO32K notifications callback is debug only and should not be used for mass production firmware builds
Minor Changes (no impact on application)
Overall folder restructuring for SDK3
[Platform]:
Rename platform_family from connected_mcu/nbu to wireless_mcu/nbu
platform family have now a dedicated fwk_config.h, rpmsg_config.h and SecLib_mbedtls_config.h
[Services]
Move all framework services in a common directory “services/”
7.0.0 revA: KW45/KW47/MCX W71/MCX W72/K32W148
Experimental Features only
Power down on application power domain: Some tests have shown some failure. Power consumption higher than Deep Sleep. => This feature is not fully supported in this release
XTAL32K less board with FRO32K support: Some additional stress tests are under progress.
FRO32K notifications callback is for debug only and shall not be used for production. User shall not execute long processing (such as PRINTF) as it is executed in ISR context.
Main Changes
Cmake/Kconfig support for SDK3.0
[Sensors] API renaming:
SENSORS_InitAdc()
renamed toSENSORS_Init()
SENSORS_DeinitAdc()
remamed toSENSORS_Deinit()
[HWparams]
Repair PROD_DATA sector in case of ECC error (implies loss of previous contents of sector)
[NVM] Linker script modification for armgcc whenever gNvTableKeptInRam_d option is used:
placement of NVM_TABLE_RW in data initialized section, providing start and end address symbols. For details see NVM_Interface.h comments.
[OtaSupport]
OTA_Initialize()
: now transitions the image state from RunCandidate to Permanent if not done by the application. OTA module shall always be initialized on a Permanent image, this change ensures it is the case.OTA_MakeHeadRoomForNextBlock()
: now erases the OTA partition up to the image total size (rounded to the sector) if known.
Minor changes
[Platform]
Updated macro values: -kw47: BOARD_32MHZ_XTAL_CDAC_VALUE from 12U to 16U, BOARD_32MHZ_XTAL_ISEL_VALUE from 7U to 11U, BOARD_32KHZ_XTAL_CLOAD_DEFAULT from 8U to 4U, BOARD_32KHZ_XTAL_COARSE_ADJ_DEFAULT from 1U to 3U
MCX W72 (low-power reference design applications only): BOARD_32MHZ_XTAL_CDAC_VALUE from 12U to 10U, BOARD_32MHZ_XTAL_ISEL_VALUE from 7U to 11U, BOARD_32KHZ_XTAL_CLOAD_DEFAULT from 8U to 4U, BOARD_32KHZ_XTAL_COARSE_ADJ_DEFAULT from 1U to 3U
New
PLATFORM_RegisterNbuTemperatureRequestEventCb()
API: register a function callback when NBU request new temperature measurement. API provides the interval request for the temperature measurementUpdate
PLATFORM_IsNbuStarted()
API to return true only if the NBU firmware has been started.
[platform lowpower]
Move RAM layout values in fwk_platform_definition.h and update RAM retention API for KW47/MCXW72
Bugfixes
[OtaSupport]
OTA_MakeHeadRoomForNextBlock()
: fixed a case where the function could try to erase outside the OTA partition range.
6.2.4: KW45/K32W1x/MCXW71/RX61x SDK 2.16.100
This release does not contain the changes from 6.2.3 release.
This release contains changes from 6.2.2 release.
Main Change
armgcc support for Cmake sdk2 support and VS code integration
Minor changes
[NBU]
Optimize some critical sections on nbu firmware
[Platform]
Optimize
PLATFORM_RemoteActiveReq()
execution time.
6.2.3: KW47 EAR1.0
Initial Connectivity Framework enablement for KW47 EAR1.0 support.
New features
OpenNBU feature : nbu_ble project is available for modification and building
Supported features
Deep sleep mode
Unsuported features
Power down mode
FRO32K support (XTAL32K less boards)
Main changes
[NBU]
LPTMR2 available and TimerManager initialization with Compile Macro:
gPlatformUseLptmr_d
NBU can now have access to GPIOD
SW RNG and SW SecLib ported to NBU (Software implementation only)
[RNG]
Obsoleted API removed :
FWK_RNG_DEPRECATED_API
RNG can be built without SecLib for NBU, using
gRngUseSecLib_d
in fwk_config.hSome API updates:
RNG_IsReseedneeded()
renamed toRNG_IsReseedNeeded
,RNG_TriggerReseed()
renamed toRNG_NotifyReseedNeeded()
,RNG_SetSeed()
andRNG_SetExternalSeed()
return status code.
Optimized Linear Congruential modulus computation to reduce cycle count.
Minor changes
[NVM]
Optimize
NvIsRecordErased()
procedure for faster garbage collectionMISRA fix : Remove externs and weaks from NVM module - Make RNG and timer manager dependencies conditional
[Platform]
Allow the debugger to wakeup the KW47/MCXW72 target
6.2.2: KW45/K32W1 MR6 SDK 2.16.000
Experimental Features only:
Power down on application power domain : Some tests have shown some failure. Power consumption higher than Deep Sleep. => This feature is not fully supported in this release
XTAL32K less board with FRO32K support : Some additional stress tests are under progress.
FRO32K notifications callback is for debug only and shall not be used for production. User shall not execute long processing (such as PRINTF) as it is executed in ISR context.
Changes
[Board] Support for freedom board FRDM-MCX W7X
[HWparams]
Support for location of HWParameters and Application Factory Data IFR in IFR1
Default is still to use HWparams in Flash to keep backward compatibility
[RNG]: API updates:
New APIS RNG_IsReseedneeded(), RNG_SetSeed() to provide See to PRNG on NBU/App core - See BluetoothLEHost_ProcessIdleTask() in app_conn.c
New APIs RNG_SetExternalSeed() : User can provide external seed. Typically used on NBU firmrware for App core to set a seed to RNG. RNG_TriggerReseed() : Not required on App core. Used on NBU only.
[NVS] Wear statistics counters added - Fix nvs_file_stat() function
[NVM] fix Nv_Shutdown() API
[SecLib] New feature AES MMO supported for Zigbee
6.2.2: RW61x RFP4 SDK 2.16.000
[Platform] Support Zigbee stack
[OTA] Add support for RW61x OTA with remap feature.
Required modifications to prevent direct access to flash logical addresses when remap is active.
Image trailers expected at different offset with remap enabled (see gPlatformMcuBootUseRemap_d in fwk_config.h)
fixed image state assessment procedure when in RunCandidate.
[NVS] Wear statistics counters added
[SecLib] New feature AES MMO supported for Zigbee
[Misra] various fixes
6.2.1: KW45/K32W1 MR5 SDK 2.15.000
Experimental Features only:
Power down on application power domain : Some tests have shown some failure. This feature is not fully supported in this release
XTAL32K less board with FRO32K support : Some additional stress tests are under progress. Timing variation of the timebase are being analyzed
Major changes
[RNG]: API updates
New compile flag to keep deprecated API: FWK_RNG_DEPRECATED_API
change return error code to int type for RNG_Init(), RNG_ReInit()
New APIs RNG_GetTrueRandomNumber(), RNG_GetPseudoRandomData()
[Platform]
fwk_platform_sensors
Change default temperature value from -1 to 999999 when unknown
fwk_platform_genfsk
rename from platform_genfsk.c/h to fwk_platform_genfsk.c/h
platform family
Rename the framework platform folder from kw45_k32w1 to connected_mcu to support other platform from the same family
fwk_platform_intflash
Moved from fwk_platform files to the new fwk_platform_intflash files the internal flash dependant API
[NBU]
BOARD_LL_32MHz_WAKEUP_ADVANCE_HSLOT changed from 2 to 3 by default
BOARD_RADIO_DOMAIN_WAKE_UP_DELAY changed from 0x10 to 0x0F
[gcc linker]
Exclude k32w1_nbu_ble_15_4_dyn.bin from .data section
Minor Changes
[Platform]
PLATFORM_GetTimeStamp(0 has an important fix for reading the Timestamp in TSTMR0
New API PLATFORM_TerminateCrypto(), PLATFORM_ResetCrypto() called from SecLib for lowpower exit
Fix when enable fro debug callback on nbu
[DBG]
SWO
Add new files fwk_debug_swo.c/h to use SWO for debug purpose
Two new flags has been added:
BOARD_DBG_SWO_CORE_FUNNEL to chose on which core you want to use SWO
BOARD_DBG_SWO_PIN_ENABLE to enable SWO on a pin
[NVS]
Add support of NVS and Settings in framework
[NBU]
Fix power down issues and reduce critical section on NBU side:
new API PLATFORM_RemoteActiveReqWithoutDelay() called from NBU functions where waiting delay is not required
Increase delay needed in power down for OEM part to request the SOC to be active
Remove unnecessary code to PLATFORM_RemoteActiveReqWithoutDelay() from PLATFORM_HciRpmsgRxCallback()
Improve nbu memory allocation failure debug messages
[SDK]
Multicore: remove critical section in HAL_RpmsgSendTimeout() (only required in FPGA HDI mode)
Flash drivers: update for ECC detection
[Platform]
fwk_platform_sensors
Fix temperature reporting to NBU
fwk_platform_extflash
Align .c and .h prototype of PLATFORM_ExternalFlashAreaIsBlank() function
[NVM]
Keep Mutex in NvModuleDeInit(). In Bare metal OS, Mutex can not be destroyed
New API NvRegisterEccFaultNotificationCb() to register Notification callback when Ecc error happens in FileSystem
[MISRA] fixes
SecLib_sss.c: ECDH_P256_ComputeDhKey()
fwk_platform_extflash.c: PLATFORM_IsExternalFlashPageBlank()
fwk_fs_abstraction.c: Various fixes
[HWparams]
Fix on if condition when gHwParamsProdDataPlacementLegacy2IfrMode_c mode is selected
[OTA]
Enable gOtaCheckEccFaults_d by default to avoid bus in case of ECC error during OTA
Fix OTA partition overflow during OTA stop and resume transfer
[BOARD]
Place code button or led specific under correct defines in board_comp.c/h
Bring back MACROs BOARD_INITRFSWITCHCONTROLPINS in pin_mux header file of the loc board
[SecLib]
Add some undefinition in SecLib_mbedtls_config as new dependency has been added in mbedtls repo:
MBEDTLS_SSL_CBC_RECORD_SPLITTING, MBEDTLS_SSL_PROTO_TLS1, MBEDTLS_SSL_PROTO_TLS1_1
[FRO32K]
FRO32K notification callback PLATFORM_FroDebugCallback_t() has new parameter to report he fro_trim value
maxCalibrationIntervalMs value can be provided to NBU using PLATFORM_FwkSrvSetRfSfcConfig()
[Sensors]
fix: PLATFORM_GetTemperatureValue() shall have NBU started to send temperature to NBU
6.2.1: RW61x RFP3
[NVS]
Add support of NVS and Settings in framework
[MISRA] fixes
board_lp.c BOARD_UninitDebugConsole() and BOARD_ReinitDebugConsole()
fwk_platform_ble.c: Various fixes
[OTA]
Fix OTA partition overflow during OTA stop and resume transfer
6.2.0: RT1060/RT1170 SDK2.15 Major
6.1.8: KW45/K32W1 MR4
[BOARD PLATFORM]
Move gBoardUseFro32k_d to board_platform.h file
Offer the possibility to change the source clock accuracy to gain in power consumption
[BOARD LP]
Move PLATFORM_SetRamBanksRetained() at end of BOARD_EnterLowPowerCb() in case a memory allocation is done previously in this function
fix low power, increase BOARD_RADIO_DOMAIN_WAKE_UP_DELAY from 0 to 0x10 - Skip this delay when App requesting NBU wakeup
[PLATFORM]
fwk_platform_ble.c/h: New timestamp API that returns the difference between the current value of the LL clock and the argument of the function
fwk_platform.c/h:
New PLATFORM_EnableEccFaultsAPI_d compile flag: Enable APIs for interception of ECC Fault in bus fault handler
New gInterceptEccBusFaults_d compile flag: Provide FaultRecovery() demo code for bus fault handler to Intercept bus fault from Flash Ecc error
[LOC]
Incorrect behavior for set_dtest_page (DqTEST11 overridden)
Fix SW1 button wake able on Localization board
Fix yellow led not properly initialized
Format localization pin_mux.c/h files
[Inter Core]
Affect values to enumeration giving the inter core service message ids
Shared memory settings shared between both cores
Add callback to register when NBU has unrecoverable Radio issue
[NVM]
Add NV_STORAGE_MAX_SECTORS, NV_STORAGE_SIZE as linker symbol for alignment with other toolchain
ECC detection and recovery. New gNvSalvageFromEccFault_d and gNvVerifyReadBackAfterProgram_d compile flags. Please refer to ECC Fault detection section in README.md file located in NVM folder
[OTA]
Prevent bus fault in case of ECC error when reading back OTA_CFR update status (disable by default)
[SecLib]
Shared mutex for RNG and SecLib as they share same hardware resource
[Key storage]
Fix to ignore the garbage at the end of buffers
Detect when buffers are too small in KS_AddKey() functions
[FileCache]
Fix deadlock in Filecache FC_Process()
[SDK]
Applications: remove definition of stack location and use default from linker script, fix warmboot stack in freertos at 0x20004000
Memory Manager Light:
fix Null pointer harfault when MEM_STATISTICS_INTERNAL enable
Fix MemReinitBank() on wakeup from lowpower when Ecc banks are turned off
6.1.7: KW45/K32W1 MR3
[OTA]
New API OTA_SetNewImageFlagWithOffset()
Fix StorageBitmapSize calculation
OTA clean up: Removed OTA_ValidateImage()
[Low Power]
New linker Symbol m_lowpower_flag_start in linker file.
Flag is used to indicate NBU that Application domain goes to power down mode. Keep this flag to 0 if only Deep sleep is supported
This flag will be set to 1 if Application domain goes to power down mode
Re-introduce PWR_AllowDeviceToSleep()/PWR_DisallowDeviceToSleep(), PWR_IsDeviceAllowedToSleep() API
Implement tick compensation mechanism for idle hook in a dedicated freertos utils file fwk_freertos_utils.[ch], new functions: FWK_PreIdleHookTickCompensation() and FWK_PostIdleHookTickCompensation
Rework timestamping on K4W1
PLATFORM_GetMaxTimeStamp() based on TSTMR
Rename PLATFORM_GetTimestamp() to PLATFORM_GetTimeStamp()
Update PLATFORM_Delay(): Rework to use TSTMR instead of LPTMR for platform_delay
Update PLATFORM_WaitTimeout(): Fixed a bug in PLATFORM_WaitTimeout() related to timer wrap
Add PLATFORM_IsTimeoutExpired() API
Fix race condition in PWR_EnterLowPower(), masking interrupts in case not done at upper layer
Low power timer split in new files fwk_platform_lowpower_timer.[ch]
New PWR_systicks_bm.c file for bare metal usage: implement SysTick suspend/resume functionality, New weak PWR_SysTicksLowPowerInit()
[FRO32K]
Improve FRO32K calibration in NBU
create PLATFORM_InitFro32K() to initialize FRO32K instead of XTAL32K (to be called from hardware_init())
update FRO32K README.md file in SFC module
Debug:
Add Notification callback feature for SFC module FRO32K
Linker script update to support m_sfc_log_start in SMU2
[SecLib]
Remove gSecLibSssUseEncryptedKeys_d compile option, split Secure/Unsecure APIs
RNG update to use same mutex than SecLib
Fix AES_128_CBC_Encrypt_And_Pad length
Implement RNG_ReInit() for lowpower
Fix issue in ECDH_P256_GenerateKeys() when waking up from power down
Call CRYPTO_ELEMU_reset() from SecLib_reInit() for power down support
[BOARD]
Create new board_platform.h file for all Board characteristics settings (32Mhz XTAL, 32KHZ XTAL, etc..)
TM_EnterLowpower() TM_EnterLowpower() to be called from LP callbacks
Support Localization boards, Only BUTTON0 supported
New compile flag BOARD_LOCALIZATION_REVISION_SUPPORT
New pin_mux.[ch] files
Offer the possibility to override CDAC and ISEL 32MHz settings before the initialization of the crystal in board_platform.h
new BOARD_32MHZ_XTAL_CDAC_VALUE, BOARD_32MHZ_XTAL_ISEL_VALUE
BOARD_32MHZ_XTAL_TRIM_DEFAULT obsoleted
[NVM file system]
Look ahead in pending save queue - Avoid consuming space to save outdated record
Fix NVM gNvDualImageSupport feature in NvIsRecordCopied
[Inter Core]
Change PLATFORM_NbuApiReq() API return parameters granularity from uint32 to uint8
MAX_VARIANT_SZ change from 20 to 25
Set lp wakeup delay to 0 to reduce time of execution on host side, NBU waits XTAL to be ready before starting execution
Update inter core config rpmsg_config.h
Add timeout to while loops that relies on hardware in RemoteActiveReq(), Application can register Callbacks when timeout
Return non-0 status when calling PLATFORM_FwkSrvSendPacket when NBU non started
Let PLATFORM_GetNbuInfo return -10 if response not received on timeout - Doxygen platform_ics APIs
[HW params]
New compile Macro for HW params placement in IFR - Save 8K in FLash: gHwParamsProdDataPlacement_c . 3 modes:
Legacy placement, move from legacy to IFR, IFR only placement
New compile Macro for Application data to be stored with HW params (in shared flash sector): gHwParamsAppFactoryDataExtension_d, New APIs:
Nv_WriteAppFactoryData(), Nv_GetAppFactoryData()
See HWParameter.h
[Platform]
Implement PLATFORM_GetIeee802_15_4Addr() API in fwk_platform_ot.c - New gPlatformUseUniqueDeviceIdFor15_4Addr_d compile Macro
Wakeup NBU domain when reading RADIO_CTRL UID_LSB register in PLATFORM_GenerateNewBDAddr()
[Reset]
New reset Implementations using Deep power down mode or LVD:
new files fwk_platform_reset.[ch]
new APIs: PLATFORM_ForceDeepPowerDownReset(), PLATFORM_ForceLvdReset() + reset on ext pins
new compile flags: gAppForceDeepPowerDownResetOnResetPinDet_d and gAppForceLvdResetOnResetPinDet_d to reset on external pins
[FSCI]
fix when gFsciRxAck_c enabled
integrate new reset APIs
6.1.4: RW610/RW612 RFP1
[Low Power]
Added support of low power for OpenThread stack.
Added PWR_AllowDeviceToSleep/PWR_DisallowDeviceToSleep/PWR_IsDeviceAllowedToSleep APIs.
[platform]
Added PLATFORM_GetMaxTimeStamp API.
Fixed high impact Coverity.
[FreeRTOS]
Created a new utilities module for FreeRTOS: fwk_freertos_utils.c/h.
Implemented a tick compensation mechanism to be used in FreeRTOS idle hook, likely around flash operations. This mechanism aims to estimate the number of ticks missed by FreeRTOS in case the interrupts are masked for a long time.
6.1.4: KW45/K32W1 MR2
[Low power]
Powerdown mode tested and enabled on Low Power Reference Design applications
XTAL32K removal functionality using FRO32K, supported from NBU firmwares - limitation: Application domain supports Deep Sleep only (not power down)
NBU low power improvement: low power entry sequence improvement and system clock reduction to 16Mhz during WFI
Wake up time from cold boot, reset, power switch greatly improved. Device starts on FRO32K, switch to XTAL32K when ready if gBoardUseFro32k_d not set
Bug fixes:
Move PWR LowPower callback to PLATFORM layers
Fix wrong compensation of SysTicks
Reinit system clocks when exiting power down mode: BOARD_ExitPowerDownCb(), restore 96MHz clock is set before going to low power
Call Timermanager lowpower entry exit callbacks from PLATFORM_EnterLowPower()
Update PLATFORM_ShutdownRadio() function to force NBU for Deep power down mode
K32W1:
Support lowpower mode for 15.4 stacks
[NVM]
New Compilation MACRO gNvDualImageSupport to support multiple firmware image with different register dataset
Change default configuration gNvStorageIncluded_d to 1, gNvFragmentation_Enabled_d to 1, gUnmirroredFeatureSet_d to TRUE
Some MISRA issues for this new configuration.
Remove deprecated functionality gNvUseFlexNVM_d
[SecLib]
New NXP Ultrafast ecp256 security library:
New optimized API for ecdh DhKey/ecp256 key pair computation: Ecdh_ComputeDhKeyUltraFast(), ECP256_GenerateKeyPairUltraFast().
New macro gSecLibUseDspExtension_d.
Improved software version of Seclib with Ultrafast library for ECP256_LePointValid()
Bug fixes:
Share same mutex between Seclib and RNG to prevent concurrent access to S200
Optimized S200 re-initialization, restore ecdh key pair after power down
Fixed race condition when power down low power entry is aborted
Endianness function updates and clean up
[OTA]
OTASupport improvements:
New API OTA_GetImgState(), OTA_UpdateImgState()
OTASupport and fwk_platform_extflash API updates for external flash: OTA_SelectExternalStoragePartition(), PLATFORM_IsExternalFlashSectorBlank(), PLATFORM_IsExternalFlashPageBlank(), PLATFORM_OtaGetOtaPartitionConfig()
Updated OtaExternalFlash.c, 2 new APIs in fwk_platform_extflash.c
Removed unused FLASH_op_type and FLASH_TransactionOpNode_t definitions from public API
Removed unused InternalFlash_EraseBlock() from OtaInternalFlash.c
[NBU firmware]
Mechanism to set frequency constraint to controller from the host PLATFORM_SetNbuConstraintFrequency()
NbuInfo has one more digit in versionBuildNo field
[Board]
Support Extflash low power mode, add BOARD_UninitExternalFlash(), PLATFORM_UninitExternalFlash(), PLATFORM_ReinitExternalFlash()
Support XTAL32K removal functionatity, use FRO32K instead by setting gBoardUseFro32k_d to 1 in board.h file
Support localization boards KW45B41Z-LOC Rev C
Low power improvement: New BOARD_InitPins() and BOARD_InitPinButtonBootConfig() called from hardware_init.c
Removed KW45_A0_SUPPORT support (dcdc)
Bug fixes:
Fixed glitches on the serial manager RX when exiting from power down
Fixed ADC not deinitialized in clock gated modes in BOARD_EnterLowPowerCb()
Fixed UART output flush when going to low power: BOARD_UninitAppConsole()
[platform]
PLATFORM_InitBle(), PLATFORM_SendHci() can now block with timeout if NBU does not answer. Application can register callback function to be notified when it occurs: PLATFORM_RegisterBleErrorCallback()
Added API to set and get 32Khz XTAL capacitance values: PLATFORM_GetOscCap32KValue() and PLATFORM_SetOscCap32KValue()
Added new Service FWK call gFwkSrvNbuMemFullIndication_c to get NBU mem full indication, register with PLATFORM_RegisterNbuMemErrorCallback()
Added support negative value in platform intercore service
[linker script]
Realigned gcc linker script with IAR linker script.
Added possibility to redefine cstack_start position
Added Possibility to change gNvmSectors in gcc linker script
Added dedicated reserved Section in shared memory for LL debugging
[FreeRTOSConfig.h]
Removed unused MACRO configFRTOS_MEMORY_SCHEME and configTOTAL_HEAP_SIZE
[HW Param]
Added xtalCap32K field to store XTAL32K triming value
[fwk_hal_macros.h]
Added MACRO for KB, MB and set, clear bits in bit fields
[Debug]
Added MACROs for performance measurement using DWT: DBG_PERF_MEAS
6.1.3 KW45 MR1 QP1
[Initialization] Delay the switch to XTAL32K source clock until the BLE host stack is initialized
[lowpower] NBU wakeup from lowpower: configuration can now be programmed with BOARD_NBU_WAKEUP_DELAY_LPO_CYCLE, BOARD_RADIO_DOMAIN_WAKE_UP_DELAY in board.h file
[NBU firmware] Major fix for NBU system clock accuracy
[clock_config]
Update SRAM margin and flash config when switching system frequency
Trim FIRC in HSRUN case
[XTAL 32K trim] XTAL 32K configuration can be tuned in board.h file with BOARD_32MHZ_XTAL_TRIM_DEFAULT, BOARD_32KHZ_XTAL_CLOAD_DEFAULT, BOARD_32KHZ_XTAL_COARSE_ADJ_DEFAULT
[MAC address] Add OUI field in PLATFORM_GenerateNewBDAddr() when using Unique Device Id
6.1.2: RW610/RW612 PRC1
[Low Power]
Updates after SDK Power Manager files renaming.
Moved PWR LowPower callback to PLATFORM layers.
Bug fixes:
Fixed wrong compensation of SysTicks during tickless idle.
Reinit RTC bus clock after exit from PM3 (power down).
[OTA]
Initial support for OTA using the external flash.
[platform]
Implemented platform specific time stamp APIs over OSTIMER.
Implemented platform specific APIs for OTA and external flash support.
Removed PLATFORM_GetLowpowerMode API.
Added support of CPU2 wake up over Spinel for OpenThread stack.
Bug fixes:
Fixed issues related to handling CPU2 power state.
[board]
Updated flash_config to support 64MB range.
[linker script]
Fixed wrong assert.
6.1.1: KW45/K32W1 MR1
[platform] Use new FLib_MemSet32Aligned() to write in ECC RAM bank to force ECC calculation in the MEM_ReinitRamBank() function
[FunctionLib] Implement new API to set a word aligned
[platform] Set coarse amplifier gain of the oscilattor 32k to 3
[platform] Switch back to RNG for MAC Adress generation
[SecLib] Get rid of the lowpower constraint of deep sleep in ECDH API
[DCDC] Set DCDC output voltage to 1.35V in case LDO core is set to 1.1V to ensure a drop of 250mV between them
[NVM] NvIdle() is now returning the number of operations that has been executed
[documentation] Add markdown of each framework module by default on all package
[LowPower] Add a delay advised by hardware team on exit of lowpower for SPC
[SecLib] Rework of SecLib_mbedTLS ECDH functions
[OTA] Make OTA_IsTransactionPending() public API
[FunctionLib] Change prototype of FLib_MemCpyWord(), pDst is now a void* to permit more flexibility
[NVM] Add an API to know if there is a pending operation in the queue
[FSCI] Fix wrong error case handling in FSCI_Monitor()
6.1.0: KW45/K32W1 RFP
[LowPower] Do not call PLATFORM_StopWakeUpTimer() in PWR_EnterLowPower() if PLATFORM_StartWakeUpTimer() was not previously called
[boards] Add the possibility to wakeup on UART 0 even if it is not the default UART
[boards] Add support for Hardware flow control for UART0, Enable with gBoardUseUart0HwFlowControl, Pin mux update with two additional API for RTS, CTS pins
[Sensors] Improve ADC wakeup time from deep sleep state: use save and restore API for ADC context before/after deep sleep state.
[linker script] update SMU2 shared memory region layout with NBU: increase sqram_btblebuf_size to support 24 connections. Shared memory region moved to the end
[SecLib] SecLib_DeriveBluetoothSKD() API update to support if EdgeLock key shall be regenerated