Zephyr 3.5.0 (Working Draft)
We are pleased to announce the release of Zephyr version 3.5.0.
Major enhancements with this release include:
The following sections provide detailed lists of changes by component.
Kernel
Architectures
ARM
ARM
ARM64
RISC-V
Xtensa
Bluetooth
Audio
Direction Finding
Host
Mesh
Controller
HCI Driver
Boards & SoC Support
Added support for these SoC series:
Nuvoton NuMaker M46x series
Removed support for these SoC series:
Made these changes in other SoC series:
i.MX RT SOCs no longer enable CONFIG_DEVICE_CONFIGURATION_DATA by default. boards using external SDRAM should set CONFIG_DEVICE_CONFIGURATION_DATA and CONFIG_NXP_IMX_EXTERNAL_SDRAM to enabled.
i.MX RT SOCs no longer support CONFIG_OCRAM_NOCACHE, as this functionality can be achieved using devicetree memory regions
Added support for these ARC boards:
Added support for these ARM boards:
Nuvoton NuMaker Platform M467
Added support for these ARM64 boards:
Added support for these RISC-V boards:
Added support for these X86 boards:
Added support for these Xtensa boards:
Made these changes for ARC boards:
Made these changes for ARM boards:
Made these changes for ARM64 boards:
Made these changes for RISC-V boards:
Made these changes for X86 boards:
Made these changes for Xtensa boards:
Removed support for these ARC boards:
Removed support for these ARM boards:
Removed support for these ARM64 boards:
Removed support for these RISC-V boards:
Removed support for these X86 boards:
Removed support for these Xtensa boards:
Made these changes in other boards:
Added support for these following shields:
Build system and infrastructure
SCA (Static Code Analysis)
Added support for CodeChecker
Drivers and Sensors
ADC
Battery-backed RAM
CAN
Clock control
Added support for Nuvoton NuMaker M46x
Counter
Crypto
DAC
DFU
Disk
Display
DMA
EEPROM
Entropy
ESPI
Ethernet
Added
CONFIG_ETH_NATIVE_POSIX_RX_TIMEOUT
to set rx timeout for native posix.
Flash
Introduce npcx flash driver that supports two or more spi nor flashes via a single Flash Interface Unit (FIU) module and Direct Read Access (DRA) mode for better performance.
Added support for Nuvoton NuMaker M46x embedded flash
FPGA
Fuel Gauge
GPIO
Added support for Nuvoton NuMaker M46x
hwinfo
I2C
I2S
I3C
IEEE 802.15.4
Interrupt Controller
GIC: Architecture version selection is now based on the device tree
IPM
KSCAN
LED
MBOX
MEMC
PCIE
PECI
Pin control
Added support for Nuvoton NuMaker M46x
PWM
Power domain
Regulators
Reset
Added support for Nuvoton NuMaker M46x
SDHC
Sensor
Serial
Added support for Nuvoton NuMaker M46x
SPI
Remove npcx spi driver implemented by Flash Interface Unit (FIU) module.
Timer
The TI CC13xx/26xx system clock timer compatible was changed from
ti,cc13xx-cc26xx-rtc
toti,cc13xx-cc26xx-rtc-timer
and the corresponding Kconfig option fromCC13X2_CC26X2_RTC_TIMER
toCC13XX_CC26XX_RTC_TIMER
for improved consistency and extensibility. No action is required unless the internal timer was modified.
USB
W1
Watchdog
WiFi
Networking
Time and timestamps in the network subsystem, PTP and IEEE 802.15.4 were more precisely specified and all in-tree call sites updated accordingly. Fields for timed TX and TX/RX timestamps have been consolidated. See
net_time_t
,net_ptp_time
,ieee802154_config
,ieee802154_radio_api
andnet_pkt
for extensive documentation. As this is largely an internal API, existing applications will most probably continue to work unchanged.CoAP:
Use 64 bit timer values for calculating transmission timeouts. This fixes potential problems for devices that stay on for more than 49 days when the 32 bit uptime counter might roll over and cause CoAP packets to not timeout at all on this event.
LwM2M:
Added support for tickless mode. This removes the 500 ms timeout from the socket loop so the engine does not constantly wake up the CPU. This can be enabled by
CONFIG_LWM2M_TICKLESS
.Added new
LWM2M_RD_CLIENT_EVENT_DEREGISTER
event.
Wi-Fi * Added Passive scan support. * The Wi-Fi scan API updated with Wi-Fi scan parameter to allow scan mode selection.
USB
Devicetree
zephyr,memory-region-mpu
was renamedzephyr,memory-attr
The following macros were added:
DT_FOREACH_NODE_VARGS
,DT_FOREACH_STATUS_OKAY_NODE_VARGS
DT_MEMORY_ATTR_FOREACH_NODE
DT_MEMORY_ATTR_APPLY
DT_MEM_FROM_FIXED_PARTITION
DT_FIXED_PARTITION_ADDR
Libraries / Subsystems
Management
Introduced MCUmgr client support with handlers for img_mgmt and os_mgmt.
Added response checking to MCUmgr’s
MGMT_EVT_OP_CMD_RECV
notification callback to allow applications to reject MCUmgr commands.MCUmgr SMP version 2 error translation (to legacy MCUmgr error code) is now supported in function handlers by setting
mg_translate_error
ofmgmt_group
when registering a transport. Seesmp_translate_error_fn
for function details.Fixed an issue with MCUmgr img_mgmt group whereby the size of the upload in the initial packet was not checked.
Fixed an issue with MCUmgr fs_mgmt group whereby some status codes were not checked properly, this meant that the error returned might not be the correct error, but would only occur in situations where an error was already present.
Fixed an issue whereby the SMP response function did not check to see if the initial zcbor map was created successfully.
Fixes an issue with MCUmgr shell_mgmt group whereby the length of a received command was not properly checked.
Added optional mutex locking support to MCUmgr img_mgmt group, which can be enabled with
CONFIG_MCUMGR_GRP_IMG_MUTEX
.Added MCUmgr settings management group, which allows for manipulation of zephyr settings from a remote device, see Settings (Config) Management Group for details.
Added
CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_SECONDARY
andCONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_ANY
that allow to control whether MCUmgr client will be allowed to confirm non-active images.Added
CONFIG_MCUMGR_GRP_IMG_ALLOW_ERASE_PENDING
that allows to erase slots pending for next boot, that are not revert slots.
File systems
Added support for ext2 file system.
Added support of mounting littlefs on the block device from the shell/fs.
Added alignment parameter to FS_LITTLEFS_DECLARE_CUSTOM_CONFIG macro, it can speed up read/write operation for SDMMC devices in case when we align buffers on CONFIG_SDHC_BUFFER_ALIGNMENT, because we can avoid extra copy of data from card bffer to read/prog buffer.
HALs
Nuvoton
Added Nuvoton NuMaker M46x
MCUboot
Added
CONFIG_MCUBOOT_BOOTLOADER_NO_DOWNGRADE
that allows to inform application that the on-board MCUboot has been configured with downgrade prevention enabled. This option is automatically selected for DirectXIP mode and is available for both swap modes.Added
CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY
that allows to inform application that the on-board MCUboot will overwrite the primary slot with secondary slot contents, without saving the original image in primary slot.
Storage
Trusted Firmware-M
Trusted Firmware-A
Updated to TF-A 2.9.0.
zcbor
Documentation
Tests and Samples
Created common sample for file systems (fs_sample). It originates from sample for FAT (fat_fs) and supports both FAT and ext2 file systems.