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 to SENSORS_Init()

    • SENSORS_DeinitAdc() remamed to SENSORS_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 measurement

    • Update 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.h

    • Some API updates:

      • RNG_IsReseedneeded() renamed to RNG_IsReseedNeeded,

      • RNG_TriggerReseed() renamed to RNG_NotifyReseedNeeded(),

      • RNG_SetSeed() and RNG_SetExternalSeed() return status code.

    • Optimized Linear Congruential modulus computation to reduce cycle count.

Minor changes:

  • [NVM]

    • Optimize NvIsRecordErased() procedure for faster garbage collection

    • MISRA 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

6.0.11: KW45/K32W1 PRC3.1