Migration guide to Zephyr v3.5.0 (Working Draft)
This document describes the changes required or recommended when migrating your application from Zephyr v3.4.0 to Zephyr v3.5.0.
Required changes
The kernel
k_mem_slab_free()
function has changed its signature, now taking avoid *mem
pointer instead of avoid **mem
double-pointer. The new signature will not immediately trigger a compiler error or warning, instead likely causing a invalid memory access at runtime. A new_ASSERT
statement, that you can enable withCONFIG_ASSERT
, will detect if you pass the function memory not belonging to the memory blocks in the slab.The
CONFIG_BOOTLOADER_SRAM_SIZE
default value is now0
(was16
). Bootloaders that use a part of the SRAM should set this value to an appropriate size. GitHub #60371The Kconfig option
CONFIG_GPIO_NCT38XX_INTERRUPT
has been renamed toCONFIG_GPIO_NCT38XX_ALERT
.MCUmgr SMP version 2 error codes entry has changed due to a collision with an existing response in shell_mgmt. Previously, these errors had the entry
ret
but now have the entryerr
.smp_add_cmd_ret()
is now deprecated andsmp_add_cmd_err()
should be used instead,MGMT_CB_ERROR_RET
is now deprecated andMGMT_CB_ERROR_ERR
should be used instead. SMP version 2 error code defines for in-tree modules have been updated to replace the*_RET_RC_*
parts with*_ERR_*
.
Recommended Changes
Setting the GIC architecture version by selecting
CONFIG_GIC_V1
,CONFIG_GIC_V2
andCONFIG_GIC_V3
directly in Kconfig has been deprecated. The GIC version should now be specified by adding the appropriate compatible, for examplearm,gic-v2
, to the GIC node in the device tree.Nordic nRF based boards using
CONFIG_NFCT_PINS_AS_GPIOS
to configure NFCT pins as GPIOs, should instead set the new UICRnfct-pins-as-gpios
property in devicetree. It can be set like this in the board devicetree files:&uicr { nfct-pins-as-gpios; };
Nordic nRF based boards using
CONFIG_GPIO_AS_PINRESET
to configure reset GPIO as nRESET, should instead set the new UICRgpio-as-nreset
property in devicetree. It can be set like this in the board devicetree files:&uicr { gpio-as-nreset; };