The latest development version of this page may be more current than this released 4.0.0 version.

Zephyr Kernel 1.11.0

We are pleased to announce the release of Zephyr kernel version 1.11.0.

Major enhancements with this release include:

  • Thread-level memory protection on x86, ARC and Arm, userspace and memory domains

  • Symmetric Multi Processing (SMP) support on the Xtensa architecture.

  • Initial Armv8-M architecture support.

  • Native development environment on Microsoft Windows.

  • Native build target on POSIX platforms.

  • POSIX PSE52 partial support.

  • Thread support via integration with OpenThread.

  • Firmware over-the-air (FOTA) updates over BLE using MCUmgr.

  • Lightweight flash storage layer for constrained devices.

  • Additional SoC, platform and driver support for many of the already supported platforms.

The following sections provide detailed lists of changes by component.

Kernel

  • Initial Symmetric Multi Processing (SMP) support added:

    • SMP-aware scheduler

    • SMP timer and idling support

    • Available on the Xtensa architecture

  • POSIX PSE52 support:

    • Timer, clock, scheduler and pthread APIs

Architectures

  • User space and system call related changes:

    • Added ARC user space implementation

    • Added Arm user space implementation

    • Fixed a few MPU related issues with stack guards

  • Armv8-M initial architecture support, including the following cores:

    • Arm Cortex-M23

    • Arm Cortex-M33

  • New POSIX architecture for native GNU/Linux and macOS build targets:

    • Targets native executables that can be run on the host operating system

Boards

  • New native_posix board for the POSIX architecture:

    • Includes a template for hardware models

    • Adds support for console and logging

    • Interrupts and timers are simulated in several different configurations

  • Added support for the following Arm boards:

    • adafruit_trinket_m0

    • arduino_zero

    • lpcxpresso54114

    • nrf52_sparkfun

    • nucleo_f429zi

    • stm32f072_eval

    • stm32f072b_disco

  • Removed Panther board support, which included boards/x86/panther and boards/arc/panther_ss

  • Refactored dts.fixup so common SoC-related fixes are in arch/<*>/soc and board dts.fixup is only used for board-specific items.

Drivers and Sensors

  • New LED PWM driver for ESP32 SoC

  • Fixed ESP32 I2C driver

  • Added I2C master, QSPI flash, and GPIO drivers for nios-II

  • Added PinMux, GPIO, serial drivers for LPC54114

  • Added PinMux, GPIO, serial, SPI, and watchdog drivers for sam0

  • Added APA102 and WS2821B led_strip drivers

  • Added native entropy driver

  • Moved some sensors to dts

  • Added AMG88xx, CCS811, and VL53L0x sensor drivers

  • Redefined SENSOR_CHAN_HUMIDITY in percent

Networking

  • Generic OpenThread support added

  • OpenThread support to nRF5 IEEE 802.15.4 driver added

  • NXP MCUX ethernet driver IPv6 multicast join/leave enhancements

  • Ethernet STM32 fixes

  • IEEE 802.15.4 Sub-GHz TI CC1200 chip support added

  • IEEE 802.15.4 test driver (upipe) hw filtering support added

  • IEEE 802.15.4 radio API enhancements

  • Net loopback driver fixes

  • Net management API event enhancements

  • IPv6 neighbor addition and removal can be monitored

  • Static IPv4 and DHCPv4 configuration enhancements

  • Bluetooth IPSP disconnect fix

  • Network buffer enhancements

  • ICMPv4 and ICMPv6 error checking fixes

  • Network interface address handling enhancements

  • Add routing support between network interfaces

  • LWM2M fixes and enhancements

  • Old legacy HTTP API removed

  • Old legacy ZoAP API removed

  • CoAP fixes

  • TCP fixes

  • HTTP fixes

  • RPL fixes

  • Net-app API fixes

  • Net-shell fixes

  • BSD socket API fixes

Bluetooth

  • Multiple fixes to the controller

  • Fixed potential connection transmission deadlock issue with the help of a dedicated fragment pool

  • Multiple fixes to Mesh support

  • Added test automation for Mesh (for tests/bluetooth/tester)

Build and Infrastructure

  • Native development environment on Microsoft Windows:

    • Uses CMake and Kconfiglib to avoid requiring an emulation layer

    • Package management support with Chocolatey for simple setup

    • Build time now comparable to Linux and macOS using Ninja

Libraries / Subsystems

  • New management subsystem based on the cross-RTOS MCUmgr:

    • Secure Firmware Updates over BLE and serial

    • Support for file system access and statistics

    • mcumgr cross-platform command-line tool

  • FCB (File Circular Buffer) lightweight storage layer:

    • Wear-leveling support for NOR flashes

    • Suitable for memory constrained devices

HALs

  • Updated Arm CMSIS from version 4.5.0 to 5.2.0

  • Updated stm32cube stm32l4xx from version 1.9.0 to 1.10.0

  • Updated stm32cube stm32f4xx from version 1.16.0 to 1.18.0

  • Added Atmel SAMD21 HAL

  • Added mcux 2.2.1 for LPC54114

  • Added HAL for VL53L0x sensor from STM

  • Imported and moved to nRFx 0.8.0 on Nordic SoCs

  • Added QSPI Controller HAL driver

Documentation

  • Added MPU specific stack and userspace documentation

  • Improved docs for Native (POSIX) support

  • Docs for new samples and supported board

  • General documentation clarifications and improvements

  • Identify daily-built master-branch docs as “Latest” version

  • Addressed Sphinx-generated intra-page link issues

  • Updated doc generation tools (Doxygen, Sphinx, Breathe, Docutils)

Tests and Samples

  • Added additional tests and test improvements for user space testing