@nashif nashif released this Jun 16, 2017 · 8523 commits to master since this release

Assets 2

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