2020-09-26 18:36:13 +02:00
|
|
|
:orphan:
|
|
|
|
|
|
|
|
.. _zephyr_2.5:
|
|
|
|
|
|
|
|
Zephyr 2.5.0 (Working Draft)
|
|
|
|
############################
|
|
|
|
|
|
|
|
We are pleased to announce the release of Zephyr RTOS version 2.5.0.
|
|
|
|
|
|
|
|
Major enhancements with this release include:
|
|
|
|
|
2020-11-13 10:30:35 +01:00
|
|
|
* Introduced support for the SPARC processor architecture and the LEON
|
|
|
|
processor implementation.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
The following sections provide detailed lists of changes by component.
|
|
|
|
|
|
|
|
Security Vulnerability Related
|
|
|
|
******************************
|
|
|
|
|
|
|
|
The following CVEs are addressed by this release:
|
|
|
|
|
|
|
|
More detailed information can be found in:
|
|
|
|
https://docs.zephyrproject.org/latest/security/vulnerabilities.html
|
|
|
|
|
|
|
|
Known issues
|
|
|
|
************
|
|
|
|
|
|
|
|
You can check all currently known issues by listing them using the GitHub
|
|
|
|
interface and listing all issues with the `bug label
|
|
|
|
<https://github.com/zephyrproject-rtos/zephyr/issues?q=is%3Aissue+is%3Aopen+label%3Abug>`_.
|
|
|
|
|
|
|
|
API Changes
|
|
|
|
***********
|
|
|
|
|
2020-06-08 17:41:09 +02:00
|
|
|
* Removed SETTINGS_USE_BASE64 support as its been deprecated for more than
|
|
|
|
two releases.
|
|
|
|
|
2020-09-22 16:39:10 +02:00
|
|
|
* The :c:func:`lwm2m_rd_client_start` function now accepts an additional
|
|
|
|
``flags`` parameter, which allows to configure current LwM2M client session,
|
|
|
|
for instance enable bootstrap procedure in the curent session.
|
|
|
|
|
2020-12-10 10:17:14 +01:00
|
|
|
* LwM2M execute now supports arguments. The execute callback
|
|
|
|
`lwm2m_engine_execute_cb_t` is extended with an ``args`` parameter which points
|
|
|
|
to the CoAP payload that comprises the arguments, and an ``args_len`` parameter
|
|
|
|
to indicate the length of the ``args`` data.
|
|
|
|
|
2020-10-02 16:06:26 +02:00
|
|
|
* Changed vcnl4040 dts binding default for property 'proximity-trigger'.
|
|
|
|
Changed the default to match the HW POR state for this property.
|
|
|
|
|
2020-08-07 09:57:11 +02:00
|
|
|
* The :c:func:`clock_control_async_on` function will now take ``callback`` and
|
|
|
|
``user_data`` as arguments instead of structure which contained list node,
|
|
|
|
callback and user data.
|
|
|
|
|
2020-12-03 15:33:27 +01:00
|
|
|
* The :c:func:`mqtt_keepalive_time_left` function now returns -1 if keep alive
|
|
|
|
messages are disabled by setting ``CONFIG_MQTT_KEEPALIVE`` to 0.
|
|
|
|
|
2020-12-18 20:12:39 +01:00
|
|
|
* The ``CONFIG_LEGACY_TIMEOUT_API`` mode has been removed. All kernel
|
|
|
|
timeout usage must use the new-style k_timeout_t type and not the
|
|
|
|
legacy/deprecated millisecond counts.
|
|
|
|
|
2021-01-18 13:13:26 +01:00
|
|
|
* The :c:func:`coap_pending_init` function now accepts an additional ``retries``
|
|
|
|
parameter, allowing to specify the maximum retransmission count of the
|
|
|
|
confirmable message.
|
|
|
|
|
2021-01-20 14:27:30 +01:00
|
|
|
* The ``CONFIG_BT_CTLR_CODED_PHY`` is now disabled by default for builds
|
|
|
|
combining both Bluetooth host and controller.
|
|
|
|
|
2021-01-23 08:25:06 +01:00
|
|
|
* The :c:func:`coap_packet_append_payload` function will now take a pointer to a
|
|
|
|
constant buffer as the ``payload`` argument instead of a pointer to a writable
|
|
|
|
buffer.
|
|
|
|
|
|
|
|
* The :c:func:`coap_packet_init` function will now take a pointer to a constant
|
|
|
|
buffer as the ``token`` argument instead of a pointer to a writable buffer.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
Deprecated in this release
|
|
|
|
==========================
|
|
|
|
|
2020-11-09 12:10:25 +01:00
|
|
|
* Nordic nRF5340 PDK board deprecated and planned to be removed in 2.6.0.
|
2020-10-20 18:02:21 +02:00
|
|
|
* ARM Musca-A board and SoC support deprecated and planned to be removed in 2.6.0.
|
|
|
|
|
2020-11-05 13:09:32 +01:00
|
|
|
* DEVICE_INIT was deprecated in favor of utilizing DEVICE_DEFINE directly.
|
|
|
|
|
2021-01-05 19:16:23 +01:00
|
|
|
* DEVICE_AND_API_INIT was deprecated in favor of DEVICE_DT_INST_DEFINE and
|
|
|
|
DEVICE_DEFINE.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
Removed APIs in this release
|
|
|
|
============================
|
|
|
|
|
|
|
|
Stable API changes in this release
|
|
|
|
==================================
|
|
|
|
|
|
|
|
Kernel
|
|
|
|
******
|
|
|
|
|
|
|
|
Architectures
|
|
|
|
*************
|
|
|
|
|
|
|
|
* ARC
|
|
|
|
|
|
|
|
* ARM
|
|
|
|
|
|
|
|
* AARCH32
|
|
|
|
|
2020-10-27 18:52:46 +01:00
|
|
|
* Introduced the functionality for chain-loadable Zephyr
|
|
|
|
fimrmware images to force the initialization of internal
|
|
|
|
architecture state during early system boot (Cortex-M).
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* AARCH64
|
|
|
|
|
|
|
|
* POSIX
|
|
|
|
|
|
|
|
* RISC-V
|
|
|
|
|
2020-11-13 10:30:35 +01:00
|
|
|
* SPARC
|
|
|
|
|
|
|
|
* Added support for the SPARC architecture, compatible with the SPARC V8
|
|
|
|
specification and the SPARC ABI.
|
2020-12-04 09:42:41 +01:00
|
|
|
* FPU is supported in both shared and unshared FP register mode.
|
2020-11-13 10:30:35 +01:00
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* x86
|
|
|
|
|
|
|
|
Boards & SoC Support
|
|
|
|
********************
|
|
|
|
|
|
|
|
* Added support for these SoC series:
|
|
|
|
|
2021-01-23 15:05:25 +01:00
|
|
|
* Cypress PSoC-63
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Made these changes in other SoC series:
|
|
|
|
|
|
|
|
* Changes for ARC boards:
|
|
|
|
|
|
|
|
* Added support for these ARM boards:
|
|
|
|
|
2021-01-23 15:05:25 +01:00
|
|
|
* Cypress CY8CKIT_062_BLE board
|
|
|
|
|
2020-11-13 10:30:35 +01:00
|
|
|
* Added support for these SPARC boards:
|
|
|
|
|
|
|
|
* GR716-MINI LEON3FT microcontroller development board
|
|
|
|
* Generic LEON3 board configuration for GRLIB FPGA reference designs
|
|
|
|
* SPARC QEMU for emulating LEON3 processors and running kernel tests
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Made these changes in other boards:
|
|
|
|
|
2021-01-23 15:05:25 +01:00
|
|
|
* CY8CKIT_062_WIFI_BT_M0: was renamed to CY8CKIT_062_WIFI_BT.
|
|
|
|
* CY8CKIT_062_WIFI_BT_M4: was moved into CY8CKIT_062_WIFI_BT.
|
|
|
|
* CY8CKIT_062_WIFI_BT: Now M0+/M4 are at same common board.
|
2020-11-30 14:39:44 +01:00
|
|
|
* nRF5340 DK: Selected TF-M as the default Secure Processing Element
|
|
|
|
(SPE) when building Zephyr for the non-secure domain.
|
2021-01-23 15:02:50 +01:00
|
|
|
* SAM4E_XPRO: Added support to SAM-BA ROM bootloader.
|
|
|
|
* SAM4S_XPLAINED: Added support to SAM-BA ROM bootloader.
|
2020-11-30 14:39:44 +01:00
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Added support for these following shields:
|
|
|
|
|
2021-01-23 15:10:05 +01:00
|
|
|
* Inventek es-WIFI shield
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
Drivers and Sensors
|
|
|
|
*******************
|
|
|
|
|
|
|
|
* ADC
|
|
|
|
|
|
|
|
* Audio
|
|
|
|
|
|
|
|
* Bluetooth
|
|
|
|
|
|
|
|
* CAN
|
|
|
|
|
|
|
|
* Clock Control
|
|
|
|
|
|
|
|
* Console
|
|
|
|
|
|
|
|
* Counter
|
|
|
|
|
|
|
|
* Crypto
|
|
|
|
|
|
|
|
* DAC
|
|
|
|
|
|
|
|
* Debug
|
|
|
|
|
|
|
|
* Display
|
|
|
|
|
|
|
|
* DMA
|
|
|
|
|
|
|
|
* EEPROM
|
|
|
|
|
|
|
|
* Entropy
|
|
|
|
|
|
|
|
* ESPI
|
|
|
|
|
|
|
|
* Ethernet
|
|
|
|
|
|
|
|
* Flash
|
|
|
|
|
2020-12-29 18:48:39 +01:00
|
|
|
* CONFIG_NORDIC_QSPI_NOR_QE_BIT has been removed. The
|
|
|
|
quad-enable-requirements devicetree property should be used instead.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* GPIO
|
|
|
|
|
2021-01-23 15:05:25 +01:00
|
|
|
* Added Cypress PSoC-6 driver.
|
2021-01-23 15:02:50 +01:00
|
|
|
* Added Atmel SAM4L driver.
|
2021-01-23 15:05:25 +01:00
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Hardware Info
|
|
|
|
|
2021-01-23 15:05:25 +01:00
|
|
|
* Added Cypress PSoC-6 driver.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* I2C
|
|
|
|
|
2021-01-23 15:02:50 +01:00
|
|
|
* Added Atmel SAM4L TWIM driver.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* I2S
|
|
|
|
|
|
|
|
* IEEE 802.15.4
|
|
|
|
|
|
|
|
* Interrupt Controller
|
|
|
|
|
2021-01-23 15:05:25 +01:00
|
|
|
* Added Cypress PSoC-6 Cortex-M0+ interrupt multiplexer driver.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* IPM
|
|
|
|
|
|
|
|
* Keyboard Scan
|
|
|
|
|
|
|
|
* LED
|
|
|
|
|
|
|
|
* LED Strip
|
|
|
|
|
|
|
|
* LoRa
|
|
|
|
|
|
|
|
* Modem
|
|
|
|
|
|
|
|
* PECI
|
|
|
|
|
|
|
|
* Pinmux
|
|
|
|
|
|
|
|
* PS/2
|
|
|
|
|
|
|
|
* PWM
|
|
|
|
|
|
|
|
* Sensor
|
|
|
|
|
|
|
|
* Serial
|
|
|
|
|
|
|
|
* SPI
|
|
|
|
|
|
|
|
* Timer
|
|
|
|
|
|
|
|
* USB
|
|
|
|
|
2020-11-13 14:50:31 +01:00
|
|
|
* Made USB DFU class compatible with the target configuration that does not
|
|
|
|
have a secondary image slot.
|
|
|
|
* Support to use USB DFU within MCUBoot with single application slot mode.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Video
|
|
|
|
|
|
|
|
* Watchdog
|
|
|
|
|
|
|
|
* WiFi
|
|
|
|
|
2021-01-23 15:10:05 +01:00
|
|
|
* Added uart bus interface for eswifi driver.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
Networking
|
|
|
|
**********
|
|
|
|
|
2021-01-23 15:12:26 +01:00
|
|
|
* Added TagoIO IoT Cloud HTTP post sample.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
Bluetooth
|
|
|
|
*********
|
|
|
|
|
|
|
|
* Host
|
|
|
|
|
2020-11-06 11:55:25 +01:00
|
|
|
* When privacy has been enabled in order to advertise towards a
|
|
|
|
privacy-enabled peer the BT_LE_ADV_OPT_DIR_ADDR_RPA option must now
|
|
|
|
be set, same as when privacy has been disabled.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Mesh
|
|
|
|
|
2020-08-18 13:36:38 +02:00
|
|
|
* The ``bt_mesh_cfg_srv`` structure has been deprecated in favor of a
|
|
|
|
standalone Heartbeat API and Kconfig entries for default state values.
|
|
|
|
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* BLE split software Controller
|
|
|
|
|
|
|
|
* HCI Driver
|
|
|
|
|
|
|
|
Build and Infrastructure
|
|
|
|
************************
|
|
|
|
|
|
|
|
* Improved support for additional toolchains:
|
|
|
|
|
|
|
|
* Devicetree
|
|
|
|
|
2020-10-05 21:09:43 +02:00
|
|
|
* :c:macro:`DT_ENUM_IDX_OR`: new macro
|
2020-10-06 05:02:13 +02:00
|
|
|
* Support for legacy devicetree macros via
|
|
|
|
``CONFIG_LEGACY_DEVICETREE_MACROS`` was removed. All devicetree-based code
|
|
|
|
should be using the new devicetree API introduced in Zephyr 2.3 and
|
|
|
|
documented in :ref:`dt-from-c`. Information on flash partitions has moved
|
|
|
|
to :ref:`flash_map_api`.
|
2020-10-05 21:09:43 +02:00
|
|
|
|
2021-01-23 20:44:02 +01:00
|
|
|
* West
|
|
|
|
|
|
|
|
* Improve bossac runner. It supports now native ROM bootloader for Atmel
|
|
|
|
MCUs and extended SAM-BA bootloader like Arduino and Adafruit UF2. The
|
|
|
|
devices supported depend on bossac version inside Zephyr SDK or in users
|
|
|
|
path. The recommended Zephyr SDK version is 0.12.0 or newer.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
Libraries / Subsystems
|
|
|
|
**********************
|
|
|
|
|
|
|
|
* Disk
|
|
|
|
|
|
|
|
* Management
|
|
|
|
|
|
|
|
* MCUmgr
|
|
|
|
|
2020-12-08 11:10:00 +01:00
|
|
|
* Added support for flash devices that have non-0xff erase value.
|
2020-12-14 12:02:45 +01:00
|
|
|
* Added optional verification, enabled via
|
|
|
|
:option:`CONFIG_IMG_MGMT_REJECT_DIRECT_XIP_MISMATCHED_SLOT`, of an uploaded
|
|
|
|
Direct-XIP binary, which will reject any binary that is not able to boot
|
|
|
|
from base address of offered upload slot.
|
2020-12-08 11:10:00 +01:00
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* updatehub
|
|
|
|
|
2021-01-23 15:07:17 +01:00
|
|
|
* Added support to Network Manager and interface overlays at UpdateHub
|
|
|
|
sample. Ethernet is the default interface configuration and overlays
|
|
|
|
can be used to change default configuration
|
|
|
|
* Added WIFI overlay
|
|
|
|
* Added MODEM overlay
|
|
|
|
* Added IEEE 802.15.4 overlay [experimental]
|
|
|
|
* Added BLE IPSP overlay as [experimental]
|
|
|
|
* Added OpenThread overlay as [experimental].
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Settings
|
|
|
|
|
|
|
|
* Random
|
|
|
|
|
|
|
|
* POSIX subsystem
|
|
|
|
|
|
|
|
* Power management
|
|
|
|
|
|
|
|
* Logging
|
|
|
|
|
|
|
|
* LVGL
|
|
|
|
|
2020-10-08 23:08:46 +02:00
|
|
|
* Library has been updated to minor release v7.6.1
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Shell
|
|
|
|
|
|
|
|
* Storage
|
|
|
|
|
2020-11-04 13:18:18 +01:00
|
|
|
* flash_map: Added API to get the value of an erased byte in the flash_area,
|
|
|
|
see ``flash_area_erased_val()``.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
* Tracing
|
|
|
|
|
|
|
|
* Debug
|
|
|
|
|
2021-01-15 13:50:36 +01:00
|
|
|
* DFU
|
|
|
|
|
|
|
|
* boot: Reworked using MCUBoot's bootutil_public library which allow to use
|
|
|
|
API implementation already provided by MCUboot codebase and remove
|
|
|
|
zephyr's own implementations.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
HALs
|
|
|
|
****
|
|
|
|
|
|
|
|
* HALs are now moved out of the main tree as external modules and reside in
|
|
|
|
their own standalone repositories.
|
|
|
|
|
2020-10-07 18:59:28 +02:00
|
|
|
MCUBoot
|
|
|
|
*******
|
|
|
|
|
|
|
|
* bootloader
|
|
|
|
|
|
|
|
* Added hardening against hardware level fault injection and timing attacks,
|
|
|
|
see ``CONFIG_BOOT_FIH_PROFILE_HIGH`` and similar kconfig options.
|
|
|
|
* Introduced Abstract crypto primitives to simplify porting.
|
|
|
|
* Added ram-load upgrade mode (not enabled for zephy-rtos yet).
|
|
|
|
* Renamed single-image mode to single-slot mode,
|
|
|
|
see ``CONFIG_SINGLE_APPLICATION_SLOT``.
|
|
|
|
* Added patch for turning off cache for Cortex M7 before chain-loading.
|
|
|
|
* Fixed boostrapping in swap-move mode.
|
|
|
|
* Fixed issue causing that interrupted swap-move operation might brick device
|
|
|
|
if the primary image was padded.
|
|
|
|
* Fixed issue causing that HW stack protection catches the chain-loaded
|
2020-11-04 13:18:18 +01:00
|
|
|
application during its early initialization.
|
2020-10-07 18:59:28 +02:00
|
|
|
* Added reset of Cortex SPLIM registers before boot.
|
|
|
|
* Fixesd build issue that occurs if CONF_FILE contains multiple file paths
|
|
|
|
instead of single file path.
|
2020-10-21 11:25:20 +02:00
|
|
|
* Added watchdog feed on nRF devices. See ``CONFIG_BOOT_WATCHDOG_FEED`` option.
|
|
|
|
* Removed the flash_area_read_is_empty() port implementation function.
|
2020-11-04 13:18:18 +01:00
|
|
|
* Initialize the ARM core configuration only when selected by the user,
|
|
|
|
see ``CONFIG_MCUBOOT_CLEANUP_ARM_CORE``.
|
|
|
|
* Allow the final data chunk in the image to be unaligned in
|
|
|
|
the serial-recovery protocol.
|
2021-01-11 14:58:14 +01:00
|
|
|
* Kconfig: allow xip-revert only for xip-mode.
|
|
|
|
* ext: tinycrypt: update ctr mode to stream.
|
|
|
|
* Use minimal CBPRINTF implementation.
|
|
|
|
* Configure logging to LOG_MINIMAL by default.
|
|
|
|
* boot: cleanup NXP MPU configuration before boot.
|
|
|
|
* Fix nokogiri<=1.11.0.rc4 vulnerability.
|
2021-01-15 13:50:36 +01:00
|
|
|
* bootutil_public library was extracted as code which is common API for
|
|
|
|
MCUboot and the DFU application, see ``CONFIG_MCUBOOT_BOOTUTIL_LIB``
|
2020-10-07 18:59:28 +02:00
|
|
|
|
|
|
|
* imgtool
|
|
|
|
|
|
|
|
* Print image digest during verify.
|
|
|
|
* Add possibility to set confirm flag for hex files as well.
|
|
|
|
* Usage of --confirm implies --pad.
|
|
|
|
* Fixed 'custom_tlvs' argument handling.
|
2021-01-11 14:58:14 +01:00
|
|
|
* Add support for setting fixed ROM address into image header.
|
2020-10-07 18:59:28 +02:00
|
|
|
|
2020-12-03 10:23:53 +01:00
|
|
|
|
|
|
|
Trusted-Firmware-M
|
|
|
|
******************
|
|
|
|
|
|
|
|
* Synchronized Trusted-Firmware-M module to the upstream v1.2.0 release.
|
|
|
|
|
2020-09-26 18:36:13 +02:00
|
|
|
Documentation
|
|
|
|
*************
|
|
|
|
|
|
|
|
Tests and Samples
|
|
|
|
*****************
|
|
|
|
|
|
|
|
Issue Related Items
|
|
|
|
*******************
|
|
|
|
|
|
|
|
These GitHub issues were addressed since the previous 2.4.0 tagged
|
|
|
|
release:
|