Zephyr Kernel 1.8.0
We are pleased to announce the release of Zephyr kernel version 1.8.0.
Major enhancements with this release include:
Tickless kernel
IP Stack improvements
Bluetooth 5.0 features
Ecosystem: Tracing, debugging support through third-party tools (openocd, Segger Systemview)
Improved build support on Mac and Windows development environments
Xtensa GCC support
Initial implementation of MMU/MPU support
Expanded device support
The following sections provide detailed lists of changes by component.
Kernel
Use k_cycle_get_32 instead of sys_cycle_get_32 for Kernel
Added k_panic() and k_oops() APIs for Kernel
Added k_thread_create() API for Kernel
Added k_queue API for Kernel
Add tickless kernel support
Architectures
arm: Update core to use struct k_thread
arm: Added ARM MPU support
dts: Added ARM CMSDK support
arm: Added Initial support for NXP MPU
arm: Added Device Tree Support for nRF52832 SoC based boards
arm: Fixed nRF52840-QIAA SoC support for device tree
arm: Added Device Tree Support for nRF52840 SoC & boards
arm: Added Device Tree Support for nRF51822 SoC & boards
dts: Introduced st/mem.h for FLASH & SRAM sizes
dts: Put IRQ priority into the interrupt property
arm: Support for MKL25Z soc
arm: Added FPU support
x86: defined MMU data structures
Support for ARC EM Starter Kit version 2.3 added
Boards
Added qemu_xtensa board definition
Added a more informative page fault handler x86 board
xtensa: build similar to other Zephyr arches
Define MMU data structures for x86 board
Added support for board disco_l475_iot1
Added STM32F413 Nucleo board
Added support for the CC3220SF_LAUNCHXL board
Support for new ARM board FRDM-KL25Z
arduino_101 board enable GPIO by default
boards: convert to using newly introduced integer sized types
arm: Added support for Nucleo L432KC board
arm: Added support for STM32L496G Discovery board
arm: Added support for STM32F469I-DISCO board
BBC micro:bit: Added driver & API for the 5x5 LED display
Drivers and Sensors
UART interrupt-driver API is better defined
Support for pull-style console API
nRF5 IEEE 802.15.4 radio driver added
KW41Z IEEE 802.15.4 radio driver added
Added MCUX TRNG driver
Added support for the SiFive Freedom E310 pinmux driver
drivers/sensor: Convert formatter strings to use PRI defines
Added lps22hb sensor driver
Added lsm6dsl sensor driver
Added heart rate sensor driver
Added support for max30101 heart rate sensor
Added support for lis2dh accelerometer
Networking
HTTPS server support added
HTTP Basic-Auth support added
IPv6 fragmentation support added
Add block wise support to CoAP for well-known response
Big refactoring of network buffer handling
Start to collect TCP statistics if enabled in config
IEEE 802.15.4 security support added
DNS resolver sample application added
IPv6 multicast listener (MLDv2) support added
NATS protocol sample application added
HTTP client and server connectivity fixes
Network samples Coverity fixes
Network samples llvm compiler warning fixes
MQTT publisher connectivity fixes
6lo IPv6 header compression fixes
CoAP connectivity fixes
DHCPv4 connectivity fixes
TCP connectivity fixes
DNS documentation and connectivity fixes
IPv6 connectivity fixes
IPv4 ARP fixes
IEEE 802.15.4 configuration tweaking fixes
Remove ORFD (Overly Reduced Function Device) 802.15.4 support
Network offloading driver fixes
Fix various memory leaks
Properly check TCP and UDP checksum before accepting packet
Start RX and TX network threads in proper order
Network samples documentation fixes and clarifications
RPL mesh routing fixes
Network link (MAC) address fixes
Bluetooth
Host: Added ATT and SMP packet tracking for flow control enforcement
Host: GATT database changed to a linked list in preparation for dynamic allocation
Bluetooth 5.0: The Controller reports itself as 5.0-capable
Bluetooth 5.0: Introduced Channel Selection Algorithm #2 support
Bluetooth 5.0: Added Multiple PHY support, both 2Mbit/s and long-range coded
Bluetooth 5.0: Integrated Scan Request notifications
Controller: Added Low Duty Cycle Directed Advertising support
Controller: Added Scan duplicate filtering support
Controller: Enforced complete role separation in the controller for smaller builds
Controller: Introduced Advanced Controller configuration with several new Kconfig options
Controller: Changed the radio interrupts to direct ISRs to reduce interrupt latency
Added HCI Controller to Host flow control support in both Host and Controller
BR/EDR: Added HFP (e)SCO audio channel establishment support
BR/EDR: Added support for a functional SDP server
Build and Infrastructure
Support building host tools
Added separate DTS target
Added support for MSYS2
Use -O2 instead of -Os for ARC with SDK 0.9
Libraries
Added library for software driven I2C
Created a HTTP library
Added HTTP server library support
Added minimal JSON library
Update TinyCrypt to version 0.2.6
Added minimal JSON library
HALs
Added Atmel SAM family I2C (TWIHS) driver
Added Atmel SAM serial (UART) driver
Added WDT driver for Atmel SAM SoCs
Added Atmel SAM4S SoC support
Imported Nordic 802.15.4 radio driver
Added Initial support for NXP MPU
Updated QMSI to 1.4 RC4
Added FPU support
Added basic support for STM32F413
Introduced STM32F4x DMA driver
pinmux: stm32: Added support for Nucleo L432KC
Added support for STM32L496G Discovery board
Added dts for STM32F407
Added support for STM32F4DISCOVERY Board
Added support for STM32F469XI
Added support for STM32F469I-DISCO
Documentation
Board documentation added for new board ports
Added a board porting guide
Added security sections to porting and user guides
Continued migration of wiki.zephyrproject.org material to website and github wiki
Improved CSS formatting and appearance of generated documents
Added breadcrumb navigation header with kernel version number
Updated getting started setup guides for Linux, Windows, and macOS
Updates and additions to follow new and updated kernel features
Broken link and spelling check scans
Removed deprecated kernel documentation (pre 1.6 release) from website (still available in git repo if needed)
Tests and Samples
Added test to verify same tick timeout expiry order
Added clock_test for kernel
Added tickless tests
Added a simple CC2520 crypto dev test
Added combined observer & broadcaster app for Bluetooth samples
Added support to wait both IPv4 and IPv6
Enabled tickless kernel option in some apps