If you need urgent consulting help click here

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