2019-08-13 10:35:50 +02:00
|
|
|
:orphan:
|
|
|
|
|
|
|
|
.. _zephyr_2.0:
|
|
|
|
|
|
|
|
Zephyr Kernel 2.0.0 (Working Draft)
|
|
|
|
####################################
|
|
|
|
|
|
|
|
We are pleased to announce the release of Zephyr kernel version 2.0.0.
|
|
|
|
|
|
|
|
Major enhancements with this release include:
|
|
|
|
|
2019-08-13 16:24:52 +02:00
|
|
|
* The kernel now supports both 32- and 64-bit architectures.
|
2019-08-13 12:24:11 +02:00
|
|
|
* We added support for SOCKS5 proxy. SOCKS5 is an Internet protocol that
|
|
|
|
exchanges network packets between a client and server through a proxy server.
|
|
|
|
* Introduced support for 6LoCAN, a 6Lo adaption layer for Controller Area
|
|
|
|
Networks.
|
|
|
|
* We added support for :ref:`Point-to-Point Protocol (PPP) <ppp>`. PPP is a
|
|
|
|
data link layer (layer 2) communications protocol used to establish a direct
|
|
|
|
connection between two nodes.
|
|
|
|
* We added support for UpdateHub which is an end-to-end solution for large scale
|
|
|
|
over-the-air update of devices.
|
2019-08-23 16:09:42 +02:00
|
|
|
* We added support for ARM Cortex-R Architecture (EXPERIMENTAL).
|
2019-08-13 10:35:50 +02:00
|
|
|
|
|
|
|
The following sections provide detailed lists of changes by component.
|
|
|
|
|
|
|
|
Kernel
|
|
|
|
******
|
|
|
|
|
2019-08-23 16:09:42 +02:00
|
|
|
* New kernel API for per-thread disabling of Floating Point Services for
|
|
|
|
ARC, ARM Cortex-M, and x86 architectures.
|
2019-08-13 10:35:50 +02:00
|
|
|
|
|
|
|
Architectures
|
|
|
|
*************
|
|
|
|
|
2019-08-23 16:09:42 +02:00
|
|
|
* ARM:
|
|
|
|
|
|
|
|
* Added initial support for ARM Cortex-R architecture (EXPERIMENTAL)
|
|
|
|
* We enhanced the support for Floating Point Services in Cortex-M
|
|
|
|
architecture, implementing and enabling lazy-stacking for FPU
|
|
|
|
capable threads and fixing stack overflow detection for FPU
|
|
|
|
capable supervisor threads
|
|
|
|
* Added Qemu support for ARMv8-M Mainline architecture
|
|
|
|
* Optimized the IRQ locking time in thread context switch
|
|
|
|
* Fixed several critical bugs in User Mode implementation
|
|
|
|
* Added test coverage for ARM-specific kernel features
|
|
|
|
* Improved support for linking TrustZone Secure Entry functions into
|
|
|
|
Non-Secure firmware
|
|
|
|
|
|
|
|
|
|
|
|
* POSIX:
|
|
|
|
|
|
|
|
* Fix race condition with terminated threads which had never been
|
|
|
|
scheduled by kernel. On very loaded systems it could cause swap errors.
|
2019-08-13 10:35:50 +02:00
|
|
|
|
|
|
|
Boards & SoC Support
|
|
|
|
********************
|
|
|
|
|
2019-08-13 16:24:52 +02:00
|
|
|
* Add native_posix_64: A 64 bit variant of native_posix
|
2019-08-13 10:35:50 +02:00
|
|
|
|
2019-08-19 17:01:59 +02:00
|
|
|
* Added support for the following ARC boards:
|
|
|
|
|
|
|
|
* emdsp
|
|
|
|
* hsdk
|
|
|
|
|
|
|
|
* Added support for the following ARM boards:
|
|
|
|
|
|
|
|
* atsamr21_xpro
|
|
|
|
* cc1352r1_launchxl
|
|
|
|
* cc26x2r1_launchxl
|
|
|
|
* holyiot_yj16019
|
|
|
|
* lpcxpresso55s69
|
|
|
|
* mec15xxevb_assy6853
|
|
|
|
* mikroe_mini_m4_for_stm32
|
|
|
|
* mimxrt1015_evk
|
|
|
|
* mps2_an521
|
|
|
|
* nrf51_pca10031
|
|
|
|
* nrf52811_pca10056
|
|
|
|
* nucleo_g071rb
|
|
|
|
* nucleo_wb55rg
|
|
|
|
* qemu_cortex_r5
|
|
|
|
* stm32h747i_disco
|
|
|
|
* stm32mp157c_dk2
|
|
|
|
* twr_ke18f
|
|
|
|
* v2m_musca_b1
|
|
|
|
* 96b_avenger96
|
|
|
|
* 96b_meerkat96
|
|
|
|
* 96b_wistrio
|
|
|
|
|
|
|
|
* Added support for the following RISC-V boards:
|
|
|
|
|
|
|
|
* hifive1_revb
|
|
|
|
* litex_vexriscv
|
|
|
|
* qemu_riscv64
|
|
|
|
|
|
|
|
* Added support for the following x86 boards:
|
|
|
|
|
|
|
|
* gpmrb
|
|
|
|
|
|
|
|
* Added support for the following shield boards:
|
|
|
|
|
|
|
|
* frdm_cr20a
|
|
|
|
* link_board_can
|
|
|
|
* sparkfun_sara_r4
|
|
|
|
* wnc_m14a2a
|
|
|
|
* x_nucleo_iks01a3
|
|
|
|
|
|
|
|
* Removed support for the following boards:
|
|
|
|
|
|
|
|
* arduino_101
|
|
|
|
* arduino_101_sss
|
|
|
|
* curie_ble
|
|
|
|
* galileo
|
|
|
|
* quark_d2000_crb
|
|
|
|
* quark_se_c1000_devboard
|
|
|
|
* quark_se_c1000_ss_devboard
|
|
|
|
* quark_se_c1000_ble
|
|
|
|
* tinytile
|
|
|
|
* x86_jailhouse
|
|
|
|
|
2019-08-13 10:35:50 +02:00
|
|
|
Drivers and Sensors
|
|
|
|
*******************
|
|
|
|
|
2019-08-19 17:04:58 +02:00
|
|
|
* ADC
|
|
|
|
|
|
|
|
* Added API to support calibration
|
|
|
|
* Enabled ADC on STM32WB
|
|
|
|
* Removed Quark D2000 ADC driver
|
|
|
|
* Added NXP ADC12 and SAM0 ADC drivers
|
|
|
|
* Added ADC shell
|
|
|
|
|
|
|
|
* Audio
|
|
|
|
|
|
|
|
* Added support for 2 microphones (stereo) in mpxxdtyy driver
|
|
|
|
|
|
|
|
* CAN
|
|
|
|
|
|
|
|
* Added support for canbus Ethernet translator
|
|
|
|
* Added 6LoCAN implementation
|
|
|
|
* Added MCP2515, NXP FlexCAN, and loopback drivers
|
|
|
|
* Added CAN shell
|
|
|
|
|
|
|
|
* Clock Control
|
|
|
|
|
|
|
|
* Added NXP Kinetis MCG, SCG, and PCC drivers
|
|
|
|
* Removed Quark SE driver
|
|
|
|
* Added STM32H7, STM32L1X, and STM32WB support
|
|
|
|
|
|
|
|
* Counter
|
|
|
|
|
|
|
|
* Added optional flags to alarm configuration structure and extended set channel alarm flags
|
|
|
|
* Added top_value setting configuration structure to API
|
|
|
|
* Enabled counter for STM32WB
|
|
|
|
* Added NXP GPT, "CMOS" RTC, SiLabs RTCC, and SAM0 drivers
|
|
|
|
* Removed Quark D2000 support from QMSI driver
|
|
|
|
|
|
|
|
* Display
|
|
|
|
|
|
|
|
* Added ST7789V based LCD driver
|
|
|
|
* Renamed ssd1673 driver to ssd16xx
|
|
|
|
* Added framebuffer driver with multiboot support
|
|
|
|
* Added support for Seeed 2.8" TFT touch shield v2.0
|
|
|
|
|
|
|
|
* DMA
|
|
|
|
|
|
|
|
* Added API to retrieve runtime status
|
|
|
|
* Added SAM0 DMAC driver
|
|
|
|
* Removed Quark SE C1000 support from QMSI driver
|
|
|
|
|
|
|
|
* Entropy
|
|
|
|
|
|
|
|
* Added TI CC13xx / CC26xx driver
|
|
|
|
|
|
|
|
* ESPI
|
|
|
|
|
|
|
|
* Added Microchip XEC driver
|
|
|
|
|
|
|
|
* Ethernet
|
|
|
|
|
|
|
|
* Added LiteEth driver
|
|
|
|
|
|
|
|
* Flash
|
|
|
|
|
|
|
|
* Removed Quark SE C1000 driver
|
|
|
|
* Removed support for Quark D2000 from QMSI driver
|
|
|
|
* Added STM32G0XX and STM32WB support to STM32 driver
|
|
|
|
* Added RV32M1 and native POSIX drivers
|
|
|
|
|
|
|
|
* GPIO
|
|
|
|
|
|
|
|
* Added stm32f1x SWJ configuration
|
|
|
|
* Removed Quark SE C1000 and D2000 support from DesignWare driver
|
|
|
|
* Added support for STM32H7, STM32L1X, and STM32WB to STM32 driver
|
|
|
|
* Added Microchip XEC and TI CC13x2 / CC26x2 drivers
|
|
|
|
* Added HT16K33 LED driver
|
|
|
|
* Added interrupt support to SAM0 driver
|
|
|
|
|
|
|
|
* Hardware Info
|
|
|
|
|
|
|
|
* Added ESP32 and SAM0 drivers
|
|
|
|
|
|
|
|
* I2C
|
|
|
|
|
|
|
|
* Added support for STM32MP1, STM32WB, and STM32L1X to STM32 driver
|
|
|
|
* Added STM32F10X slave support
|
|
|
|
* Added power management to nrf TWI and TWIM drivers
|
|
|
|
* Added TI CC13xx / CC26xx, Microchip MEC, SAM0, and RV32M1 drivers
|
|
|
|
* Rewrote DesignWare driver for PCI(e) support
|
|
|
|
|
|
|
|
* IEEE 802.15.4
|
|
|
|
|
|
|
|
* Fixed KW41z fault and dBm mapping
|
|
|
|
|
|
|
|
* Interrupt Controller
|
|
|
|
|
|
|
|
* Added initial support for ARC TCC
|
|
|
|
* Added GIC400, LiteX, and SAM0 EIC drivers
|
|
|
|
* Added support for STM32G0X, STM32H7, STM32WB, and STM32MP1 to STM32 driver
|
|
|
|
* Removed MVIC driver
|
|
|
|
|
|
|
|
* IPM
|
|
|
|
|
|
|
|
* Removed Quark SE driver
|
|
|
|
* Added MHU and STM32 drivers
|
|
|
|
|
|
|
|
* LED
|
|
|
|
|
|
|
|
* Added Holtek HT16K33 LED driver
|
|
|
|
|
|
|
|
* Modem
|
|
|
|
|
|
|
|
* Introduced socket helper layer
|
|
|
|
* Introduced command handler and UART interface driver layers
|
|
|
|
* Introduced modem context helper driver
|
|
|
|
* Added u-blox SARA-R4 modem driver
|
|
|
|
|
|
|
|
* Pinmux
|
|
|
|
|
|
|
|
* Added SPI support to STM32MP1
|
|
|
|
* Enabled ADC, PWM, I2C, and SPI pins on STM32WB
|
|
|
|
* Added Microchip XEC and TI CC13x2 / CC26x2 drivers
|
|
|
|
|
|
|
|
* PWM
|
|
|
|
|
|
|
|
* Added NXP PWM driver
|
|
|
|
* Added support for STM32G0XX to STM32 driver
|
|
|
|
|
|
|
|
* Sensor
|
|
|
|
|
|
|
|
* Added STTS751 temperature sensor driver
|
|
|
|
* Added LSM6DSO and LPS22HH drivers
|
|
|
|
* Renamed HDC1008 driver to ti_hdc and added support for 1050 version
|
|
|
|
* Added LED current, proximity pulse length, ALS, and proximity gain configurations to APDS9960 driver
|
|
|
|
* Reworked temperature and acceleration conversions, and added interrupt handling in ADXL362 driver
|
|
|
|
* Added BME680 driver and AMS ENS210 drivers
|
|
|
|
|
|
|
|
* Serial
|
|
|
|
|
|
|
|
* Added Xilinx ZynqMP PS, LiteUART, and TI CC12x2 / CC26x2 drivers
|
|
|
|
* Added support for virtual UARTS over RTT channels
|
|
|
|
* Added support for STM32H7 to STM32 driver
|
|
|
|
* Removed support for Quark D2000 from QMSI driver
|
|
|
|
* Enabled interrupts in LPC driver
|
|
|
|
* Implemented ASYNC API in SAM0 driver
|
|
|
|
* Added PCI(e) support to NS16550 driver
|
|
|
|
|
|
|
|
* SPI
|
|
|
|
|
|
|
|
* Added support for STM32MP1X and STM32WB to STM32 driver
|
|
|
|
* Removed support for Quark SE C1000 from DesignWare driver
|
|
|
|
* Added TI CC13xx / CC26xx driver
|
|
|
|
* Implemented ASYNC API in SAM0 driver
|
|
|
|
|
|
|
|
* Timer
|
|
|
|
|
|
|
|
* Added Xilinx ZynqMP PS ttc driver
|
|
|
|
* Added support for SMP to ARC V2 driver
|
|
|
|
* Added MEC1501 32 KHZ, local APIC timer, and LiteX drivers
|
|
|
|
* Replaced native POSIX system timer driver with tickless support
|
|
|
|
* Removed default selection of SYSTICK timer for ARM platforms
|
|
|
|
|
|
|
|
* USB
|
|
|
|
|
|
|
|
* Added NXP EHCI driver
|
|
|
|
* Implemented missing API functions in SAM0 driver
|
|
|
|
|
|
|
|
* WiFi
|
|
|
|
|
|
|
|
* Implemented TCP listen/accept and UDP support in eswifi driver
|
2019-08-13 10:35:50 +02:00
|
|
|
|
|
|
|
Networking
|
|
|
|
**********
|
|
|
|
|
2019-08-13 12:24:11 +02:00
|
|
|
* Add support for `SOCKS5 proxy <https://en.wikipedia.org/wiki/SOCKS>`__.
|
|
|
|
See also `RFC1928 <https://tools.ietf.org/html/rfc1928>`__ for details.
|
|
|
|
* Add support for 6LoCAN, a 6Lo adaption layer for Controller Area Networks.
|
|
|
|
* Add support for :ref:`Point-to-Point Protocol (PPP) <ppp>`.
|
|
|
|
* Add support for UpdateHub which is an end-to-end solution for large scale
|
|
|
|
over-the-air update of devices.
|
|
|
|
See `UpdateHub.io <https://updatehub.io/>`__ for details.
|
|
|
|
* Add support to automatically register network socket family.
|
|
|
|
* Add support for ``getsockname()`` function.
|
|
|
|
* Add SO_PRIORITY support to ``setsockopt()``
|
|
|
|
* Add support for VLAN tag stripping.
|
|
|
|
* Add IEEE 802.15.4 API for ACK configuration.
|
|
|
|
* Add dispatching support to SocketCAN sockets.
|
|
|
|
* Add user mode support to PTP clock API.
|
|
|
|
* Add user mode support to network interface address functions.
|
|
|
|
* Add AF_NET_MGMT socket address family support. This is for receiving network
|
|
|
|
event information in user mode application.
|
|
|
|
* Add user mode support to ``net_addr_ntop()`` and ``net_addr_pton()``
|
|
|
|
* Add support for sending network management events when DNS server is added
|
|
|
|
or deleted.
|
|
|
|
* Add LiteEth Ethernet driver.
|
|
|
|
* Add support for ``sendmsg()`` API.
|
|
|
|
* Add `civetweb <https://civetweb.github.io/civetweb/>`__ HTTP API support.
|
|
|
|
* Add LWM2M IPSO Accelerometer, Push Button, On/Off Switch and Buzzer object
|
|
|
|
support.
|
|
|
|
* Add LWM2M Location and Connection Monitoring object support.
|
|
|
|
* Add network management L4 layer. The L4 management events are used
|
|
|
|
when monitoring network connectivity.
|
|
|
|
* Allow net-mgmt API to pass information length to application.
|
|
|
|
* Remove network management L1 layer as it was never used.
|
|
|
|
* By default a network interface is set to UP when the device starts.
|
|
|
|
If this is not desired, then it is possible to disable automatic start.
|
|
|
|
* Allow collecting network packet TX throughput times in the network stack.
|
|
|
|
This information can be seen in net-shell.
|
|
|
|
* net-shell Ping command overhaul.
|
|
|
|
* Accept UDP packet with missing checksum.
|
|
|
|
* 6lo compression rework.
|
|
|
|
* Incoming connection handling refactoring.
|
|
|
|
* Network interface refactoring.
|
|
|
|
* IPv6 fragmentation fixes.
|
|
|
|
* TCP data length fixes if TCP options are present.
|
|
|
|
* SNTP client updates.
|
|
|
|
* Trickle timer re-init fixes.
|
|
|
|
* ``getaddrinfo()`` fixes.
|
|
|
|
* DHCPv4 fixes.
|
|
|
|
* LWM2M fixes.
|
|
|
|
* gPTP fixes.
|
|
|
|
* MQTT fixes.
|
|
|
|
* DNS fixes for non-compressed answers.
|
|
|
|
* mDNS resolver fixes.
|
|
|
|
* LLMNR resolver fixes.
|
|
|
|
* Ethernet ARP fixes.
|
|
|
|
* OpenThread updates and fixes.
|
|
|
|
* Network device driver enhancements:
|
|
|
|
|
|
|
|
- Ethernet e1000 fixes.
|
|
|
|
- Ethernet enc28j60 fixes.
|
|
|
|
- Ethernet mcux fixes.
|
|
|
|
- Ethernet stellaris fixes.
|
|
|
|
- Ethernet gmac fixes.
|
|
|
|
- Ethernet stm32 fixes.
|
|
|
|
- WiFi eswifi fixes.
|
|
|
|
- IEEE 802.15.4 kw41z fixes.
|
|
|
|
- IEEE 802.15.4 nrf5 fixes.
|
2019-08-13 10:35:50 +02:00
|
|
|
|
|
|
|
Bluetooth
|
|
|
|
*********
|
|
|
|
|
2019-08-23 17:16:50 +02:00
|
|
|
* Host:
|
|
|
|
|
|
|
|
* GATT: Added support for database hashes
|
|
|
|
* GATT: Added support for Ready Using Characteristic UUID
|
|
|
|
* GATT: Added support for static services
|
|
|
|
* GATT: Added support for disabling the dynamic database
|
|
|
|
* GATT: Added support for notifying and indicating by UUID
|
|
|
|
* GATT: Simplified the bt_gatt_notify_cb() API
|
|
|
|
* GATT: Added additional attributes to the Device Information Service
|
|
|
|
* GATT: Several protocol and database fixes
|
|
|
|
* Settings: Transitioned to new, optimized settings model
|
|
|
|
* Settings: Support for custom backends
|
|
|
|
* Completed support for directed advertising
|
|
|
|
* Completed support for Out-Of-Band (OOB) pairing
|
|
|
|
* Added support for fine-grained control of security establishment, including
|
|
|
|
forcing a pairing procedure in case of key loss
|
|
|
|
* Switched to separate, dedicated pools for discardable events and number of
|
|
|
|
completed packets events
|
|
|
|
* Extended and improved the Bluetooth shell with several commands
|
|
|
|
* BLE qualification up to the 5.1 specification
|
|
|
|
* BLE Mesh: Several fixes and improvements
|
|
|
|
|
|
|
|
* BLE split software Controller:
|
|
|
|
|
|
|
|
* The split software Controller is now the default
|
|
|
|
* Added support for the Data Length Update procedure
|
|
|
|
* Improved the ticker packet scheduler for improved conflict resolution
|
|
|
|
* Added documentation for the ticker packet scheduler
|
|
|
|
* Added support for out-of-tree user-defined commands and events
|
|
|
|
* Added support for Zephyr Vendor Specific Commands
|
|
|
|
* Added support for user-defined protocols
|
|
|
|
* Converted several control procedures to be queuable
|
|
|
|
* Nordic: Added support for Controller-based privacy
|
|
|
|
* Nordic: Decorrelated address generation from resolution
|
|
|
|
* Nordic: Added support for fast encryption setup
|
|
|
|
* Nordic: Added support for RSSI
|
|
|
|
* Nordic: Added support for low-latency ULL processing of messages
|
|
|
|
* Nordic: Added support for the nRF52811 IC BLE radio
|
|
|
|
* Nordic: Added support for PA/LNA on Port 1 GPIO pins
|
|
|
|
* Nordic: Added support for radio event abort
|
|
|
|
* BLE qualification up to the 5.1 specification
|
|
|
|
* Several bug fixes
|
|
|
|
|
|
|
|
* BLE legacy software Controller:
|
|
|
|
|
|
|
|
* BLE qualification up to the 5.1 specification
|
|
|
|
* Multiple control procedures fixes and improvements
|
2019-08-13 10:35:50 +02:00
|
|
|
|
|
|
|
Build and Infrastructure
|
|
|
|
************************
|
|
|
|
|
2019-08-29 13:04:22 +02:00
|
|
|
* ARM Embedded Toolchain
|
|
|
|
|
|
|
|
* Changed ARM Embedded toolchain to default to nano variant of newlib
|
|
|
|
|
2019-08-13 10:35:50 +02:00
|
|
|
* TBD
|
|
|
|
|
|
|
|
Libraries / Subsystems
|
|
|
|
***********************
|
|
|
|
|
2019-08-27 20:08:46 +02:00
|
|
|
* File Systems
|
|
|
|
|
|
|
|
* Added support for littlefs
|
|
|
|
|
2019-08-13 10:35:50 +02:00
|
|
|
* TBD
|
|
|
|
|
|
|
|
HALs
|
|
|
|
****
|
|
|
|
|
|
|
|
* TBD
|
|
|
|
|
|
|
|
Documentation
|
|
|
|
*************
|
|
|
|
|
|
|
|
* TBD
|
|
|
|
|
|
|
|
Tests and Samples
|
|
|
|
*****************
|
|
|
|
|
|
|
|
* TBD
|
|
|
|
|
|
|
|
Issue Related Items
|
|
|
|
*******************
|
|
|
|
|
|
|
|
These GitHub issues were addressed since the previous 1.14.0 tagged
|
|
|
|
release:
|
|
|
|
|
|
|
|
.. comment List derived from GitHub Issue query: ...
|
|
|
|
* :github:`issuenumber` - issue title
|
|
|
|
|
|
|
|
* :github:`99999` - issue title
|