Releases: zephyrproject-rtos/zephyr
Zephyr v1.8.0-rc2
Zephyr v1.8.0-rc2
Zephyr v1.8.0-rc1
Zephyr v1.8.0-rc1
Zephyr v1.7.1
- [ZEP-1800] Updated TinyCrypt to latest version: 0.2.6
- [ZEP-749] Updated mbedTLS to 2.4.2
- [ZEP-1470] ARM: Increase idle stack size to fix corruption by FP_SHARING
Zephyr 1.6.1
Zephyr 1.6.1 fixes the following issues:
- Makefile (arc/soc/quark_se): New compiler options
- Makefile (arc/soc/em*): New compiler options
- arc: add -fno-delete-null-pointer-checks
- Makefile.toolchain.zephyr: Modifications for SDK 0.9
- Bluetooth: ATT: Fix using k_fifo API with net_buf
- Bluetooth: fix write cmd handling
- Bluetooth: GATT: Fix missing connection address comparison
- arm: Cortex-M0: Adapt core register code to M0
- arm: nvic: Fix exception priority access on Cortex-M0(+)
- arm: nvic: Use uint8_t for priority level
- Update to tinycrypt 0.2.6
- Update to mbedTLS 2.4.2
v1.7.1-rc
v1.6.1-rc
Zephyr 1.7.0
We are pleased to announce the release of Zephyr kernel version 1.7.0.
This release continues refinement of the unified kernel introduced with
the 1.6.0 kernel release, simplifying the overall Zephyr architecture
and programming interfaces. This is the last release that will support
the deprecated legacy nano- and micro-kernel APIs found in the 1.5.0
release and earlier.
This release introduces a new native IP stack, replacing the legacy uIP
stack, maintaining the legacy functionality, adding additional
capabilities, and allowing future improvements.
We have introduced support for the RISC V and Xtensa architectures and
now support 6 architectures in total.
Device tree support for ARM based boards added. The initial device tree
support includes flash/sram base address and UART devices. Board support
includes NXP Kinetis based SoCs, ARM Beetle, TI CC3200 LaunchXL, and
STML32L476 based SoCs. Plan is to add support for other architectures
and expand device support in upcoming Zephyr releases.
The following sections provide a detailed list of changes, by component,
since kernel version 1.6.0.
Kernel
- Introduction of k_poll API: k_poll() is similar to the
POSIX poll() API in spirit in that it allows a single thread to
monitor multiple events without actively polling them, but rather
pending for one or more to become ready. - Optimized memory use of some thread fields
- Remove usage of micro/nano kernel terminology from kernel code and
introduced a legacy option to enable/disable legacy APIs.
(using legacy.h)
Architectures
- ARM: Added support for device tree
- ARM: Fixed exception priority access on Cortex M0(+)
- ARM: Refactored to use CMSIS
Boards
- Added ARM MPS2_AN385 board
- Added Atmel SAM E70 Xplained board
- Added Nordic pca10056 PDK board
- Added NXP FRDM-KW41Z board
- Added ST Nucleo-F334R8, Nucleo-L476G, STM3210C-EVAL, and
STM32373C-EVAL boards - Added Panther and tinyTILE boards, based on Quark SE C1000 and Intel
Curie - Added support for Zedboard Pulpino, a RISC V based board
- Added Qemu target for RISC V and a simulator target for the
Xtensa architecture.
Drivers and Sensors
- Added Atmel SAM pmc, gpio, uart, and ethernet drivers
- Added STM32F3x clock, flash, gpio, pinmux drivers
- Added stm32cube pwm and clock drivers
- Added cc3200 gpio driver
- Added mcr20a ieee802154 driver
- Added mcux pinmux, gpio, uart, and spi drivers
- Added Beetle clock control and watchdog drivers
Networking
This version removes the legacy uIP stack and introduces a new native IP
stack. Because of this there is lot of changes in the code base. The
native IP stack will support the same functionality as the legacy IP
stack found in 1.6, and add new networking features which are described
below.
- IP stack code is moved to subsys/net/ip directory.
- IP stack supports both IPv6 and IPv4, and they can be
enabled simultaneously. - Multiple network technologies like Bluetooth IPSP and IEEE 802.15.4
can be enabled simultaneously. No routing functionality is provided
by IP stack between enabled network technologies, applications need
to decide where to send the network packets. - Network technologies are abstracted in IP layer 2 (L2) and presented
to rest of the system as network interfaces. There exists L2 driver
for Ethernet, Bluetooth and IEEE 802.15.4. - Created Bluetooth Internet Protocol Support Profile (IPSP) support.
It will provide IPv6 connection over Bluetooth connection oriented
channel (L2CAP). - Created DHCPv4 support.
- Created CoAP implementation called ZoAP which replaces uIP
based one. - Updated 6Lo implementation to support both Bluetooth and IEEE
802.15.4 - Created application API (net_context) for creating connections and
transferring data to external systems. - Added sample application (wpanusb) for exporting IEEE 802.15.4 radio
over USB to external operating systems like Linux. - Added DNS client library.
- Updated TCP implementation.
- Created MQTT publisher support.
- Created network test generator (zperf).
- Created telnet console support.
- Created IRC client sample application.
- Created HTTP server and client sample applications.
- Created net-shell module for interacting with network sub-system.
- Created ieee15_4 shell module for dedicated interaction with IEEE
802.15.4 Soft MAC. - Created network management API for generic network settings request
as well as a network event notification system (sender/listener). - Redesigned buffer & pool allocation API.
Bluetooth
- Redesigned buffer pools for smaller memory consumption
- Redesigned thread model for smaller memory consumption
- Utilized new k_poll API to consolidate all TX threads into a single
one - Added more SDP functionality
- Improved RFCOMM support
- Reduced latencies in the Controller
- Added SPI HCI driver
Libraries
- Updated mbedTLS library
- Updated TinyCrypt to version 0.2.5
HALs
- Updated FAT FS to rev 0.12b
- Updated Nordic MDK header files
- Updated QMSI to 1.4 RC3
- Imported Atmel SDK (ASF) for SAM E70 and SAM3X
- Imported Nordic SDK HAL and 802.15.4 radio driver
- Renamed NXP KSDK to MCUX
- Imported NXP MCUX for KW41Z
- Imported Segger J-Link RTT library
- Imported stm32cube for F4 and L4
Documentation
- General improvements and additions to kernel component docs
- Moved supported board information back to the website site.
- New website documentation theme to go with the new
zephyrproject.org site. - New local-content generation theme (read-the-docs)
- General spelling checks and organizational improvements.
- Site-wide glossary added.
- Porting guides added.
- Sample README files converted to documents included in the website.
- Improved consistency of boards and samples
documentation.
JIRA Related Items
- ZEP-19 - IPSP node support
- ZEP-145 - no 'make flash' for Arduino Due
- ZEP-328 - HW Encryption Abstraction
- ZEP-359 - Move QEMU handling to a central location
- ZEP-365 - Zephyr's MQTT library
- ZEP-437 - TCP/IP API
- ZEP-513 - extern declarations of small microkernel objects in
designated sections require __attribute__((section)) in
gp-enabled systems - ZEP-591 - MQTT Port to New IP Stack
- ZEP-604 - In coap_server sample app, CoAP resource separate is not
able to send separate response - ZEP-613 - TCP/UDP client and server mode functionality
- ZEP-641 - Bluetooth Eddystone sample does not correctly implement
Eddystone beacon - ZEP-648 - New CoAP Implementation
- ZEP-664 - Extend spi_qmsi_ss driver to support save/restore
peripheral context - ZEP-665 - Extend gpio_qmsi_ss driver to support save/restore
peripheral context - ZEP-666 - Extend i2c_qmsi_ss driver to support save/restore
peripheral context - ZEP-667 - Extend adc_qmsi_ss driver to support save/restore
peripheral context - ZEP-686 - docs: Info in Application Development Primer and
Developing an Application and the Build System is largely duplicated - ZEP-706 - cannot set debug breakpoints on ARC side of Arduino 101
- ZEP-719 - Add ksdk uart shim driver
- ZEP-734 - Port AES-CMAC-PRF-128 [RFC 4615] encryption library for
Thread support - ZEP-742 - nRF5x Series: System Clock driver using NRF_RTC
- ZEP-744 - USB WebUSB
- ZEP-748 - Enable mbedtls_sslclient sample to run on quark se board
- ZEP-759 - Add preliminary support for Atmel SAM E70 (Cortex-M7)
chipset family and SAM E70 Xplained board - ZEP-788 - UDP
- ZEP-789 - IPv4
- ZEP-790 - ICMPv4
- ZEP-791 - TCP
- ZEP-792 - ARP
- ZEP-793 - DNS Resolver
- ZEP-794 - Requirements for Internet Hosts - Communication Layers
- ZEP-796 - DHCPv4
- ZEP-798 - IPv6
- ZEP-799 - HTTP over TLS
- ZEP-801 - DNS Extensions to support IPv6
- ZEP-804 - IPv6 Addressing Architecture
- ZEP-805 - Internet Control Message Protocol (ICMP) v6
- ZEP-807 - Neighbor Discovery for IPv6
- ZEP-808 - IPv6 Stateless Autoconfiguration (SLAAC)
- ZEP-809 - IPv6 over 802.15.4
- ZEP-811 - The Trickle Algorithm
- ZEP-812 - Compression Format for IPv6 over 802.15.4
- ZEP-813 - RPL: IPv6 Routing Protocol
- ZEP-814 - Routing Metrics used in Path Selection
- ZEP-815 - Objective Function Zero for RPL
- ZEP-816 - Minimum Rank with Hysteresis (RPL)
- ZEP-818 - CoAP working over the new IP stack
- ZEP-820 - HTTP v1.1 Server Sample
- ZEP-823 - New IP Stack - Documentation
- ZEP-824 - Network Device Driver Porting Guide
- ZEP-825 - Porting guide for old-to-new IP Stack APIs
- ZEP-827 - HTTP Client sample application
- ZEP-830 - ICMPv6 Parameter Problem Support
- ZEP-832 - Hop-by-Hop option handling
- ZEP-847 - Network protocols must be moved to subsys/net/lib
- ZEP-854 - CoAP with DTLS sample
- ZEP-859 - Migrate ENC28J60 driver to YAIP IP stack
- ZEP-865 - convert filesystem sample to a runnable test
- ZEP-872 - Unable to flash Zephyr on Arduino 101 using Ubuntu and
following wiki instructions - ZEP-873 - DMA API Update
- ZEP-875 - 6LoWPAN - Context based compression support
- ZEP-876 - 6LoWPAN - Offset based Reassembly of 802.15.4 packets
- ZEP-879 - 6LoWPAN - Stateless Address Autoconfiguration
- ZEP-882 - 6LoWPAN - IPv6 Next Header Compression
- ZEP-883 - IP Stack L2 Interface Management API
- ZEP-884 - 802.15.4 - CSMA-CA Radio protocol support
- ZEP-885 - 802.15.4 - Beacon frame support
- ZEP-886 - 80...
v1.7.0-rc4
Zephyr 1.7-rc4
v1.7.0-rc3
Zephyr 1.7.0-rc3
v1.7.0-rc2
Zephyr v1.7.0-rc2