Part 1
요약·해설
2,331줄 공식 원문 전체, 목록형 변경 항목 1,318개와 CVE 13건을 빠짐없이 번역하며 함수·Kconfig·DeviceTree compatible·source path를 원형대로 보존합니다.
llext · native_sim · Picolibc · hardware spinlock
Bluetooth Audio · Mesh · CoAP · DHCP · IPv6 · LwM2M
45+ boards · ARCv3 · Arm · RISC-V · x86 · Xtensa
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
4C29F2CDD8FFFFFA4D87EE2B3C57DE3DE4580E37B09A74A18910B6FC1DB7F60E
:orphan:
.. _zephyr_3.5:
Zephyr 3.5.0
############
We are pleased to announce the release of Zephyr version 3.5.0.
Major enhancements with this release include:
* Added support for linkable loadable extensions (llext)
* Added native_sim simulator target (successor to native_posix)
* Added new battery charger driver API
* Added new hardware spinlock driver API
* Added new modem subsystem
* Added support for 45+ new boards
* Networking: improvements to CoAP, Connection Manager, DHCP, Ethernet, gPTP, ICMP,
IPv6 and LwM2M
* Bluetooth: improvements to the Controller, Audio, Mesh, as well as the host stack in
general
* Improved LVGL graphics library integration
* Integrated support with the CodeChecker static analyzer
* Picolibc is now the default C standard library
An overview of the changes required or recommended when migrating your application from Zephyr
v3.4.0 to Zephyr v3.5.0 can be found in the separate :ref:`migration guide<migration_3.5>`.
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
* CVE-2023-3725 `Zephyr project bug tracker GHSA-2g3m-p6c7-8rr3
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-2g3m-p6c7-8rr3>`_
* CVE-2023-4257 `Zephyr project bug tracker GHSA-853q-q69w-gf5j
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-853q-q69w-gf5j>`_
* CVE-2023-4258 `Zephyr project bug tracker GHSA-m34c-cp63-rwh7
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-m34c-cp63-rwh7>`_
* CVE-2023-4259 `Zephyr project bug tracker GHSA-gghm-c696-f4j4
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-gghm-c696-f4j4>`_
* CVE-2023-4260 `Zephyr project bug tracker GHSA-gj27-862r-55wh
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-gj27-862r-55wh>`_
* CVE-2023-4263 `Zephyr project bug tracker GHSA-rf6q-rhhp-pqhf
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rf6q-rhhp-pqhf>`_
* CVE-2023-4264 `Zephyr project bug tracker GHSA-rgx6-3w4j-gf5j
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rgx6-3w4j-gf5j>`_
* CVE-2023-4424: Under embargo until 2023-11-01
* CVE-2023-5055: Under embargo until 2023-11-01
* CVE-2023-5139: Under embargo until 2023-10-25
* CVE-2023-5184 `Zephyr project bug tracker GHSA-8x3p-q3r5-xh9g
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-8x3p-q3r5-xh9g>`_
* CVE-2023-5563 `Zephyr project bug tracker GHSA-98mc-rj7w-7rpv
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-98mc-rj7w-7rpv>`_
* CVE-2023-5753 `Zephyr project bug tracker GHSA-hmpr-px56-rvww
<https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-hmpr-px56-rvww>`_
Kernel
******
* Added support for dynamic thread stack allocation via :c:func:`k_thread_stack_alloc`
* Added support for :c:func:`k_spin_trylock`
* Added :c:func:`k_object_is_valid` to check if a kernel object is valid. This replaces
code that has been duplicated throughout the tree.
Architectures
*************
* ARC
* Introduced the scalar port for ARC VPX processors
* Introduced support for ARCv3 HS (both 32 and 64 bit) SMP platforms with up to 12 CPU cores
* Reworked GNU helper tools usage for ARC MWDT toolchain. Now helper tools can be used from
Zephyr SDK (if SDK is installed)
* Fixed dynamic thread stack allocation
* Fixed STR assembly macro offset calculation issue which may cause build error for ARCv3 64bit
* Cleaned-up and made more user friendly handling of the ARC MWDT toolchain path
(ARCMWDT_TOOLCHAIN_PATH)
* ARM
* Architectural support for Arm Cortex-M has been separated from Arm
Cortex-A and Cortex-R. This includes separate source modules to handle
tasks like IRQ management, exception handling, thread handling and swap.
For implementation details see :github:`60031`.
* ARM64
* RISC-V
* Added support for detecting null pointer exception using PMP.
* Added the :kconfig:option:`CONFIG_RISCV_RESERVED_IRQ_ISR_TABLES_OFFSET`
option to allow IRQ vector at a specified offset to meet the requirements
set by the Core-Local Interrupt Controller RISC-V specification.
* Added the :kconfig:option:`CONFIG_RISCV_SOC_HAS_CUSTOM_SYS_IO` option to
allow the use of custom system input/output functions.
* Introduced the :kconfig:option:`CONFIG_RISCV_TRAP_HANDLER_ALIGNMENT` option
to set the correct alignment of the trap handling code which is dependent on
the ``MTVEC.BASE`` field size and is platform or application-specific.
* Xtensa
* Added basic MMU v2 Support.
* x86
* Added support for Intel Alder Lake boards
* Added support for Intel Sensor Hub (ISH)
* POSIX
* Has been reworked to use the native simulator.
* New boards have been added.
* For the new boards, embedded C libraries can be used, and conflicts with the host symbols
and libraries avoided.
* The :ref:`POSIX OS abstraction<posix_support>` is supported in these new boards.
* AMP targets are now supported.
* Added support for LLVM source profiling/coverage.
Bluetooth
*********
* Audio
Improved memory usage of codec configurations and codec capabilities. Fixed several bugs in BAP
and the BAP-related services (ASCS, PACS, BASS), as well as missing features such as proper
notification handling.
* Added BAP ``bt_bap_stream_get_tx_sync``
* Added CAP stream send and tx sync
* Added ``bt_audio_codec_cap_get`` helper functions
* Added support for long read/write in CAP
* Fixed ASCS Source ASE link loss state transition
* Fixed ASCS possible ASE leak
* Fixed ASCS to drop ISO PDUs if ASE is not in streaming state
* Fixed BAP ``bt_bap_scan_delegator_find_state`` implementation
* Fixed BAP issue with PA sync and ID in ``broadcast_sink_create``
* Fixed TMAS characteristic permissions
* Fixed ``tbs_client`` missing discovery complete event
* Fixed audio stack to accept empty CCID list in audio metadata
* Fixed bad size of metadata_backup in ASCS
* Fixed possible ASCS ASE stuck in releasing state
* Refactored ``bt_audio_codec_cap`` to flat arrays
* Refactored ``bt_audio_codec_cfg`` to flat arrays
* Removed ``CONFIG_BT_PACS_{SNK,SRC}_CONTEXT``
* Removed scanning and PA sync from broadcast sink
* Renamed ``bt_codec`` to ``bt_audio_codec_{cap, conf, data}``
* Renamed codec qos framing
* Replaced ``BT_AUDIO_CODEC_LC3_ID`` -> ``BT_HCI_CODING_FORMAT_LC3``
* Replaced ``BT_AUDIO_CODEC_PARSE_ERR_`` values with errno values.
* Reworked PACS notify system
* Updated ASCS ISO QOS based on BAP QOS
* Updated BAP to filter PA data duplicates by default
* Updated CSIP to unlock Non-bonded devices immediately.
* Updated PACS to notify bonded clients on reconnect
* Updated ``bt_cap_stream_ops_register`` to always register BAP callbacks
* Updated the ASCS ACL disconnect behavior
* Updated to split ``bt_audio_codec_meta_get`` to ``cfg`` and ``cap``
* Direction Finding
* Host
* Added SMP bondable flag overlay per connection
* Added USE_NRPA advertising option
* Added ``BT_CONN_PARAM_ANY`` to allow setting any value to connection parameters
* Added advanced broadcast ISO parameters
* Added advanced unicast ISO parameters
* Added new API to manage Bluetooth settings storage
* Fixed HCI ISO Data packets fragmentation
* Fixed HCI ISO SDU length sent to controller
* Fixed OTS ``bt_ots_init`` parameter struct naming
* Fixed OTS memory leak while procedure is not finished
* Fixed a connection reference leak
* Fixed forced pairing request handling
* Fixed host to invalidate the Resolvable Private Address when starting legacy advertising
* Fixed issue with ``bt_iso_cig_reconfigure``
* Fixed possible buffer overflow in ``bt_conn_le_start_encryption``
* Fixed some SMP issues
* Fixed to abort pairing if connection disconnected
* Updated L2CAP accept callbacks
* Updated LE L2CAP connected callback to be after connection response
* Updated PAwR implementation to use RPA as responder address if BT_PRIVACY=y
* Mesh
* Added TF-M support.
* Added support to use both tinycrypt and PSA based crypto
* Added full virtual addresses support with the collisions resolution. The
:kconfig:option:`CONFIG_BT_MESH_LABEL_NO_RECOVER` Kconfig option is introduced to restore the
addresses for the subscription list and model publication.
* Added statistic module.
* Fixed an issue where a node acting as a LPN was triggering Friend Poll messages when sending a
segmented message over the loopback interface.
* Fixed an issue where provisioning completes successfully on a node when the identical Public Key
is used by a provisioner.
* Fixed an issue where the :c:func:`settings_load` function called from a cooperative thread other
than the system workqueue caused the GATT Mesh Proxy Service registration to fail.
* Fixed an issue where a node could enter IV Update in Progress state if an old SNB with the
current IV Index and IV Update flag set to 1 was resent.
* Mesh Protocol v1.1 changes
* Added storing Private GATT Proxy state persistently.
* Added support for Firmware Distribution Upload OOB Start message in the Firwmware Distribution
Server model. The message support can be enabled with the
:kconfig:option:`CONFIG_BT_MESH_DFD_SRV_OOB_UPLOAD` Kconfig option.
* Added extended provisioning protocol timeout when OOB methods are used in the provisioning.
* Added support for Composition Data Pages 2, 129 and 130.
* Added documentation for Composition Data Pages 0, 1, 2, 128, 129 and 130.
* Added documentation for the Segmentation and Reassembly in the Transport layer.
* Added documentation for the SAR Configuration models
* Fixed an issue where the Opcode Aggregator Server model did not compile without the Opcode
Aggregator Client model.
* Fixed an issue where the identity address was used in Private GATT Proxy advertisements
instead of Non-Resolvable Private Addresses.
* Fixed the Proxy Privacy parameter support.
* Fixed an issue where the Composition Data Page 128 was not present on a node that has
instantiated the Remote Provisioning Server model.
* Fixed an issue where the Large Composition Data Server model did not support Composition Data
Pages other then 0.
* Fixed an issue where the Remote Provisioning Client model instanted on a node together with
the Remote Provisioning Server model could not reprovision itself.
* Fixed an issue where the acknowledgment timer in the Segmentation and Reassembly was not
restarted when the incoming Segment Acknowledgment message did not contain at least one
segment newly marked as acknowledged.
* Fixed an issue where the On-Demand Private Proxy Server and Client models had interdependency
that did not allow to compile them separately.
* Controller
Improved support for Broadcast and Connected Isochronous channels in the Controller, enabling
LE audio application development. The Controller is experimental, is missing implementations for
interleaved packing in Isochronous channels' lower link layer.
* Added Checks for minimum sizes of Adv PDUs
* Added Kconfig Option to ignore Tx HCI ISO Data Packet Seq Num
* Added Kconfig for avoiding ISO SDU fragmentation
* Added Kconfig to maximize BIG event length and preempt PTO & CTRL subevents
* Added ``BT_CTLR_EVENT_OVERHEAD_RESERVE_MAX`` Kconfig
* Added memory barrier to ticker transactions
* Added missing nRF53x Tx Power Kconfig
* Added support for Flush Timeout in Connected ISO
* Fixed BIS payload sliding window overrun check
* Fixed CIS Central FT calculation
* Fixed CIS Central error handling
* Fixed CIS asymmetric PHY usage
* Fixed CIS encryption when DF support enabled
* Fixed ISO-AL for quality tests and time stamps
* Fixed PHY value in HCI LE CIS Established Event
* Fixed ULL stuck in semaphore under rare conditions
* Fixed assertion due to late PER CIS active set
* Fixed compiler instruction re-ordering that caused assertions
* Fixed connected ISO dynamic tx power
* Fixed failing advertising conformance tests
* Fixed handling received Auxiliary PDUs when Coded PHY not supported
* Fixed leak in scheduled ticker node when rescheduling ticker nodes
* Fixed missing host feature reset
* Fixed nRF53 SoC back-to-back PDU chaining
* Fixed nRF53 SoC back-to-back Tx Rx implementation
* Fixed regression in Adv PDU overflow calculation
* Fixed regression in observer that caused assertions and scheduling stall
* Fixed use of pre-programmed PPI on nRF SoCs
* Removed HCI ISO data with invalid status in preparation for FT support
* Updated Extended Advertising Report to not be generated when ``AUX_ADV_IND`` not received
* Updated to have ``EVENT_OVERHEAD_START_US`` verbose assertion in each state/role LLL
* Updated to stop following ``aux_ptr`` if ``DATA_LEN_MAX`` is reached during extended scanning
Boards & SoC Support
********************
* Added support for these SoC series:
* Nuvoton NuMaker M46x series
* Added support for STM32F072X8 SoC variants
* Added support for STM32L051X6 SoC variants
* Added support for STM32L451XX SoC variants
* Added support for STM32L4Q5XX SoC variants
* Added support for STM32WBA SoC series
* Removed support for these SoC series:
* Made these changes in other SoC series:
* i.MX RT SOCs no longer enable CONFIG_DEVICE_CONFIGURATION_DATA by default.
boards using external SDRAM should set CONFIG_DEVICE_CONFIGURATION_DATA
and CONFIG_NXP_IMX_EXTERNAL_SDRAM to enabled.
* i.MX RT SOCs no longer support CONFIG_OCRAM_NOCACHE, as this functionality
can be achieved using devicetree memory regions
* Refactored ESP32 SoC folders. So now these are a proper SoC series.
* RP2040: Changed to reset the I2C device on initializing
* Added support for these ARC boards:
* Added support for nsim_vpx5 - simulation (nSIM) platform with ARCv2 VPX5 core, close to
vpx5_integer_full template
* Added support for nsim_hs5x_smp_12cores - simulation (nSIM) platform with 12 cores SMP 32-bit
ARCv3 HS
* Added support for nsim_hs6x_smp_12cores - simulation (nSIM) platform with 12 cores SMP 64-bit
ARCv3 HS
* Added support for these ARM boards:
* Nuvoton NuMaker Platform M467
* ST Nucleo U5A5ZJ Q
* ST Nucleo WBA52CG
* Added support for these ARM64 boards:
* Added support for these RISC-V boards:
* Added support for these X86 boards:
* Added support for these Xtensa boards:
* Added ``esp32_devkitc_wroom`` and ``esp32_devkitc_wrover``.
* Added ``esp32s3_luatos_core``.
* Added ``m5stack_core2``.
* Added ``qemu_xtensa_mmu`` utilizing Diamond DC233c SoC to support
testing Xtensa MMU.
* Added ``xiao_esp32s3``.
* Added ``yd_esp32``.
* Added support for these POSIX boards:
* :ref:`native_sim(_64) <native_sim>`
* nrf5340bsim_nrf5340_cpu(net|app). A simulated nrf5340 SOC, which uses Babblesim for its radio
traffic.
* Made these changes for ARC boards:
* Turned off unsupported stack checking option for hsdk4xd platform
* Changed vendor prefix for ARC QEMU platforms from "qemu" to "snps"
* Made these changes for ARM boards:
* ST morpho connector description was added on ST nucleo boards.
* rpi_pico:
* The default adapter when debugging with openocd has been changed to cmsis-dap.
* Made these changes for ARM64 boards:
* Made these changes for RISC-V boards:
* Made these changes for X86 boards:
* Made these changes for Xtensa boards:
* esp32s3_devkitm:
* Added USB-CDC support.
* Added CAN support.
* Made these changes for POSIX boards:
* nrf52_bsim:
* Has been reworked to use the native simulator as its runner.
* Multiple HW models improvements and fixes. GPIO & GPIOTE peripherals added.
* Removed support for these ARC boards:
* Removed support for these ARM boards:
* Removed support for these ARM64 boards:
* Removed support for these RISC-V boards:
* Removed support for these X86 boards:
* Removed support for these Xtensa boards:
* Removed ``esp32``. Use ``esp32_devkitc_*`` instead.
* Made these changes in other boards:
* Added support for these following shields:
* Adafruit PiCowbell CAN Bus Shield for Pico
* Arduino UNO click shield
* G1120B0MIPI MIPI Display
* MikroElektronika MCP2518FD Click shield (CAN-FD)
* RK055HDMIPI4M MIPI Display
* RK055HDMIPI4MA0 MIPI Display
* Semtech SX1276MB1MAS LoRa Shield
Build system and infrastructure
*******************************
* SCA (Static Code Analysis)
* Added support for CodeChecker
* Twister now supports ``required_snippets`` in testsuite .yml files, this can
be used to include a snippet when a test is ran (and exclude any boards from
running that the snippet cannot be applied to).
* Interrupts
* Added support for shared interrupts
* Added support for setting MCUboot encryption key in sysbuild which is then
propagated to the bootloader and target images to automatically create
encrypted updates.
* Build time priority checking: enable build time priority checking by default.
This fails the build if the initialization sequence in the final ELF file
does not match the devicetree hierarchy. It can be turned off by disabling
the :kconfig:option:`CONFIG_CHECK_INIT_PRIORITIES` option.
* Added a new ``initlevels`` target for printing the final device and
:c:macro:`SYS_INIT` initialization sequence from the final ELF file.
* Reworked syscall code generations so that not all marshalling functions
will be included in the final binary. Syscalls associated with disabled
subsystems no longer have their marshalling functions generated.
* Partially enabled compiler warning about shadow variables for subset of
in-tree code. Out-of-tree code needs to be patched before we can fully
enable shadow variable warnings.
Drivers and Sensors
*******************
* ADC
* Added support for STM32F0 HSI14 clock (dedicated ADC clock)
* Added support for STM32 ADC source clock and prescaler. On STM32F1 and STM32F3
series, ADC prescaler can be configured using dedicated RCC Clock Controller
option.
* Added support for the ADC sequencer for all STM32 series (except F1)
* Fixed STM32F4 ADC temperature and Vbat measurement.
* Added driver for TI ADS1112.
* Added driver for TI TLA2021.
* Added driver for Gecko ADC.
* Added driver for NXP S32 ADC SAR.
* Added driver for MAX1125x family.
* Added driver for MAX11102-MAX1117.
* CAN
* Added support for TI TCAN4x5x CAN-FD controller with integrated transceiver
(:dtcompatible:`ti,tcan4x5x`).
* Added support for Microchip MCP251xFD CAN-FD controller (:dtcompatible:`microchip,mcp251xfd`).
* Added support for CAN statistics to the Bosch M_CAN controller driver backend.
* Switched the NXP S32 CANXL driver to use clock control for the CAN clock instead of hard-coding
a CAN clock frequency in the devicetree.
* Clock control
* Added support for Nuvoton NuMaker M46x
* Counter
* Added :kconfig:option:`CONFIG_COUNTER_RTC_STM32_SUBSECONDS` to enable subsecond as
the basic time tick on STM32 RTC based counter driver.
* Added support for Raspberry Pi Pico Timer
* DAC
* Added support for Analog Devices AD56xx
* Added support for NXP lpcxpresso55s36 (LPDAC)
* Disk
* Ramdisk driver is now configured using devicetree, and supports multiple
instances
* Display
* Added support for ST7735S (in ST7735R driver)
* DMA
* Added support for NXP S32K to the eDMA driver
* Added support for NXP SMARTDMA
* Added support for NXP Pixel Pipeline (PXP) for display acceleration
* Added support for DMA get_status() to the SAM XDMAC driver
* Fixes for Intel HDA driver for L1 entry/exit, explicit SCS (sample container) settings
* Fixes for STM32U5 enables error interrupts, fixes block size and data size configuration
* Better Kconfig options for tuning static memory usage in NXP LPC driver
* EEPROM
* Added support for Fujitsu MB85RCxx series I2C FRAM (:dtcompatible:`fujitsu,mb85rcxx`).
* Entropy
* Added a requirement for ``entropy_get_entropy()`` to be thread-safe because
of random subsystem needs.
* Ethernet
* Added :kconfig:option:`CONFIG_ETH_NATIVE_POSIX_RX_TIMEOUT` to set rx timeout for native posix.
* Added support for adin2111.
* Added support for NXP S32 GMAC.
* Added support for promiscuous mode in eth_smsc91x.
* Added support for STM32H5X SOC series.
* Added support for MDIO Clause 45 APIs.
* Added support for YD-ESP32 board Ethernet.
* Fixed stm32 to generate more unique MAC address by using device id as a base for the MAC.
* Fixed mcux to increase the PTP timestamp accuracy from 20us to 200ns.
* Fixed Ethernet max header size when using VLAN.
* Removed the ``mdio`` DT property. Please use :c:macro:`DT_INST_BUS()` in the driver instead.
* Reworked the device node hierarchy in smsc91x.
* Renamed the phy-dev property with phy-handle to match the Linux ethernet-controller binding
and move it up to ethernet.yaml so that it can be used by other drivers.
* Updated Ethernet PHY to use ``reg`` property in DT bindings.
* Updated driver DT bindings to use ``ethernet-phy`` devicetree node name consistently.
* Updated esp32 and sam-gmac DT so that the phy is pointed by a phandle rather than
a child node, this makes the phy device a child of mdio.
* Flash
* Introduce npcx flash driver that supports two or more spi nor flashes via a
single Flash Interface Unit (FIU) module and Direct Read Access (DRA) mode
for better performance.
* Added support for Nuvoton NuMaker M46x embedded flash
* STM32 QSPI driver now supports Jedec SFDP parameter reading.
* STM32 OSPI driver now supports both Low and High ports of IO manager.
* GPIO
* Added support for Nuvoton NuMaker M46x
* I2C
* STM32 V1 driver now supports large transactions (more than 256 bytes chunks)
* STM32 V2 driver now supports 10-bit addressing.
* I2C devices can now be used as wakeup source from STOP modes on STM32.
* Fix long ISR execution in Silicon Labs I2C target callback
* Fail gracefully on DMA max size for nRF52 devices in the TWIM driver
* Added support for Intel LPSS DMA usage in the DesignWare driver
* Added filtering of dumped messages for debugging using DeviceTree
* Added target mode to Silicon Labs Gecko driver
* Added Intel SEDI driver
* Added Infineon XMC4 driver
* Added Microchip PolarFire SoC driver
* Added Ambiq driver for Apollo4 SoCs
* I2S
* Fixed handling of the PCM data format in the NXP MCUX driver.
* I3C
* ``i3c_cdns``:
* Fixed build error when :kconfig:option:`CONFIG_I3C_USE_IBI` is disabled.
* Fixed transfer issue when controller is busy. Now wait for controller to
idle before proceeding with another transfer.
* IEEE 802.15.4
* A new mandatory method attr_get() was introduced into ieee802154_radio_api.
Drivers need to implement at least
IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_PAGES and
IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_RANGES.
* The hardware capabilities IEEE802154_HW_2_4_GHZ and IEEE802154_HW_SUB_GHZ
were removed as they were not aligned with the standard and some already
existing drivers couldn't properly express their channel page and channel
range (notably SUN FSK and HRP UWB drivers). The capabilities were replaced
by the standard conforming new driver attribute
IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_PAGES that fits all in-tree drivers.
* The method get_subg_channel_count() was removed from ieee802154_radio_api.
This method could not properly express the channel range of existing drivers
(notably SUN FSK drivers that implement channel pages > 0 and may not have
zero-based channel ranges or UWB drivers that could not be represented at
all). The method was replaced by the new driver attribute
IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_RANGES that fits all in-tree drivers.
* Interrupt Controller
* GIC: Architecture version selection is now based on the device tree
* Input
* New drivers: :dtcompatible:`gpio-qdec`, :dtcompatible:`st,stmpe811`.
* Drivers converted from Kscan to Input: :dtcompatible:`goodix,gt911`
:dtcompatible:`xptek,xpt2046` :dtcompatible:`hynitron,cst816s`
:dtcompatible:`microchip,cap1203`.
* Added a Kconfig option for dumping all events to the console
:kconfig:option:`CONFIG_INPUT_EVENT_DUMP` and new shell commands
:kconfig:option:`CONFIG_INPUT_SHELL`.
* Merged ``zephyr,gpio-keys`` into :dtcompatible:`gpio-keys` and added
``zephyr,code`` codes to all in-tree board ``gpio-keys`` nodes.
* Renamed the callback definition macro from ``INPUT_LISTENER_CB_DEFINE`` to
:c:macro:`INPUT_CALLBACK_DEFINE`.
* PCIE
* Added support in shell to display PCIe capabilities.
* Added virtual channel support.
* Added kconfig :kconfig:option:`CONFIG_PCIE_INIT_PRIORITY` to specify
initialization priority for host controller.
* Added support to get IRQ from ACPI PCI Routing Table (PRT).
* ACPI
* Adopted the ACPICA library as a new module to further enhance ACPI support.
* Pin control
* Added support for Nuvoton NuMaker M46x
* PWM
* Added 4 channels capture on STM32 PWM driver.
* Added driver for Intel Blinky PWM.
* Added driver for MAX31790.
* Added driver for Infineon XMC4XXX CCU4.
* Added driver for Infineon XMC4XXX CCU8.
* Added MCUX CTimer based PWM driver.
* Added PWM driver based on TI CC13xx/CC26xx GPT timer.
* Reworked the pwm_nrf5_sw driver so that it can be used also on nRF53 and
nRF91 Series. Consequently, the driver was renamed to pwm_nrf_sw.
* Added driver for Nuvoton NuMaker family.
* Added PWM driver based on NXP S32 EMIOS peripheral.
* Regulators
* Added support for GPIO-controlled voltage regulator
* Added support for AXP192 PMIC
* Added support for NXP VREF regulator
* Fixed regulators can now specify their operating voltage
* PFM mode is now support for nPM1300
* Added new API to configure "ship" mode
* Regulator shell allows to configure DVS modes
* Reset
* Added support for Nuvoton NuMaker M46x
* Retained memory
* Added support for allowing mutex support to be forcibly disabled with
:kconfig:option:`CONFIG_RETAINED_MEM_MUTEX_FORCE_DISABLE`.
* Fixed issue with user mode support not working.
* RTC
* Added support for STM32 RTC API driver. This driver is not compatible with
the use of RTC based implementation of COUNTER API.
* SDHC
* Added driver for EMMC Host controller present on Alder lake platforms
* Added driver for Atmel HSMCI controller present on SAM4E MCU series
* Sensor
* Reworked the :dtcompatible:`ti,bq274xx` to add ``BQ27427`` support, fixed
units for capacity and power channels.
* Added ADC current sense amplifier and voltage sensor drivers.
* Added ADI LTC2990 voltage, current, and temperature sensor driver.
* Added AMS TSL2540 ambient light sensor driver.
* Added Bosch BMI08x accelerometer/gyroscope driver.
* Added DFRobot A01NYUB distance sensor driver.
* Added Fintek F75303 temperature sensor driver.
* Added Isentek IST8310 magnetometer driver.
* Added Microchip TCN75A temperature sensor driver.
* Added NXP TEMPMON driver.
* Added Seeed HM330X dust sensor driver.
* Added TI TMAG5170 3D Hall sensor driver.
* Added power management support to BMM150, LM75, and Microchip tachometer
drivers.
* Added trigger support to the BMM150 magnetometer driver.
* Added tap trigger support to the LIS2DH accelerometer driver.
* Updated ST sensor drivers to use STMEMSC HAL i/f v2.3
* Updated the decoder APIs to vertically decode raw sensor data.
* Various fixes and enhancements in the NTC thermistor and INA23x drivers.
* Serial
* Added support for Nuvoton NuMaker M46x
* NS16550: Reworked how device initialization macros.
* ``CONFIG_UART_NS16550_ACCESS_IOPORT`` and ``CONFIG_UART_NS16550_SIMULT_ACCESS``
are removed. For UART using IO port access, add ``io-mapped`` property to
device tree node.
* Added async support for ESP32S3.
* Added support for serial TTY under ``native_posix``.
* Added support for UART on Efinix Sapphire SoCs.
* Added Intel SEDI UART driver.
* Added support for UART on BCM2711.
* ``uart_stm32``:
* Added RS485 support.
* Added wide data support.
* ``uart_pl011``: added support for Ambiq SoCs.
* ``serial_test``: added support for interrupt and async APIs.
* ``uart_emul``: added support for interrupt API.
* ``uart_rpi_pico``: fixed handling Modbus DE-RE signal
* SPI
* Remove npcx spi driver implemented by Flash Interface Unit (FIU) module.
* Added support for Raspberry Pi Pico PIO based SPI.
* Timer
* The TI CC13xx/26xx system clock timer compatible was changed from
:dtcompatible:`ti,cc13xx-cc26xx-rtc` to :dtcompatible:`ti,cc13xx-cc26xx-rtc-timer`
and the corresponding Kconfig option from :kconfig:option:`CC13X2_CC26X2_RTC_TIMER`
to :kconfig:option:`CC13XX_CC26XX_RTC_TIMER` for improved consistency and
extensibility. No action is required unless the internal timer was modified.
* USB
* Added UDC driver for STM32 based MCU, relying on HAL/PCD. This driver is compatible
with UDC API (experimental).
* Added support for STM32H5 series on USB driver.
* WiFi
* Increased esp32 default network (TCP workq, RX and mgmt event) stack sizes to 2048 bytes.
* Reduced the RAM usage for esp32s2_saola in Wi-Fi samples.
* Fixed undefined declarations in winc1500.
* Fixed SPI buffer length in eswifi.
* Fixed esp32 data sending and channel selection in AP mode.
* Fixed esp_at driver init and network interface dormant state setting.
Networking
**********
* CoAP:
* Optimized CoAP client library to use only a single thread internally.
* Converted CoAP client library to use ``zsock_*`` API internally.
* Fixed a bug in CoAP client library, which resulted in an incorrect
retransmission timeout calculation.
* Use 64 bit timer values for calculating transmission timeouts. This fixes potential problems for
devices that stay on for more than 49 days when the 32 bit uptime counter might roll over and
cause CoAP packets to not timeout at all on this event.
* API documentation improvements.
* Added new API functions:
* :c:func:`coap_has_descriptive_block_option`
* :c:func:`coap_remove_descriptive_block_option`
* :c:func:`coap_packet_remove_option`
* :c:func:`coap_packet_set_path`
* Connection Manager:
* Added support for auto-connect and auto-down behaviors (controlled by
:c:enum:`CONN_MGR_IF_NO_AUTO_CONNECT` and :c:enum:`CONN_MGR_IF_NO_AUTO_DOWN`
flags).
* Split Connection Manager APIs into separate header files.
* Extended Connection Manager documentation to cover new functionalities.
* DHCP:
* Added support for DHCPv4 unicast replies processing.
* Added support for DHCPv6 protocol.
* Ethernet:
* Fixed ARP queueing so that the queued network packet is sent immediately
instead of queued 2nd time in the core network stack.
* gPTP:
* Added support for detecting gPTP packets that use the default multicast destination address.
* Fixed Announce and Follow Up message handling.
* ICMP:
* Fixed ICMPv6 error message type check.
* Reworked ICMP callback registration and handling, which allows to register
multiple handlers for the same ICMP message.
* Introduced an API to send ICMP Echo Request (ping).
* Added possibility to register offloaded ICMP ping handlers.
* Added support for setting packet priority for ping.
* IPv6:
* Made sure that ongoing DAD procedure is cancelled when IPv6 address is removed.
* Fixed a bug, where Solicited-Node multicast address could be removed while
still in use.
* LwM2M:
* Added support for tickless mode. This removes the 500 ms timeout from the socket loop
so the engine does not constantly wake up the CPU. This can be enabled by
:kconfig:option:`CONFIG_LWM2M_TICKLESS`.
* Added new :c:macro:`LWM2M_RD_CLIENT_EVENT_DEREGISTER` event.
* Block-wise sending now supports LwM2M read and composite-read operations as well.
When :kconfig:option:`CONFIG_LWM2M_COAP_BLOCK_TRANSFER` is enabled, any content that is larger
than :kconfig:option:`CONFIG_LWM2M_COAP_MAX_MSG_SIZE` is split into a block-wise transfer.
* Block-wise transfers don't require tokens to match anymore as this was not in line
with CoAP specification (CoAP doesn't require tokens reuse).
* Various fixes to bootstrap. Now client ensures that Bootstrap-Finish command is sent,
before closing the DTLS pipe. Also allows Bootstrap server to close the DTLS pipe.
Added timeout when waiting for bootstrap commands.
* Added support for X509 certificates.
* Various fixes to string handling. Allow setting string to zero length.
Ensure string termination when using string operations on opaque resources.
* Added support for Connection Monitoring object version 1.3.
* Added protection for Security object to prevent read/writes by the server.
* Fixed a possible notification stall in case of observation token change.
* Added new shell command, ``lwm2m create``, which allows to create LwM2M object instances.
* Added LwM2M interoperability test-suite against Leshan server.
* API documentation improvements.
* Several other minor fixes and improvements.
* Misc:
* Time and timestamps in the network subsystem, PTP and IEEE 802.15.4
were more precisely specified and all in-tree call sites updated accordingly.
Fields for timed TX and TX/RX timestamps have been consolidated. See
:c:type:`net_time_t`, :c:struct:`net_ptp_time`, :c:struct:`ieee802154_config`,
:c:struct:`ieee802154_radio_api` and :c:struct:`net_pkt` for extensive
documentation. As this is largely an internal API, existing applications will
most probably continue to work unchanged.
* Added support for additional net_pkt filter hooks:
* :kconfig:option:`CONFIG_NET_PKT_FILTER_IPV4_HOOK`
* :kconfig:option:`CONFIG_NET_PKT_FILTER_IPV6_HOOK`
* :kconfig:option:`CONFIG_NET_PKT_FILTER_LOCAL_IN_HOOK`
* Reworked several networking components to use timepoint API.
* Added API functions facilitate going through all IPv4/IPv6 registered on an
interface (:c:func:`net_if_ipv4_addr_foreach`, :c:func:`net_if_ipv6_addr_foreach`).
* ``NET_EVENT_IPV6_PREFIX_ADD`` and ``NET_EVENT_IPV6_PREFIX_DEL`` events now provide
more detailed information about the prefix (:c:struct:`net_event_ipv6_prefix`).
* General cleanup of the shadowed variables across the networking subsystem.
* Added ``qemu_cortex_a53`` networking support.
* Introduced new modem subsystem.
* Added new :zephyr:code-sample:`cellular-modem` sample.
* Added support for network interface names (instead of reusing underlying device name).
* Removed support for Google Cloud IoT sample due to service retirement.
* Fixed a bug where packets passed in promiscuous mode could have been modified
by L2 in certain cases.
* Added support for setting syslog server (used for networking log backend)
IP address at runtime.
* Removed no longer used ``queued`` and ``sent`` net_pkt flags.
* Added support for binding zperf TCP/UDP server to a specific IP address.
* MQTT-SN:
* Improved thread safety of internal buffers allocation.
* API documentation improvements.
* OpenThread:
* Reworked :c:func:`otPlatEntropyGet` to use :c:func:`sys_csrand_get` internally.
* Introduced ``ieee802154_radio_openthread.h`` radio driver extension interface
specific for OpenThread. Added new transmit mode, specific to OpenThread,
:c:enum:`IEEE802154_OPENTHREAD_TX_MODE_TXTIME_MULTIPLE_CCA`.
* PPP:
* Fixed PPP L2 usage of the network interface carrier state.
* Made PPP L2 thread priority configurable (:kconfig:option:`CONFIG_NET_L2_PPP_THREAD_PRIO`).
* Moved PPP L2 out of experimental stage.
* Prevent PPP connection reestablish when carrier is down.
* Sockets:
* Added support for statically allocated socketpairs (in case no heap is available).
* Made send timeout configurable (:kconfig:option:`CONFIG_NET_SOCKET_MAX_SEND_WAIT`).
* Added support for ``FIONREAD`` and ``FIONBIO`` :c:func:`ioctl` commands.
* Fixed input filtering for connected datagram sockets.
* Fixed :c:func:`getsockname` operation on unconnected sockets.
* Added new secure socket options for DTLS Connection ID support:
* :c:macro:`TLS_DTLS_CID`
* :c:macro:`TLS_DTLS_CID_VALUE`
* :c:macro:`TLS_DTLS_PEER_CID_VALUE`
* :c:macro:`TLS_DTLS_CID_STATUS`
* Added support for :c:macro:`SO_REUSEADDR` and :c:macro:`SO_REUSEPORT` socket options.
* TCP:
* Fixed potential stall in data retransmission, when data was only partially acknowledged.
* Made TCP work queue priority configurable (:kconfig:option:`CONFIG_NET_TCP_WORKER_PRIO`).
* Added support for TCP new Reno collision avoidance algorithm.
* Fixed source address selection on bound sockets.
* Fixed possible memory leak in case listening socket was closed during active handshake.
* Fixed RST packet handling during handshake.
* Refactored the code responsible for connection teardown to fix found bugs and
simplify future maintenance.
* TFTP:
* Added new :zephyr:code-sample:`tftp-client` sample.
* API documentation improvements.
* WebSocket
* WebSocket library no longer closes underlying TCP socket automatically on disconnect.
This aligns with the connect behavior, where the WebSocket library expects an already
connected TCP socket.
* Wi-Fi:
* Added Passive scan support.
* The Wi-Fi scan API updated with Wi-Fi scan parameter to allow scan mode selection.
* Updated TWT handling.
* Added support for generic network manager API.
* Added support for Wi-Fi mode setting and selection.
* Added user input validation for SSID and PSK in Wi-Fi shell.
* Added scan extension for specifying channels, limiting scan results, filtering SSIDs,
setting active and passive channel dwell times and frequency bands.
USB
***
* USB device HID
* Kconfig option USB_HID_PROTOCOL_CODE, deprecated in v2.6, is finally removed.
Devicetree
**********
API
===
New general-purpose macros:
- :c:macro:`DT_REG_ADDR_U64`
- :c:macro:`DT_REG_ADDR_BY_NAME_U64`
- :c:macro:`DT_INST_REG_ADDR_BY_NAME_U64`
- :c:macro:`DT_INST_REG_ADDR_U64`
- :c:macro:`DT_FOREACH_STATUS_OKAY_NODE_VARGS`
- :c:macro:`DT_FOREACH_NODE_VARGS`
- :c:macro:`DT_HAS_COMPAT_ON_BUS_STATUS_OKAY`
New special-purpose macros introduced for dependency ordinals:
- :c:macro:`DT_DEP_ORD_STR_SORTABLE`
New general purpose macros introduced for fixed flash partitions:
- :c:macro:`DT_MEM_FROM_FIXED_PARTITION`
- :c:macro:`DT_FIXED_PARTITION_ADDR`
Bindings
========
* Generic or vendor-independent:
* New bindings:
* :dtcompatible:`current-sense-amplifier`
* :dtcompatible:`current-sense-shunt`
* :dtcompatible:`gpio-qdec`
* :dtcompatible:`regulator-gpio`
* :dtcompatible:`usb-audio-feature-volume`
* Modified bindings:
* CAN (Controller Area Network) controller bindings:
* property ``phase-seg1-data`` deprecation status changed from False to True
* property ``phase-seg1`` deprecation status changed from False to True
* property ``phase-seg2-data`` deprecation status changed from False to True
* property ``phase-seg2`` deprecation status changed from False to True
* property ``prop-seg-data`` deprecation status changed from False to True
* property ``prop-seg`` deprecation status changed from False to True
* property ``sjw-data`` default value changed from None to 1
* property ``sjw-data`` deprecation status changed from False to True
* property ``sjw`` default value changed from None to 1
* property ``sjw`` deprecation status changed from False to True
* Ethernet controller bindings: new ``phy-handle`` property (in some
bindings, this was renamed from ``phy-dev``), matching the Linux
ethernet-controller binding.
* The ``riscv,isa`` property used by RISC-V CPU bindings no longer has an
``enum`` value.
* :dtcompatible:`neorv32-cpu`:
* new property: ``mmu-type``
* new property: ``riscv,isa``
* :dtcompatible:`regulator-fixed`:
* new property: ``regulator-min-microvolt``
* new property: ``regulator-max-microvolt``
* property ``enable-gpios`` is no longer required
* :dtcompatible:`ethernet-phy`:
* removed property: ``address``
* removed property: ``mdio``
* property ``reg`` is now required
* :dtcompatible:`usb-audio-hs` and :dtcompatible:`usb-audio-hp`:
* new property: ``volume-max``
* new property: ``volume-min``
* new property: ``volume-res``
* new property: ``status``
* new property: ``compatible``
* new property: ``reg``
* new property: ``reg-names``
* new property: ``interrupts``
* new property: ``interrupts-extended``
* new property: ``interrupt-names``
* new property: ``interrupt-parent``
* new property: ``label``
* new property: ``clocks``
* new property: ``clock-names``
* new property: ``#address-cells``
* new property: ``#size-cells``
* new property: ``dmas``
* new property: ``dma-names``
* new property: ``io-channels``
* new property: ``io-channel-names``
* new property: ``mboxes``
* new property: ``mbox-names``
* new property: ``wakeup-source``
* new property: ``power-domain``
* new property: ``zephyr,pm-device-runtime-auto``
* :dtcompatible:`ntc-thermistor-generic`:
* removed property: ``r25-ohm``
* :dtcompatible:`ns16550`:
* new property: ``resets``
* new property: ``reset-names``
* :dtcompatible:`fixed-clock`:
* removed property: ``clocks``
* All CPU bindings got a new ``enable-method`` property. `pull request
60210 <https://github.com/zephyrproject-rtos/zephyr/pull/60210>`_ for
details.
* Analog Devices, Inc. (adi):
* New bindings:
* :dtcompatible:`adi,ad5628`
* :dtcompatible:`adi,ad5648`
* :dtcompatible:`adi,ad5668`
* :dtcompatible:`adi,ad5672`
* :dtcompatible:`adi,ad5674`
* :dtcompatible:`adi,ad5676`
* :dtcompatible:`adi,ad5679`
* :dtcompatible:`adi,ad5684`
* :dtcompatible:`adi,ad5686`
* :dtcompatible:`adi,ad5687`
* :dtcompatible:`adi,ad5689`
* :dtcompatible:`adi,adin1110`
* :dtcompatible:`adi,adltc2990`
* Modified bindings:
* :dtcompatible:`adi,adin2111-mdio` (on adin2111 bus):
* removed property: ``protocol``
* Altera Corp. (altr):
* New bindings:
* :dtcompatible:`altr,pio-1.0`
* Ambiq Micro, Inc. (ambiq):
* New bindings:
* :dtcompatible:`ambiq,am1805`
* :dtcompatible:`ambiq,apollo4-pinctrl`
* :dtcompatible:`ambiq,counter`
* :dtcompatible:`ambiq,i2c`
* :dtcompatible:`ambiq,mspi`
* :dtcompatible:`ambiq,pwrctrl`
* :dtcompatible:`ambiq,spi`
* :dtcompatible:`ambiq,stimer`
* :dtcompatible:`ambiq,uart`
* :dtcompatible:`ambiq,watchdog`
* AMS AG (ams):
* New bindings:
* :dtcompatible:`ams,tsl2540`
* Andes Technology Corporation (andestech):
* New bindings:
* :dtcompatible:`andestech,atcwdt200`
* :dtcompatible:`andestech,plic-sw`
* :dtcompatible:`andestech,qspi-nor`
* ARM Ltd. (arm):
* New bindings:
* :dtcompatible:`arm,cortex-a76`
* :dtcompatible:`arm,gic-v1`
* :dtcompatible:`arm,gic-v2`
* :dtcompatible:`arm,gic-v3`
* :dtcompatible:`arm,psci-1.1`
* ASPEED Technology Inc. (aspeed):
* Modified bindings:
* :dtcompatible:`aspeed,ast10x0-reset`:
* specifier cells for space "reset" are now named: ['id'] (old value: None)
* specifier cells for space "clock" are now named: None (old value: ['reset_id'])
* Atmel Corporation (atmel):
* New bindings:
* :dtcompatible:`atmel,sam-hsmci`
* Modified bindings:
* :dtcompatible:`atmel,sam-mdio`:
* removed property: ``protocol``
* property ``#address-cells`` const value changed from None to 1
* property ``#size-cells`` const value changed from None to 0
* property ``#address-cells`` is now required
* property ``#size-cells`` is now required
* Bosch Sensortec GmbH (bosch):
* New bindings:
* :dtcompatible:`bosch,bmi08x-accel`
* :dtcompatible:`bosch,bmi08x-accel`
* :dtcompatible:`bosch,bmi08x-gyro`
* :dtcompatible:`bosch,bmi08x-gyro`
* Modified bindings:
* :dtcompatible:`bosch,bmm150`:
* new property: ``drdy-gpios``
* :dtcompatible:`bosch,bmi270`:
* new property: ``irq-gpios``
* Broadcom Corporation (brcm):
* New bindings:
* :dtcompatible:`brcm,bcm2711-aux-uart`
* Cadence Design Systems Inc. (cdns):
* New bindings:
* :dtcompatible:`cdns,tensilica-xtensa-lx3`
* DFRobot (dfrobot):
* New bindings:
* :dtcompatible:`dfrobot,a01nyub`
* Efinix Inc (efinix):
* New bindings:
* :dtcompatible:`efinix,sapphire-gpio`
* :dtcompatible:`efinix,sapphire-timer0`
* :dtcompatible:`efinix,sapphire-uart0`
* EPCOS AG (epcos):
* Modified bindings:
* :dtcompatible:`epcos,b57861s0103a039`:
* removed property: ``r25-ohm``
* Espressif Systems (espressif):
* Modified bindings:
* :dtcompatible:`espressif,esp-at` (on uart bus):
* new property: ``external-reset``
* :dtcompatible:`espressif,esp32-mdio`:
* removed property: ``protocol``
* property ``#address-cells`` const value changed from None to 1
* property ``#size-cells`` const value changed from None to 0
* property ``#address-cells`` is now required
* property ``#size-cells`` is now required
* :dtcompatible:`espressif,riscv`:
* new property: ``mmu-type``
* new property: ``riscv,isa``
* :dtcompatible:`espressif,esp32-spi`:
* new property: ``line-idle-low``
* Feature Integration Technology Inc. (fintek):
* New bindings:
* :dtcompatible:`fintek,f75303`
* FocalTech Systems Co.,Ltd (focaltech):
* Modified bindings:
* :dtcompatible:`focaltech,ft5336` (on i2c bus):
* new property: ``reset-gpios``
* Fujitsu Ltd. (fujitsu):
* New bindings:
* :dtcompatible:`fujitsu,mb85rcxx`
* Shenzhen Huiding Technology Co., Ltd. (goodix):
* Modified bindings:
* :dtcompatible:`goodix,gt911` (on i2c bus):
* bus list changed from ['kscan'] to []
* new property: ``alt-addr``
* Himax Technologies, Inc. (himax):
* New bindings:
* :dtcompatible:`himax,hx8394`
* Infineon Technologies (infineon):
* New bindings:
* :dtcompatible:`infineon,cat1-counter`
* :dtcompatible:`infineon,cat1-spi`
* :dtcompatible:`infineon,xmc4xxx-ccu4-pwm`
* :dtcompatible:`infineon,xmc4xxx-ccu8-pwm`
* :dtcompatible:`infineon,xmc4xxx-i2c`
* Intel Corporation (intel):
* New bindings:
* :dtcompatible:`intel,agilex5-clock`
* :dtcompatible:`intel,alder-lake`
* :dtcompatible:`intel,apollo-lake`
* :dtcompatible:`intel,blinky-pwm`
* :dtcompatible:`intel,elkhart-lake`
* :dtcompatible:`intel,emmc-host`
* :dtcompatible:`intel,ish`
* :dtcompatible:`intel,loapic`
* :dtcompatible:`intel,sedi-gpio`
* :dtcompatible:`intel,sedi-i2c`
* :dtcompatible:`intel,sedi-ipm`
* :dtcompatible:`intel,sedi-uart`
* :dtcompatible:`intel,socfpga-agilex-sip-smc`
* :dtcompatible:`intel,socfpga-reset`
* :dtcompatible:`intel,timeaware-gpio`
* Removed bindings:
* ``intel,agilex-socfpga-sip-smc``
* ``intel,apollo_lake``
* ``intel,elkhart_lake``
* ``intel,gna``
* Modified bindings:
* :dtcompatible:`intel,niosv`:
* new property: ``mmu-type``
* new property: ``riscv,isa``
* :dtcompatible:`intel,adsp-imr`:
* new property: ``zephyr,memory-attr``
* property ``zephyr,memory-region-mpu`` enum value changed from ['RAM', 'RAM_NOCACHE', 'FLASH', 'PPB', 'IO', 'EXTMEM'] to None
* property ``zephyr,memory-region-mpu`` deprecation status changed from False to True
* :dtcompatible:`intel,lpss`:
* new property: ``dma-parent``
* :dtcompatible:`intel,adsp-shim-clkctl`:
* new property: ``adsp-clkctl-clk-ipll``
* Isentek Inc. (isentek):
* New bindings:
* :dtcompatible:`isentek,ist8310`
* Integrated Silicon Solutions Inc. (issi):
* New bindings:
* :dtcompatible:`issi,is31fl3216a`
* :dtcompatible:`issi,is31fl3733`
* ITE Tech. Inc. (ite):
* New bindings:
* :dtcompatible:`ite,it8xxx2-sha`
* Modified bindings:
* :dtcompatible:`ite,it8xxx2-pinctrl-func`:
* new property: ``func3-ext``
* new property: ``func3-ext-mask``
* :dtcompatible:`ite,riscv-ite`:
* new property: ``mmu-type``
* new property: ``riscv,isa``
* :dtcompatible:`ite,enhance-i2c`:
* new property: ``target-enable``
* new property: ``target-pio-mode``
* Linaro Limited (linaro):
* New bindings:
* :dtcompatible:`linaro,ivshmem-ipm`
* Maxim Integrated Products (maxim):
* New bindings:
* :dtcompatible:`maxim,max11102`
* :dtcompatible:`maxim,max11103`
* :dtcompatible:`maxim,max11105`
* :dtcompatible:`maxim,max11106`
* :dtcompatible:`maxim,max11110`
* :dtcompatible:`maxim,max11111`
* :dtcompatible:`maxim,max11115`
* :dtcompatible:`maxim,max11116`
* :dtcompatible:`maxim,max11117`
* :dtcompatible:`maxim,max11253`
* :dtcompatible:`maxim,max11254`
* :dtcompatible:`maxim,max31790`
* Microchip Technology Inc. (microchip):
* New bindings:
* :dtcompatible:`microchip,mcp251xfd`
* :dtcompatible:`microchip,mpfs-i2c`
* :dtcompatible:`microchip,tcn75a`
* Modified bindings:
* :dtcompatible:`microchip,xec-pwmbbled`:
* new property: ``enable-low-power-32k``
* :dtcompatible:`microchip,cap1203` (on i2c bus):
* bus list changed from ['kscan'] to []
* new property: ``input-codes``
* :dtcompatible:`microchip,xec-ps2`:
* new property: ``wakerx-gpios``
* Motorola, Inc. (motorola):
* Modified bindings:
* :dtcompatible:`motorola,mc146818`:
* new property: ``clock-frequency``
* Murata Manufacturing Co., Ltd. (murata):
* New bindings:
* :dtcompatible:`murata,ncp15wb473`
* Nordic Semiconductor (nordic):
* New bindings:
* :dtcompatible:`nordic,npm1300-led`
* :dtcompatible:`nordic,npm1300-wdt`
* Removed bindings:
* ``nordic,nrf-cc310``
* ``nordic,nrf-cc312``
* Modified bindings:
* :dtcompatible:`nordic,nrf-ccm`:
* new property: ``headermask-supported``
* :dtcompatible:`nordic,nrf-twi`:
* new property: ``easydma-maxcnt-bits``
* :dtcompatible:`nordic,nrf-twim` and :dtcompatible:`nordic,nrf-twis`:
* new property: ``easydma-maxcnt-bits``
* new property: ``memory-regions``
* new property: ``memory-region-names``
* :dtcompatible:`nordic,nrf-spi`, :dtcompatible:`nordic,nrf-spis`, and
:dtcompatible:`nordic,nrf-spim`:
* new property: ``wake-gpios``
* :dtcompatible:`nordic,npm1300-charger`:
* new property: ``thermistor-cold-millidegrees``
* new property: ``thermistor-cool-millidegrees``
* new property: ``thermistor-warm-millidegrees``
* new property: ``thermistor-hot-millidegrees``
* new property: ``trickle-microvolt``
* new property: ``term-current-percent``
* new property: ``vbatlow-charge-enable``
* new property: ``disable-recharge``
* :dtcompatible:`nordic,nrf-uicr`:
* new property: ``nfct-pins-as-gpios``
* new property: ``gpio-as-nreset``
* :dtcompatible:`nordic,npm1300` (on i2c bus):
* new property: ``host-int-gpios``
* new property: ``pmic-int-pin``
* Nuclei System Technology (nuclei):
* Modified bindings:
* :dtcompatible:`nuclei,bumblebee`:
* new property: ``mmu-type``
* new property: ``riscv,isa``
* Nuvoton Technology Corporation (nuvoton):
* New bindings:
* :dtcompatible:`nuvoton,nct38xx`
* :dtcompatible:`nuvoton,nct38xx-gpio`
* :dtcompatible:`nuvoton,npcx-fiu-nor`
* :dtcompatible:`nuvoton,npcx-fiu-qspi`
* :dtcompatible:`nuvoton,numaker-fmc`
* :dtcompatible:`nuvoton,numaker-gpio`
* :dtcompatible:`nuvoton,numaker-pcc`
* :dtcompatible:`nuvoton,numaker-pinctrl`
* :dtcompatible:`nuvoton,numaker-pwm`
* :dtcompatible:`nuvoton,numaker-rst`
* :dtcompatible:`nuvoton,numaker-scc`
* :dtcompatible:`nuvoton,numaker-spi`
* :dtcompatible:`nuvoton,numaker-uart`
* Removed bindings:
* ``nuvoton,nct38xx-gpio``
* ``nuvoton,npcx-spi-fiu``
* Modified bindings:
* :dtcompatible:`nuvoton,npcx-sha`:
* new property: ``context-buffer-size``
* :dtcompatible:`nuvoton,npcx-adc`:
* new property: ``vref-mv``
* removed property: ``threshold-reg-offset``
* :dtcompatible:`nuvoton,adc-cmp`:
* new property: ``thr-sel``
* :dtcompatible:`nuvoton,npcx-pcc`:
* new property: ``pwdwn-ctl-val``
* property ``clock-frequency`` enum value changed from [100000000, 96000000, 90000000, 80000000, 66000000, 50000000, 48000000, 40000000, 33000000] to [120000000, 100000000, 96000000, 90000000, 80000000, 66000000, 50000000, 48000000]
* property ``ram-pd-depth`` enum value changed from [12, 15] to [8, 12, 15]
* NXP Semiconductors (nxp):
* New bindings:
* :dtcompatible:`nxp,ctimer-pwm`
* :dtcompatible:`nxp,fs26-wdog`
* :dtcompatible:`nxp,imx-flexspi-w956a8mbya`
* :dtcompatible:`nxp,irqsteer-intc`
* :dtcompatible:`nxp,lpdac`
* :dtcompatible:`nxp,mbox-imx-mu`
* :dtcompatible:`nxp,mcux-dcp`
* :dtcompatible:`nxp,mcux-edma-v3`
* :dtcompatible:`nxp,pcf8563`
* :dtcompatible:`nxp,pxp`
* :dtcompatible:`nxp,s32-adc-sar`
* :dtcompatible:`nxp,s32-clock`
* :dtcompatible:`nxp,s32-emios`
* :dtcompatible:`nxp,s32-emios-pwm`
* :dtcompatible:`nxp,s32-gmac`
* :dtcompatible:`nxp,s32-qspi`
* :dtcompatible:`nxp,s32-qspi-device`
* :dtcompatible:`nxp,s32-qspi-nor`
* :dtcompatible:`nxp,s32k3-pinctrl`
* :dtcompatible:`nxp,smartdma`
* :dtcompatible:`nxp,tempmon`
* :dtcompatible:`nxp,vref`
* Modified bindings:
* :dtcompatible:`nxp,s32-netc-emdio`:
* removed property: ``protocol``
* property ``#address-cells`` const value changed from None to 1
* property ``#size-cells`` const value changed from None to 0
* property ``#address-cells`` is now required
* property ``#size-cells`` is now required
* :dtcompatible:`nxp,mipi-dsi-2l`:
* property ``nxp,lcdif`` is no longer required
* :dtcompatible:`nxp,imx-mipi-dsi`:
* property ``nxp,lcdif`` is no longer required
* :dtcompatible:`nxp,pca9633` (on i2c bus):
* new property: ``disable-allcall``
* :dtcompatible:`nxp,s32-sys-timer`:
* removed property: ``clock-frequency``
* property ``clocks`` is now required
* :dtcompatible:`nxp,imx-lpspi`:
* new property: ``data-pin-config``
* :dtcompatible:`nxp,s32-spi`:
* property ``clock-frequency`` is no longer required
* property ``clocks`` is now required
* :dtcompatible:`nxp,imx-wdog`:
* pinctrl support
* :dtcompatible:`nxp,s32-swt`:
* removed property: ``clock-frequency``
* property ``clocks`` is now required
* :dtcompatible:`nxp,lpc-lpadc`:
* new property: ``nxp,reference-supply``
* :dtcompatible:`nxp,kinetis-pit`:
* new property: ``max-load-value``
* property ``clocks`` is now required
* :dtcompatible:`nxp,mcux-edma`:
* new property: ``dmamux-reg-offset``
* new property: ``channel-gap``
* new property: ``irq-shared-offset``
* :dtcompatible:`nxp,imx-elcdif`:
* new property: ``nxp,pxp``
* ON Semiconductor Corp. (onnn):
* New bindings:
* :dtcompatible:`onnn,ncp5623`
* Princeton Technology Corp. (ptc):
* New bindings:
* :dtcompatible:`ptc,pt6314`
* Quectel Wireless Solutions Co., Ltd. (quectel):
* New bindings:
* :dtcompatible:`quectel,bg95`
* QuickLogic Corp. (quicklogic):
* New bindings:
* :dtcompatible:`quicklogic,eos-s3-pinctrl`
* Modified bindings:
* :dtcompatible:`quicklogic,usbserialport-s3b`:
* pinctrl support
* Raspberry Pi Foundation (raspberrypi):
* New bindings:
* :dtcompatible:`raspberrypi,pico-header`
* :dtcompatible:`raspberrypi,pico-i2c`
* :dtcompatible:`raspberrypi,pico-spi-pio`
* :dtcompatible:`raspberrypi,pico-timer`
* Raydium Semiconductor Corp. (raydium):
* New bindings:
* :dtcompatible:`raydium,rm67162`
* Renesas Electronics Corporation (renesas):
* New bindings:
* :dtcompatible:`renesas,smartbond-lp-osc`
* :dtcompatible:`renesas,smartbond-timer`
* Modified bindings:
* :dtcompatible:`renesas,smartbond-flash-controller`:
* new property: ``read-cs-idle-delay``
* new property: ``erase-cs-idle-delay``
* Smart Battery System (sbs):
* New bindings:
* :dtcompatible:`sbs,default-sbs-gauge`
* :dtcompatible:`sbs,sbs-charger`
* Seeed Technology Co., Ltd (seeed):
* New bindings:
* :dtcompatible:`seeed,hm330x`
* SiFive, Inc. (sifive):
* Modified bindings:
* :dtcompatible:`sifive,i2c0`:
* pinctrl support
* Silicon Laboratories (silabs):
* New bindings:
* :dtcompatible:`silabs,gecko-adc`
* Sino Wealth Electronic Ltd (sinowealth):
* New bindings:
* :dtcompatible:`sinowealth,sh1106`
* :dtcompatible:`sinowealth,sh1106`
* Sitronix Technology Corporation (sitronix):
* Modified bindings:
* :dtcompatible:`sitronix,st7735r` (on spi bus):
* property ``reset-gpios`` is no longer required
* Standard Microsystems Corporation (smsc):
* Modified bindings:
* :dtcompatible:`smsc,lan91c111-mdio`:
* removed property: ``protocol``
* property ``#address-cells`` const value changed from None to 1
* property ``#size-cells`` const value changed from None to 0
* property ``#address-cells`` is now required
* property ``#size-cells`` is now required
* :dtcompatible:`smsc,lan91c111`:
* new property: ``local-mac-address``
* new property: ``zephyr,random-mac-address``
* property ``reg`` is no longer required
* Synopsys, Inc. (snps):
* New bindings:
* :dtcompatible:`snps,dw-timers`
* Solomon Systech Limited (solomon):
* Modified bindings:
* :dtcompatible:`solomon,ssd1306fb`
* new property: ``inversion-on``
* new property: ``ready-time-ms``
* Sequans Communications (sqn):
* New bindings:
* :dtcompatible:`sqn,hwspinlock`
* STMicroelectronics (st):
* New bindings:
* :dtcompatible:`st,stm32-bxcan`
* :dtcompatible:`st,stm32-spi-host-cmd`
* :dtcompatible:`st,stm32f1-rcc`
* :dtcompatible:`st,stm32f3-rcc`
* :dtcompatible:`st,stm32wba-flash-controller`
* :dtcompatible:`st,stm32wba-hse-clock`
* :dtcompatible:`st,stm32wba-pll-clock`
* :dtcompatible:`st,stm32wba-rcc`
* :dtcompatible:`st,stmpe811`
* Removed bindings:
* ``st,stm32-can``
* Modified bindings:
* :dtcompatible:`st,stm32-pwm`:
* new property: ``four-channel-capture-support``
* :dtcompatible:`st,stm32f4-adc`:
* new property: ``st,adc-clock-source``
* new property: ``st,adc-prescaler``
* new property: ``st,adc-sequencer``
* removed property: ``temp-channel``
* removed property: ``vref-channel``
* removed property: ``vbat-channel``
* :dtcompatible:`st,stm32-adc`:
* new property: ``st,adc-clock-source``
* new property: ``st,adc-prescaler``
* new property: ``st,adc-sequencer``
* removed property: ``temp-channel``
* removed property: ``vref-channel``
* removed property: ``vbat-channel``
* :dtcompatible:`st,stm32f1-adc`:
* new property: ``st,adc-sequencer``
* removed property: ``temp-channel``
* removed property: ``vref-channel``
* removed property: ``vbat-channel``
* :dtcompatible:`st,stm32-ospi`:
* new property: ``io-low-port``
* new property: ``io-high-port``
* :dtcompatible:`st,stm32c0-hsi-clock`:
* removed property: ``clocks``
* :dtcompatible:`st,stm32-hse-clock`:
* removed property: ``clocks``
* :dtcompatible:`st,stm32wl-hse-clock`:
* removed property: ``clocks``
* :dtcompatible:`st,stm32g0-hsi-clock`:
* removed property: ``clocks``
* :dtcompatible:`st,stm32h7-hsi-clock`:
* removed property: ``clocks``
* :dtcompatible:`st,stm32-lse-clock`:
* removed property: ``clocks``
* :dtcompatible:`st,stm32u5-pll-clock`:
* new property: ``fracn``
* Telink Semiconductor (telink):
* Modified bindings:
* :dtcompatible:`telink,b91-pwm`:
* pinctrl support
* :dtcompatible:`telink,b91`:
* new property: ``mmu-type``
* new property: ``riscv,isa``
* :dtcompatible:`telink,b91-i2c`:
* pinctrl support
* :dtcompatible:`telink,b91-spi`:
* pinctrl support
* :dtcompatible:`telink,b91-uart`:
* pinctrl support
* Texas Instruments (ti):
* New bindings:
* :dtcompatible:`ti,ads1112`
* :dtcompatible:`ti,bq27z746`
* :dtcompatible:`ti,cc13xx-cc26xx-rtc-timer`
* :dtcompatible:`ti,cc13xx-cc26xx-timer`
* :dtcompatible:`ti,cc13xx-cc26xx-timer-pwm`
* :dtcompatible:`ti,cc32xx-pinctrl`
* :dtcompatible:`ti,davinci-gpio`
* :dtcompatible:`ti,davinci-gpio-nexus`
* :dtcompatible:`ti,lp5009`
* :dtcompatible:`ti,lp5012`
* :dtcompatible:`ti,lp5018`
* :dtcompatible:`ti,lp5024`
* :dtcompatible:`ti,lp5030`
* :dtcompatible:`ti,lp5036`
* :dtcompatible:`ti,lp5569`
* :dtcompatible:`ti,tas6422dac`
* :dtcompatible:`ti,tcan4x5x`
* :dtcompatible:`ti,tla2021`
* :dtcompatible:`ti,tmag5170`
* :dtcompatible:`ti,vim`
* Removed bindings:
* ``ti,cc13xx-cc26xx-rtc``
* ``ti,lp503x``
* Modified bindings:
* :dtcompatible:`ti,cc32xx-i2c`:
* pinctrl support
* :dtcompatible:`ti,ina230` (on i2c bus):
* new property: ``alert-config``
* new property: ``adc-mode``
* new property: ``vbus-conversion-time-us``
* new property: ``vshunt-conversion-time-us``
* new property: ``avg-count``
* new property: ``rshunt-micro-ohms``
* removed property: ``rshunt-milliohms``
* property ``config`` default value changed from None to 0
* property ``config`` deprecation status changed from False to True
* property ``config`` is no longer required
* :dtcompatible:`ti,ina237` (on i2c bus):
* new property: ``adc-mode``
* new property: ``vbus-conversion-time-us``
* new property: ``vshunt-conversion-time-us``
* new property: ``temp-conversion-time-us``
* new property: ``avg-count``
* new property: ``high-precision``
* new property: ``rshunt-micro-ohms``
* removed property: ``rshunt-milliohms``
* property ``adc-config`` default value changed from None to 0
* property ``config`` default value changed from None to 0
* property ``adc-config`` deprecation status changed from False to True
* property ``config`` deprecation status changed from False to True
* property ``adc-config`` is no longer required
* property ``config`` is no longer required
* :dtcompatible:`ti,cc32xx-uart`:
* pinctrl support
* A stand-in for a real vendor which can be used in examples and tests (vnd):
* New bindings:
* :dtcompatible:`vnd,memory-attr`
* :dtcompatible:`vnd,reg-holder-64`
* :dtcompatible:`vnd,reserved-compat`
* Modified bindings:
* :dtcompatible:`vnd,serial`:
* property ``reg`` is no longer required
* X-Powers (x-powers):
* New bindings:
* :dtcompatible:`x-powers,axp192`
* :dtcompatible:`x-powers,axp192-gpio`
* :dtcompatible:`x-powers,axp192-regulator`
* Xen Hypervisor (xen):
* New bindings:
* :dtcompatible:`xen,xen`
* Removed bindings:
* ``xen,xen-4.15``
* Xilinx (xlnx):
* New bindings:
* :dtcompatible:`xlnx,zynqmp-ipi-mailbox`
* Shenzhen Xptek Technology Co., Ltd (xptek):
* Modified bindings:
* :dtcompatible:`xptek,xpt2046` (on spi bus):
* bus list changed from ['kscan'] to []
* Zephyr-specific binding (zephyr):
* New bindings:
* :dtcompatible:`zephyr,fake-rtc`
* :dtcompatible:`zephyr,i2c-dump-allowlist`
* :dtcompatible:`zephyr,lvgl-button-input`
* :dtcompatible:`zephyr,lvgl-encoder-input`
* :dtcompatible:`zephyr,lvgl-pointer-input`
* :dtcompatible:`zephyr,mdio-gpio`
* :dtcompatible:`zephyr,native-tty-uart`
* :dtcompatible:`zephyr,ram-disk`
* :dtcompatible:`zephyr,sensing`
* :dtcompatible:`zephyr,sensing-phy-3d-sensor`
* Removed bindings:
* ``zephyr,gpio-keys``
* Modified bindings:
* :dtcompatible:`zephyr,mmc-disk` (on sd bus):
* new property: ``bus-width``
* :dtcompatible:`zephyr,bt-hci-spi` (on spi bus):
* new property: ``controller-data-delay-us``
* :dtcompatible:`zephyr,sdhc-spi-slot` (on spi bus):
* new property: ``pwr-gpios``
* :dtcompatible:`zephyr,memory-region`:
* new property: ``zephyr,memory-attr``
* property ``zephyr,memory-region-mpu`` enum value changed from ['RAM', 'RAM_NOCACHE', 'FLASH', 'PPB', 'IO', 'EXTMEM'] to None
* property ``zephyr,memory-region-mpu`` deprecation status changed from False to True
* property ``reg`` is now required
Libraries / Subsystems
**********************
* Management
* Introduced MCUmgr client support with handlers for img_mgmt and os_mgmt.
* Added response checking to MCUmgr's :c:enumerator:`MGMT_EVT_OP_CMD_RECV`
notification callback to allow applications to reject MCUmgr commands.
* MCUmgr SMP version 2 error translation (to legacy MCUmgr error code) is now
supported in function handlers by setting ``mg_translate_error`` of
:c:struct:`mgmt_group` when registering a group. See
:c:type:`smp_translate_error_fn` for function details.
* Fixed an issue with MCUmgr img_mgmt group whereby the size of the upload in
the initial packet was not checked.
* Fixed an issue with MCUmgr fs_mgmt group whereby some status codes were not
checked properly, this meant that the error returned might not be the
correct error, but would only occur in situations where an error was
already present.
* Fixed an issue whereby the SMP response function did not check to see if
the initial zcbor map was created successfully.
* Fixes an issue with MCUmgr shell_mgmt group whereby the length of a
received command was not properly checked.
* Added optional mutex locking support to MCUmgr img_mgmt group, which can
be enabled with :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_MUTEX`.
* Added MCUmgr settings management group, which allows for manipulation of
zephyr settings from a remote device, see :ref:`mcumgr_smp_group_3` for
details.
* Added :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_SECONDARY`
and :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_ANY`
that allow to control whether MCUmgr client will be allowed to confirm
non-active images.
* Added :kconfig:option:`CONFIG_MCUMGR_GRP_IMG_ALLOW_ERASE_PENDING` that allows
to erase slots pending for next boot, that are not revert slots.
* Added ``user_data`` as an optional field to :c:struct:`mgmt_handler` when
:kconfig:option:`CONFIG_MCUMGR_MGMT_HANDLER_USER_DATA` is enabled.
* Added optional ``force`` parameter to os mgmt reset command, this can be checked in the
:c:enum:`MGMT_EVT_OP_OS_MGMT_RESET` notification callback whose data structure is
:c:struct:`os_mgmt_reset_data`.
* Added configurable number of SMP encoding levels via
:kconfig:option:`CONFIG_MCUMGR_SMP_CBOR_MIN_ENCODING_LEVELS`, which automatically increments
minimum encoding levels for in-tree groups if :kconfig:option:`CONFIG_ZCBOR_CANONICAL` is
enabled.
* Added STM32 SPI backend for EC Host command protocol.
* Fixed settings_mgmt returning unknown error instead of invalid key specified error.
* Fixed fs_mgmt returning parameter too large error instead of file is empty error when
attempting to hash/checksum a file which is empty.
* File systems
* Added support for ext2 file system.
* Added support of mounting littlefs on the block device from the shell/fs.
* Added alignment parameter to FS_LITTLEFS_DECLARE_CUSTOM_CONFIG macro, it can speed up read/write
operation for SDMMC devices in case when we align buffers on CONFIG_SDHC_BUFFER_ALIGNMENT,
because we can avoid extra copy of data from card buffer to read/prog buffer.
* Random
* ``CONFIG_XOROSHIRO_RANDOM_GENERATOR``, deprecated a long time ago, is finally removed.
* Retention
* Added the :ref:`blinfo_api` subsystem.
* Added support for allowing mutex support to be forcibly disabled with
:kconfig:option:`CONFIG_RETENTION_MUTEX_FORCE_DISABLE`.
* Binary descriptors
* Added the :ref:`binary_descriptors` (``bindesc``) subsystem.
* POSIX API
* Added dynamic thread stack support for :c:func:`pthread_create`
* Fixed :c:func:`stat` so that it returns file stats instead of filesystem stats
* Implemented :c:func:`pthread_barrierattr_destroy`, :c:func:`pthread_barrierattr_getpshared`,
:c:func:`pthread_barrierattr_init`, :c:func:`pthread_barrierattr_setpshared`,
:c:func:`pthread_condattr_destroy`, :c:func:`pthread_condattr_init`,
:c:func:`pthread_mutexattr_destroy`, :c:func:`pthread_mutexattr_init`, :c:func:`uname`,
:c:func:`sigaddset`, :c:func:`sigdelset`, :c:func:`sigemptyset`, :c:func:`sigfillset`,
:c:func:`sigismember`, :c:func:`strsignal`, :c:func:`pthread_spin_destroy`,
:c:func:`pthread_spin_init`, :c:func:`pthread_spin_lock`, :c:func:`pthread_spin_trylock`,
:c:func:`pthread_spin_unlock`, :c:func:`timer_getoverrun`, :c:func:`pthread_condattr_getclock`,
:c:func:`pthread_condattr_setclock`, :c:func:`clock_nanosleep`
* Added support for querying the number of bytes available to read via the
:c:macro:`FIONREAD` request to :c:func:`ioctl`
* Added :kconfig:option:`CONFIG_FDTABLE` to conditionally compile file descriptor table
* Added logging to POSIX threads, mutexes, and condition variables
* Fixed :c:func:`poll` issue with event file descriptors
* LoRa/LoRaWAN
* Updated ``loramac-node`` from v4.6.0 to v4.7.0
* CAN ISO-TP
* Added support for CAN FD.
* RTIO
* Added atomic completion counter fixing a race caught by unit tests
* Added a :c:macro:`RTIO_SQE_NO_RESPONSE` flag for submissions when no completion notification
is needed
* Removed unused Kconfig options for different executors
* ZBus
* Changed channels' and observers' metadata to comply with the data/config approach. ZBus stores
immutable config in iterable sections in Flash and the mutable portion of data in the RAM.
* The relationship between channels and observers is mapped using a new entity called
observation. The observation enables us to increase the granularity of masking observation.
Developers can mask individual observations, disable the observer, or use runtime observers.
* Added API :c:macro:`ZBUS_CHAN_ADD_OBS` macro for adding post-definition static observers of a
channel. That can replace the runtime observer feature, enabling developers to add static
observers after the channel definition in different files. It increases the composability of
the system using ZBus, making post-definition channel observation rely on the stack instead of
the heap.
* Added a new type of observer called Message Subscriber. ZBus' VDED will send a copy of the
message during the publication/notification process.
* Changed the VDED delivery sequence. Check the ref:`documentation<zbus delivery sequence>`.
* ZBus runtime observers now rely on the heap instead of a memory pool.
* Added new iterable section iterators APIs (for channels and observers) can now receive a
``user_data`` pointer to keep context between the function calls.
* Added APIs :c:macro:`ZBUS_LISTENER_DEFINE_WITH_ENABLE` and
:c:macro:`ZBUS_SUBSCRIBER_DEFINE_WITH_ENABLE` that allows developers to define observers'
statuses (enabled/disabled) programmatically. With the API, developers can create observers
initially disabled and enable them in runtime.
* Power management
* Added :kconfig:option:`CONFIG_PM_NEED_ALL_DEVICES_IDLE`. When this
option is set the power management will keep the system active
if there is any device busy.
* :c:func:`pm_device_runtime_get` can be called from ISR now.
* Power states can be disabled directly in devicetree doing ``status = "disabled";``
* Added the helper function, :c:func:`pm_device_driver_init`, for
initializing devices into a specific power state.
* Modem modules
* Added the :ref:`modem` subsystem.
HALs
****
* Nordic
* Updated nrfx to version 3.1.0.
* Nuvoton
* Added Nuvoton NuMaker M46x
MCUboot
*******
* Added :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_NO_DOWNGRADE`
that allows to inform application that the on-board MCUboot has been configured
with downgrade prevention enabled. This option is automatically selected for
DirectXIP mode and is available for both swap modes.
* Added :kconfig:option:`CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY`
that allows to inform application that the on-board MCUboot will overwrite
the primary slot with secondary slot contents, without saving the original
image in primary slot.
* Fixed issue with serial recovery not showing image details for decrypted images.
* Fixed issue with serial recovery in single slot mode wrongly iterating over 2 image slots.
* Fixed an issue with boot_serial repeats not being processed when output was sent, this would
lead to a divergence of commands whereby later commands being sent would have the previous
command output sent instead.
* Fixed an issue with the boot_serial zcbor setup encoder function wrongly including the buffer
address in the size which caused serial recovery to fail on some platforms.
* Fixed wrongly building in optimize for debug mode by default, this saves a significant amount
of flash space.
* Fixed issue with serial recovery use of MBEDTLS having undefined operations which led to usage
faults when the secondary slot image was encrypted.
* Fixed issue with bootutil asserting on maximum alignment in non-swap modes.
* Added error output when flash device fails to open and asserts are disabled, which will now
panic the bootloader.
* Added currently running slot ID and maximum application size to shared data function
definition.
* Added P384 and SHA384 support to imgtool.
* Added optional serial recovery image state and image set state commands.
* Added ``dumpinfo`` command for signed image parsing in imgtool.
* Added ``getpubhash`` command to dump the sha256 hash of the public key in imgtool.
* Added support for ``getpub`` to print the output to a file in imgtool.
* Added support for dumping the raw versions of the public keys in imgtool.
* Added support for sharing boot information with application via retention subsystem.
* Added support for serial recovery to read and handle encrypted seondary slot partitions.
* Removed ECDSA P224 support.
* Removed custom image list boot serial extension support.
* Reworked boot serial extensions so that they can be used by modules or from user repositories
by switching to iterable sections.
* Reworked image encryption support for Zephyr, static dummy key files are no longer in the code,
a pem file must be supplied to extract the private and public keys. The Kconfig menu has
changed to only show a single option for enabling encryption and selecting the key file.
* Reworked the ECDSA256 TLV curve agnostic and renamed it to ``ECDSA_SIG``.
* CDDL auto-generated function code has been replaced with zcbor function calls, this now allows
the parameters to be supplied in any order.
* The MCUboot version in this release is version ``2.0.0+0-rc1``.
Nanopb
******
* Changed project status to maintained.
* Added a separate nanopb.cmake file to be included by applications.
* Added helper cmake function ``zephyr_nanopb_sources`` to simplify ``.proto`` file inclusion.
LVGL
****
* Changed project status to maintained.
* Library has been updated to release v8.3.7.
* Added ``zephyr,lvgl-{pointer,button,encoder}-input`` pseudo device bindings.
:kconfig:option:`CONFIG_LV_Z_KSCAN_POINTER` is still supported but touch controllers
need a :dtcompatible:`zephyr,kscan-input` child node to emit input events.
* LVGL shell allows for monkey testing (requires :kconfig:option:`CONFIG_LV_USE_MONKEY`)
and inspecting memory usage.
Trusted Firmware-A
******************
* Updated to TF-A 2.9.0.
Documentation
*************
* Upgraded Sphinx to 6.2
Tests and Samples
*****************
* Created common sample for file systems (`fs_sample`). It originates from sample for FAT
(`fat_fs`) and supports both FAT and ext2 file systems.
* Created the zbus confirmed channel sample to demonstrate how to implement a delivery-guaranteed
channel using subscribers.
* Created the zbus message subscriber sample to demonstrate how to use message subscribers.
Part 3
한국어 전문 번역
Zephyr 3.5.0
Zephyr 3.5.0 릴리스를 발표합니다.
이번 릴리스의 주요 개선 사항은 다음과 같습니다.
- Linkable Loadable Extensions(llext) 지원을 추가했습니다.
native_posix의 후속인native_simsimulator target을 추가했습니다.- 새 battery charger driver API를 추가했습니다.
- 새 hardware spinlock driver API를 추가했습니다.
- 새 modem subsystem을 추가했습니다.
- 45개가 넘는 새 board를 지원합니다.
- Networking에서 CoAP, Connection Manager, DHCP, Ethernet, gPTP, ICMP, IPv6, LwM2M을 개선했습니다.
- Bluetooth Controller, Audio, Mesh와 전반적인 host stack을 개선했습니다.
- LVGL graphics library 통합을 개선했습니다.
- CodeChecker static analyzer 연동 지원을 추가했습니다.
- Picolibc가 기본 C standard library가 됐습니다.
Zephyr v3.4.0 application을 v3.5.0으로 이전할 때 필요한 변경과 권장 사항은 별도 migration guide에서 설명합니다.
다음 절은 구성요소별 상세 변경 목록입니다.
보안 취약점 관련
이 릴리스에서는 다음 CVE를 해결했습니다.
더 자세한 정보는 Zephyr 보안 취약점 문서에서 확인할 수 있습니다: https://docs.zephyrproject.org/latest/security/vulnerabilities.html
- CVE-2023-3725 `Zephyr project bug tracker GHSA-2g3m-p6c7-8rr3 <https는 Zephyr project 보안 권고 GHSA-2g3m-p6c7-8rr3에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-2g3m-p6c7-8rr3
- CVE-2023-4257 `Zephyr project bug tracker GHSA-853q-q69w-gf5j <https는 Zephyr project 보안 권고 GHSA-853q-q69w-gf5j에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-853q-q69w-gf5j
- CVE-2023-4258 `Zephyr project bug tracker GHSA-m34c-cp63-rwh7 <https는 Zephyr project 보안 권고 GHSA-m34c-cp63-rwh7에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-m34c-cp63-rwh7
- CVE-2023-4259 `Zephyr project bug tracker GHSA-gghm-c696-f4j4 <https는 Zephyr project 보안 권고 GHSA-gghm-c696-f4j4에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-gghm-c696-f4j4
- CVE-2023-4260 `Zephyr project bug tracker GHSA-gj27-862r-55wh <https는 Zephyr project 보안 권고 GHSA-gj27-862r-55wh에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-gj27-862r-55wh
- CVE-2023-4263 `Zephyr project bug tracker GHSA-rf6q-rhhp-pqhf <https는 Zephyr project 보안 권고 GHSA-rf6q-rhhp-pqhf에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rf6q-rhhp-pqhf
- CVE-2023-4264 `Zephyr project bug tracker GHSA-rgx6-3w4j-gf5j <https는 Zephyr project 보안 권고 GHSA-rgx6-3w4j-gf5j에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-rgx6-3w4j-gf5j
- CVE-2023-4424는 2023년 11월 1일까지 embargo가 적용된 문제입니다.
- CVE-2023-5055는 2023년 11월 1일까지 embargo가 적용된 문제입니다.
- CVE-2023-5139는 2023년 10월 25일까지 embargo가 적용된 문제입니다.
- CVE-2023-5184 `Zephyr project bug tracker GHSA-8x3p-q3r5-xh9g <https는 Zephyr project 보안 권고 GHSA-8x3p-q3r5-xh9g에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-8x3p-q3r5-xh9g
- CVE-2023-5563 `Zephyr project bug tracker GHSA-98mc-rj7w-7rpv <https는 Zephyr project 보안 권고 GHSA-98mc-rj7w-7rpv에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-98mc-rj7w-7rpv
- CVE-2023-5753 `Zephyr project bug tracker GHSA-hmpr-px56-rvww <https는 Zephyr project 보안 권고 GHSA-hmpr-px56-rvww에서 추적합니다: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-hmpr-px56-rvww
Kernel
k_thread_stack_alloc()을 통한 동적 thread stack 할당을 지원합니다.k_spin_trylock()을 지원합니다.- Kernel object의 유효성을 확인하는
k_object_is_valid()를 추가해 source tree 곳곳의 중복 검사를 대체했습니다.
Architecture
- ARC
- ARC VPX 프로세서의 스칼라 포트가 도입되었습니다
- ARCv3 HS (32 및 64 비트 모두) SMP 최대 12 CPU 코어를 가진 SMP 플랫폼에 대한 지원이 도입되었습니다
- ARC MWDT toolchain에 대한 GNU 도움말 도구 사용이 재개정되었습니다. 이제 Zephyr SDK에서 도움말 도구를 사용할 수 있습니다 (SDK가 설치되어있는 경우)
- 수정: 동적 thread stack 할당
- STR 집합 매크로 오프셋 계산 문제가 해결되어 ARCv3 64bit에 대한 build 오류가 발생할 수 있습니다
- ARC MWDT toolchain 경로 (ARCMWDT_TOOLCHAIN_PATH) 를 청소하고 보다 사용자 친화적인 처리
- ARM
- ARM CORTEX-M의 아키텍처 지원은 ARM CORTEX-A와 CORTEX-R에서 분리되었습니다. 여기에는 handle 관리, 예외 처리, thread 처리 및 교환과 같은 handle 작업에 대한 별도의 소스 모듈이 포함됩니다. 구현 자세한 내용은:github:
60031참조.
- ARM CORTEX-M의 아키텍처 지원은 ARM CORTEX-A와 CORTEX-R에서 분리되었습니다. 여기에는 handle 관리, 예외 처리, thread 처리 및 교환과 같은 handle 작업에 대한 별도의 소스 모듈이 포함됩니다. 구현 자세한 내용은:github:
- ARM64
- RISC-V
- PMP를 사용하여 nullpointer 예외를 탐지하는 추가 지원
CONFIG_RISCV_RESERVED_IRQ_ISR_TABLES_OFFSET옵션을 추가하여 IRQ 벡터를 지정된 오프셋에서 Core-Local Interrupt Controller RISC-V 사양에 의해 설정된 요구 사항을 충족하도록 허용합니다.- 사용자 지정 시스템 input/output 기능을 사용할 수 있도록
CONFIG_RISCV_SOC_HAS_CUSTOM_SYS_IO옵션을 추가했습니다. CONFIG_RISCV_TRAP_HANDLER_ALIGNMENT옵션이 도입되어 code 함정 취급의 올바른 조화를 설정하여MTVEC.BASE필드 크기에 따라MTVEC.BASE플랫폼 또는 application에 특이합니다.
- Xtensa
- 기본 MMU v2 지원 추가
- x86
- 인텔 알더 레이크 boards에 대한 추가 지원
- 인텔 Sensor 허브 (ISH) 에 대한 추가 지원
- POSIX
- 네이티브 시뮬레이터를 사용할 수 있도록 재조정되었습니다.
- 새로운 boards가 추가되었습니다.
- 새로운 boards에서는 임베디드 C 라이브러리를 사용할 수 있으며, host 상징과 라이브러리와의 충돌을 피할 수 있습니다.
POSIX OS abstraction<posix_support>는 이러한 새로운 boards에서 지원됩니다.- 이제 AMP 목표가 지원되고 있습니다.
- LLVM 소스 profiling/coverage.에 대한 추가 지원
Bluetooth
- Audio 코덱 구성 및 코덱 기능의 memory 사용을 향상 시켰습니다. BAP 및 BAP-related 서비스 (ASCS, PACS, BASS) 의 여러 버그를 수정했으며, 적절한 알림 처리와 같은 기능이 부족했습니다.
- 추가된 BAP
bt_bap_stream_get_tx_sync - CAP 스트림 전송 및 tx 동기화 추가
- 추가 된
bt_audio_codec_cap_get보조 기능 - CAP에서 긴 read/write에 대한 추가 지원
- 수정: ASCS 소스 ASE 링크 손실 상태 전환
- 수정: ASCS 가능한 ASE 누출
- ASCS가 스트리밍 상태가 아닌 경우 ISO PDUs를 떨어뜨리는 ASCS를 고정
- 수정: BAP
bt_bap_scan_delegator_find_state구현 - BAP의 PA 동기화와 ID의
broadcast_sink_create에서 BAP 문제가 수정되었습니다 - 수정: TMAS 특성 권한
- 수정:
tbs_client누락 발견 완료 이벤트 - audio stack는 audio 메타데이터에서 빈 CCID 목록을 받아들이기 위해 고정되어 있습니다
- metadata_backup의 수정: 나쁜 크기는 ASCS
- 수정: 가능한 ASCS ASE 방출 상태에 갇힌
bt_audio_codec_cap를 평면 배열로 리팩터링bt_audio_codec_cfg를 평면 배열로 리팩터링- 제거된
CONFIG_BT_PACS_{SNK,SRC}_CONTEXT - broadcast 싱크에서 스캔 및 PA 동기화를 제거
bt_codec로 명칭 변경- 코덱 코스 프레임을 변경
- 대체된
BT_AUDIO_CODEC_LC3_ID->BT_HCI_CODING_FORMAT_LC3 BT_AUDIO_CODEC_PARSE_ERR_값을 오류 값으로 대체한다.- 재사용된 PACS 알림 시스템
- 업데이트 된 ASCS ISO QOS
- BAP를 업데이트하여 PA 데이터 중복을 기본으로 필터링합니다
- CSIP를 업데이트하여 비결제 devices를 즉시 잠금 해제합니다.
- 신규 PACS를 업데이트하여 재회 연결에 대해 채권된 고객을 통보합니다
bt_cap_stream_ops_register를 업데이트하여 항상 BAP 콜백을 등록합니다- ASCS ACL 분리 동작 업데이트
bt_audio_codec_meta_get를cfg와cap로 나눌 수 있도록 업데이트
- 추가된 BAP
- Direction Finding
- Host
- 연결 당 SMP 형 플래그 오버레이가 추가되었습니다
- 추가된 USE_NRPA 광고 옵션
- 연결 매개 변수에 어떤 값을 설정할 수 있도록
BT_CONN_PARAM_ANY를 추가했습니다 - 첨단 broadcast ISO 매개 변수 추가
- 첨단 unicast ISO 매개 변수 추가
- 새로운 API를 추가하여 Bluetooth 설정을 저장할 수 있습니다
- 수정: HCI ISO 데이터 패킷 분해
- 수정: HCI ISO SDU 길이가 controller에 전송됩니다
- 수정: OTS
bt_ots_init매개 변수 구조 이름 - 절차가 끝나지 않은 상태에서 수정: OTS memory 누출
- 연결 참조 유출을 수정
- 수정: 강제 결합 요청 처리
- 기존 광고를 시작할 때 해결 가능한 개인 주소를 무효화하는 host를 수정
bt_iso_cig_reconfigure문제 해결bt_conn_le_start_encryption에서 가능한 buffer 과잉이 고정되어 있습니다- SMP 문제 해결
- 연결이 끊어지면 연결을 중단할 수 있도록 고정
- 업데이트 된 L2CAP는 리콜을 받아 들인다
- 업데이트 된 LE L2CAP 연결 된 callback 연결 후 response
- PAwR 구현을 업데이트하여 RPA를 응답자 주소로 사용할 수 있습니다.
- Mesh
- TF-M 지원이 추가되었습니다.
- 미니크립트와 PSA 기반의 crypto을 사용할 수 있는 추가 지원
- 충돌 해상과 함께 완전한 가상 주소 지원이 추가되었습니다.
CONFIG_BT_MESH_LABEL_NO_RECOVERKconfig 옵션은 구독 목록 및 모델 출판의 주소를 복원하기 위해 도입됩니다. - 통계 모듈 추가
- node로 작용하는 LPN가 루프백 인터페이스를 통해 세분화된 message를 전송할 때 친구 설문 message를 유발하는 문제를 해결했습니다.
- node에서 동일한 공중 Key를 제공자가 사용하는 경우 구호가 성공적으로 완료되는 문제가 해결되었습니다.
- 시스템 워크 큐 이외의 thread 협동조합에서 호출된
settings_load기능이 GATT Mesh Proxy 서비스 등록이 실패한 문제를 해결했습니다. - 현재 IV 지표와 IV 업데이트 플래그를 1로 설정한 오래된 SNB가 재시정되면 node 업데이트가 진행 상태에서 IV 업데이트에 들어갈 수 있는 문제를 해결했습니다.
- Mesh 프로토콜 변경
- 개인 GATT Proxy 상태를 지속적으로 저장하는 것을 추가했습니다.
- 펌웨어 유통 지원 추가 펌웨어 유통 서버 모델에서 OOB 시작 message 업로드.
CONFIG_BT_MESH_DFD_SRV_OOB_UPLOADKconfig 옵션을 사용하여 message 지원이 활성화 될 수 있습니다. - 증설에 OOB 방법이 사용되는 경우 확장된 조성 프로토콜 timeout를 추가합니다.
- 구성 데이터 페이지 2, 129 및 130에 대한 추가 지원
- 0, 1, 2, 128, 129 및 130의 구성 데이터 페이지에 대한 문서 추가
- transport 계층에서 세그먼트 및 재조합에 대한 문서가 추가되었습니다.
- SAR 구성 모델에 대한 추가 문서
- Opcode Aggregator Server 모델이 Opcode Aggregator 클라이언트 모델 없이 컴파일하지 않은 문제를 해결했습니다.
- 개인 GATT Proxy 광고에서 개인 주소가 사용된 문제가 해결되었습니다.
- Proxy 개인 정보 보호 매개 변수 지원이 수정되었습니다.
- 원격 제공 서버 모델을 인스턴팅한 node에서 128 구성 데이터 페이지가 존재하지 않는 문제를 해결했습니다.
- 큰 구성 데이터 서버 모델이 0 이외의 구성 데이터 페이지를 지원하지 않는 문제를 해결했습니다.
- node에 있는 원격 공급 클라이언트 모델과 원격 공급 서버 모델이 직접 공급을 할 수 없는 문제를 해결했습니다.
- Segmentation 및 Reassembly에서 확인 타이머가 수신된 Segment Acknowledgement message가 확인된 것으로 새 표시된 적어도 하나의 세그먼트를 포함하지 않은 경우 다시 시작되지 않은 문제를 해결했습니다.
- 주문형 개인 Proxy 서버와 클라이언트 모델이 개별적으로 컴파일할 수 없는 상호 의존성을 가진 문제를 해결했습니다.
- Controller Broadcast 및 연결된 Isochronous 채널의 향상된 지원, Controller에서 LE audio application 개발을 가능하게 합니다. Controller는 실험적이며, Isochronous 채널의 하위 링크 계층에서 겹쳐있는 패키지 구현이 부족합니다.
- 추가된 Adv PDUs의 최소 크기에 대한 검사
- 추가 된 Kconfig 옵션 TX HCI ISO 데이터 Packet Seq Num
- Kconfig가 추가되어 ISO SDU 분해를 피하기 위해
- Kconfig를 추가하여 BIG 이벤트 길이를 극대화하고 PTO & CTRL 부브벤트를 선제합니다
- 추가된
BT_CTLR_EVENT_OVERHEAD_RESERVE_MAXKconfig - 추가된 memory 틱 트랜잭션의 장벽
- 누락된 nRF53x Tx Power Kconfig
- 연결된 ISO에서 Flush Timeout에 대한 추가 지원
- 수정: BIS payload 슬라이딩 창 오버런 체크
- 수정: CIS 중앙 FT 계산
- 수정: CIS 중앙 오류 처리
- 수정: CIS 비대칭 PHY 사용
- DF 지원이 활성화 된 상태에서 수정: CIS 암호화
- 품질의 tests 및 시간표가 수정: ISO-AL
- HCI LE CIS 정해진 이벤트
- 수정: ULL는 희귀한 조건에서 세마포에 갇혀 있습니다.
- 늦은 PER CIS 활성 집합으로 인해 수정: assertion
- assertion을 일으킨 수정: compiler 명령어 재질
- 수정: 연결된 ISO 동적 tx 전력
- 수정: 실패 광고 적합성 tests
- PHY 코딩이 지원되지 않은 경우 수정: 조작 수신 보조 PDUs
- 타이커 노드를 재계정할 때 일정 타이커 node의 수정: 누출
- host 기능 리셋이 빠진 상태
- 수정: nRF53 SoC 뒤뒤 PDU 체인
- 수정: nRF53 SoC 후속 Tx Rx 구현
- Adv PDU 과잉 계산에서 수정: regression
- 관찰자에서 수정: regression가 assertion과 스케줄 정지기를 일으켰다
- nRF SoC에 미리 프로그래밍 된 PPI의 고정 사용
- HCI ISO 무효 상태의 HCI 데이터를 제거하여 FT 지원을 준비합니다
- 업데이트 된 확장 광고 보고서는
AUX_ADV_IND가 수신되지 않은 경우 생성되지 않습니다 - 각 state/role LLL에서
EVENT_OVERHEAD_START_US문자를 사용하도록 업데이트 aux_ptr를 추적하는 것을 중단하기 위해 업데이트 된 경우 확장 스캔 중에DATA_LEN_MAX에 도달합니다
Board 및 SoC 지원
- 이러한 SoC 시리즈에 대한 추가 지원:
- 누보톤 누메이커 M46x 시리즈
- STM32F072X8 SoC 변종에 대한 추가 지원
- STM32L051X6 SoC 변종에 대한 추가 지원
- STM32L451XX SoC 변종에 대한 추가 지원
- STM32L4Q5XX SoC 변종에 대한 추가 지원
- STM32WBA SoC 시리즈에 대한 추가 지원
- 이 SoC 시리즈에 대한 지원이 제거되었습니다:
- 다른 SoC 시리즈에서 다음과 같은 변경 사항을 수행했습니다:
- i.MX RT SOCs은 더 이상 CONFIG_DEVICE_CONFIGURATION_DATA을 기본으로 활성화하지 않습니다. 외부 SDRAM을 사용하는 boards은 CONFIG_DEVICE_CONFIGURATION_DATA 및 CONFIG_NXP_IMX_EXTERNAL_SDRAM를 활성화하도록 설정해야합니다.
- i.MX RT SOCs은 CONFIG_OCRAM_NOCACHE을 더 이상 지원하지 않습니다. devicetree memory 영역을 사용하여 이러한 기능을 달성할 수 있기 때문에
- ESP32 SoC 폴더를 재조정했습니다
- RP2040: 초기화 시 I2C device를 다시 설정하기 위해 변경되었습니다
- 이 ARC boards에 대한 추가 지원:
- nsim_vpx5 - 시뮬레이션 (nSIM) 플랫폼과 ARCv2 VPX5 core에 대한 추가 지원
- nsim_hs5x_smp_12cores - 12 코어 SMP 32-bit ARCv3 HS (nSIM) 시뮬레이션 플랫폼에 대한 추가 지원
- nsim_hs6x_smp_12cores - 12 코어 SMP 64-bit ARCv3 HS (nSIM) 시뮬레이션 플랫폼에 대한 추가 지원
- 이 ARM boards에 대한 추가 지원:
- 누보톤 누메이커 플랫폼 M467
- ST Nucleo U5A5ZJ Q
- ST Nucleo WBA52CG
- 이 ARM64 boards에 대한 추가 지원:
- 이 RISC-V boards에 대한 추가 지원:
- 이 X86 boards에 대한 추가 지원:
- 이 Xtensa boards에 대한 추가 지원:
esp32_devkitc_wroom와esp32_devkitc_wrover가 추가되었습니다.esp32s3_luatos_core가 추가되었습니다.m5stack_core2가 추가되었습니다.- 다이아몬드 DC233c SoC를 사용하여
qemu_xtensa_mmu를 추가하여 Xtensa MMU 테스트를 지원합니다. xiao_esp32s3가 추가되었습니다.yd_esp32가 추가되었습니다.
- 이 POSIX boards에 대한 추가 지원:
native_sim(_64) <native_sim>- nrf5340bsim_nrf5340_cpu(net|app): 라디오 트래픽을 위해 Babblesim을 사용하는 시뮬레이션 된 nrf5340 SOC.
- ARC boards에 대해 다음과 같은 변경 사항을 수행했습니다:
- hsdk4xd 플랫폼에 대한 지원되지 않은 stack 확인 옵션이 종료되었습니다
- ARC QEMU 플랫폼의 공급자 표본이 "qemu"에서 "snps"로 변경되었습니다
- ARM boards에 대해 다음과 같은 변경 사항을 수행했습니다:
- ST morpho 커넥터 설명은 ST Nucleo boards에 추가되었습니다.
- rpi_pico:
- openocd로 디버깅할 때 기본 어댑터는 cmsis-dap로 변경되었습니다.
- ARM64 boards에 대해 다음과 같은 변경 사항을 수행했습니다:
- RISC-V boards에 대해 다음과 같은 변경 사항을 수행했습니다:
- X86 boards에 대해 다음과 같은 변경 사항을 수행했습니다:
- 이 변경 사항은 Xtensa boards에 대해 변경되었습니다:
- esp32s3_devkitm:
- USB-CDC 지원이 추가되었습니다.
- CAN 지원이 추가되었습니다.
- esp32s3_devkitm:
- POSIX boards에 대해 다음과 같은 변경 사항을 수행했습니다:
- nrf52_bsim:
- 네이티브 시뮬레이터를 달리기용으로 사용하도록 재편되었습니다.
- 여러 HW 모델의 개선 및 수정. GPIO & GPIOTE 주변 장치가 추가되었습니다.
- nrf52_bsim:
- 이 ARC boards에 대한 지원이 제거되었습니다:
- 이 ARM boards에 대한 지원이 제거되었습니다:
- 이 ARM64 boards에 대한 지원이 제거되었습니다:
- 이 RISC-V boards에 대한 지원이 제거되었습니다:
- 이 X86 boards에 대한 지원이 제거되었습니다:
- 이 Xtensa boards에 대한 지원이 제거되었습니다:
esp32를 제거하고 대신esp32_devkitc_*를 사용하세요.
- 다른 boards에서 다음과 같은 변경 사항을 수행했습니다:
- 다음 shields에 대한 추가 지원:
- Adafruit PiCowbell CAN Pico용 버스 Shield
- Arduino UNO 클릭 shield
- G1120B0MIPI MIPI 표시
- MikroElektronika MCP2518FD shield (CAN-FD) 를 클릭하세요
- RK055HDMIPI4M MIPI 표시
- RK055HDMIPI4MA0 MIPI 표시
- 세미테크 SX1276MB1MAS LoRa Shield
Build System 및 Infrastructure
- SCA (정형 Code 분석)
- CodeChecker에 대한 추가 지원
- 트위스터는 이제 testsuite.yml 파일에서
required_snippets를 지원합니다. 이것은 test를 실행할 때 단편을 포함하기 위해 사용될 수 있습니다 (그리고 단편을 적용할 수 없는 boards를 실행하는 것을 배제합니다). - 중단
- 공유 중단에 대한 추가 지원
- sysbuild에서 MCUboot 암호화 키를 설정하는 데 추가된 지원이 추가되었습니다. 이 키는 자동으로 암호화 된 업데이트를 생성하기 위해 부트로드 및 타겟 이미지로 전파됩니다.
- Build 시간 우선순위 확인: 기본으로 build 시간 우선순위 확인을 활성화하십시오. 최종 ELF 파일의 초기화 순서가 devicetree 계층과 일치하지 않으면 build에 실패합니다.
CONFIG_CHECK_INIT_PRIORITIES옵션을 비활성화하면 종료 될 수 있습니다. - 최종 device 및
SYS_INIT초기화 순서를 최종 ELF 파일에서 인쇄하기 위해 새로운initlevels목표물을 추가했습니다. - syscall code 세대를 재개하여 모든 마셔링 기능이 최종 바이너리에 포함되지 않도록 했습니다. 비활성화된 하위 시스템과 관련된 Syscalls는 더 이상 그들의 마셔링 기능이 생성되지 않습니다.
- 부분적으로 활성화 된 compiler warning에 대해 그림자 변수들 인 트리 code의 하위 집합에 대해. out-of-tree에서 code는 그림자 변수 경고를 완전히 활성화하기 전에 수정해야합니다.
Driver 및 Sensor
- ADC
- STM32F0 HSI14 clock에 대한 추가 지원 (전용 ADC clock)
- STM32 ADC 소스 clock 및 프레스칼러에 대한 추가 지원. STM32F1 및 STM32F3 시리즈에서, ADC 프레스칼러를 전용 RCC Clock Controller 옵션을 사용하여 구성할 수 있습니다.
- 모든 STM32 시리즈 (F1를 제외한) 에 대한 ADC 시퀀서의 추가 지원
- 수정: STM32F4 ADC 온도 및 Vbat 측정
- TI ADS1112에 driver가 추가되었습니다.
- TI TLA2021에 driver가 추가되었습니다.
- Gecko ADC에 driver가 추가되었습니다.
- NXP S32 ADC SAR에 driver가 추가되었습니다.
- driver가 MAX1125x 가족에 추가되었습니다.
- MAX11102-MAX1117에 driver가 추가되었습니다.
- CAN
- TI TCAN4x5x CAN-FD controller의 통합 트랜스사이버 (
ti,tcan4x5x) 에 대한 추가 지원 - 마이크로칩 MCP251xFD CAN-FD controller (
microchip,mcp251xfd) 에 대한 추가 지원 - 보쉬의 M_CAN controller driver backend에 CAN 통계에 대한 추가 지원
- NXP S32 CANXL driver를 clock 제어기를 사용하여 CAN clock에 CAN clock 주파수를 하드 코딩하는 대신 clock 제어기를 사용했습니다.
- TI TCAN4x5x CAN-FD controller의 통합 트랜스사이버 (
- Clock 제어
- 누보톤 누메이커 M46x에 대한 추가 지원
- Counter
CONFIG_COUNTER_RTC_STM32_SUBSECONDS를 추가하여 STM32 RTC 기반 counter driver에 기본 시간 틱으로 다음을 활성화합니다.- Raspberry Pi Pico 타이머에 대한 추가 지원
- DAC
- 아날로그 Devices AD56xx에 대한 추가 지원
- NXP lpcxpresso55s36 (LPDAC) 의 추가 지원
- Disk
- Ramdisk driver는 이제 devicetree를 사용하여 구성되어 있으며 여러 인스턴스를 지원합니다
- Display
- ST7735S에 대한 추가 지원 (ST7735R driver)
- DMA
- EDMA NXP에 S32K의 추가 지원
- NXP SMARTDMA에 추가 지원
- 디스플레이 가속을 위한 NXP 픽셀 파이프라인 (PXP) 에 대한 추가 지원
- DMA get_status()에 대한 추가 지원
- Intel HDA driver의 L1 entry/exit에 대한 수정, 명시적인 SCS (sample 컨테이너) 설정
- STM32U5에 대한 고치는 오류 중단을 가능하게 하고 블록 크기와 데이터 크기의 구성을 수정합니다
- 더 나은 Kconfig 옵션은 NXP LPC driver에서 정적 memory 사용 조정
- EEPROM
- Fujitsu MB85RCxx 시리즈 I2C FRAM (
fujitsu,mb85rcxx) 에 대한 추가 지원
- Fujitsu MB85RCxx 시리즈 I2C FRAM (
- Entropy
entropy_get_entropy()가 thread- 안전하다는 요구 사항이 추가되었습니다.
- Ethernet
- Rx timeout를 네이티브 포지션으로 설정하기 위해
CONFIG_ETH_NATIVE_POSIX_RX_TIMEOUT를 추가했습니다. - adin2111에 대한 추가 지원
- NXP S32 GMAC에 대한 추가 지원
- eth_smsc91x에서 비관성 모드를 지원합니다.
- STM32H5X SOC 시리즈에 대한 추가 지원
- MDIO 조항 45 APIs에 추가 지원
- YD-ESP32 board Ethernet에 대한 추가 지원
- stm32의 기본으로 device ID를 사용하여 MAC 주소를 더 독특하게 생성하기 위해 stm32를 고정합니다.
- 20us에서 200ns로 PTP 시간표 정확도를 높이기 위해 수정: mcux.
- Ethernet를 사용하는 경우 수정: Ethernet 최대 헤더 크기가 있습니다.
mdioDT 속성을 제거했습니다. 대신DT_INST_BUS()를 driver에서 사용하시기 바랍니다.- device node 계층을 smsc91x로 재작업했습니다.
- 리눅스 ethernet-controller binding와 일치하기 위해 phy-dev 속성을 phy-handle로 변경하고 다른 drivers에 사용할 수 있도록 ethernet.yaml로 이동합니다.
- Ethernet PHY를 DT bindings에서
reg속성을 사용하기 위해 업데이트했습니다. - 업데이트 된 driver DT bindings
ethernet-phydevicetree node 이름을 일관되게 사용하도록 - esp32와 sam-gmac DT를 업데이트하여 phy는 어린이 node가 아닌 반지로 지목되므로 phy device는 mdio의 자녀가 됩니다.
- Rx timeout를 네이티브 포지션으로 설정하기 위해
- Flash
- 더 나은 성능을 위해 두 개 이상의 spi를 지원하거나 단일 Flash 인터페이스 유닛 (FIU) 모듈 및 직 읽기 액세스 (DRA) 모드를 통해 깜빡이는 npcx flash driver를 도입하십시오.
- 누보톤 누메이커 M46x 임베디드 된 flash에 대한 추가 지원
- STM32 QSPI driver는 이제 Jedec SFDP 매개 변수를 읽을 수 있습니다.
- STM32 OSPI driver는 이제 IO 관리자의 낮은 항구와 높은 항구를 모두 지원합니다.
- GPIO
- 누보톤 누메이커 M46x에 대한 추가 지원
- I2C
- STM32 V1 driver은 이제 큰 트랜잭션을 지원합니다 (256 바이트 조각보다 더)
- STM32 V2 driver는 이제 10-bit 주소지를 지원합니다.
- I2C devices은 이제 STM32에서 STOP 모드에서 깨어난 자원으로 사용될 수 있습니다.
- 실리콘 랩에서 긴 ISR 실행을 수정 I2C 목표 callback
- DMA의 최대 크기를 nRF52 devices에 gracefully 실패
- 디자인웨어 LPSS에서 인텔 LPSS DMA 사용을 위한 추가 지원
- DeviceTree를 사용하여 디버깅을 위해 덤프된 message 필터링이 추가되었습니다
- 실리콘 랩즈 게코 driver에 목표 모드가 추가되었습니다
- 추가된 인텔 SEDI driver
- 추가된 인피네온 XMC4 driver
- 추가된 마이크로칩 PolarFire SoC driver
- 추가된 Ambiq driver Apollo4 SoC
- I2S
- PCM 데이터 형식의 고정 처리
- I3C
i3c_cdns:- build가 비활성화되었을 때 build 오류가 수정되었습니다.
- controller가 바쁜 상태에서 전송 문제가 해결되었습니다. 이제 controller가 비동기를 기다립니다.
- IEEE 802.15.4
- ieee802154_radio_api에 새로운 의무적인 방법 attr_get()가 도입되었다. Drivers는 적어도 IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_PAGES와 IEEE802154_ATTR_PHY_SUPPORTED_CHANNEL_RANGES를 구현해야 한다.
- IEEE802154_HW_2_4_GHZ 및 IEEE802154_HW_SUB_GHZ의 하드웨어 기능은 표준에 맞지 않아 제거되었으며, 이미 존재하는 일부 drivers는 채널 페이지 및 채널 범위를 제대로 표현할 수 없었습니다. 특히 SUN FSK 및 HRP UWB drivers).
- get_subg_channel_count() 방법은 ieee802154_radio_api에서 제거되었습니다. 이 방법은 기존 drivers의 채널 범위를 제대로 표현할 수 없었습니다. (특히 SUN FSK drivers, 채널 페이지를 구현하는 0, 그리고 0 기반 채널 범위를 가지고 있지 않을 수도 있습니다. 또는 UWB drivers, 전혀 표현할 수 없습니다). 이 방법은 새로운 driver 속성 ieee802154_radio_api0로 대체되었습니다.
- Interrupt Controller
- GIC: Architecture 버전 선택은 이제 device 나무를 기반으로합니다
- 입력
- 새로운 drivers:
gpio-qdec,st,stmpe811. - Drivers에서 Kscan로 변환된 입력:
goodix,gt911xptek,xpt2046hynitron,cst816smicrochip,cap1203. - console
CONFIG_INPUT_EVENT_DUMP에 모든 이벤트를 덤핑하는 Kconfig 옵션과 새로운 셸 명령어CONFIG_INPUT_SHELL를 추가했습니다. zephyr,gpio-keys를gpio-keys로 통합하고 모든 트리 내 boardgpio-keys노드에zephyr,code코드를 추가했습니다.- callback 정의 매크로를
INPUT_LISTENER_CB_DEFINE에서INPUT_CALLBACK_DEFINE로 개칭합니다.
- 새로운 drivers:
- PCIE
- PCIe 기능을 표시하기 위해 셸에 추가된 지원
- 가상 채널 지원이 추가되었습니다
- host controller의 초기화 우선순위를 지정하기 위해 kconfig
CONFIG_PCIE_INIT_PRIORITY를 추가했습니다. - ACPI PCI 라우팅 테이블 (PRT) 에서 IRQ를 얻는 데 추가 지원
- ACPI
- ACPICA library를 새로운 모듈로 채택하여 ACPI 지원을 더욱 강화하였다.
- 핀 컨트롤
- 누보톤 누메이커 M46x에 대한 추가 지원
- PWM
- STM32 PWM driver에 4 채널 캡처 추가
- 인텔 블링키 PWM에 driver를 추가했습니다.
- MAX31790에 driver가 추가되었습니다.
- 인피네온 XMC4XXX CCU4에 driver가 추가되었습니다.
- 인피네온 XMC4XXX CCU8에 driver가 추가되었습니다.
- 추가된 MCUX CTimer 기반 PWM driver
- PWM driver는 TI CC13xx/CC26xx GPT 타이머를 기반으로 추가되었습니다.
- pwm_nrf5_sw driver을 재작업하여 nRF53 및 nRF91 시리즈에서도 사용할 수 있도록 pwm_nrf5_sw driver로 변경되었습니다. 결과적으로 driver는 pwm_nrf_sw로 변경되었습니다.
- 누보톤 누메이커 가족에 driver를 추가했습니다.
- PWM driver는 NXP S32 EMIOS 주변기기를 기반으로 추가되었습니다.
- 규제 기관
- GPIO-controlled 전압 조절기 위한 추가 지원
- AXP192 PMIC에 추가 지원
- NXP VREF 조절기 위한 추가 지원
- 고정 조절기는 이제 작동전압을 지정할 수 있습니다.
- PFM 모드는 이제 nPM1300를 지원합니다
- 새로운 API를 추가하여 "함" 모드를 구성합니다
- 규제 셸은 DVS 모드를 구성할 수 있습니다.
- 다시 설정
- 누보톤 누메이커 M46x에 대한 추가 지원
- 보관된 memory
CONFIG_RETAINED_MEM_MUTEX_FORCE_DISABLE로 mutex 지원이 강제로 비활성화될 수 있도록 추가 지원- 사용자 모드 지원이 작동하지 않는 문제가 해결되었습니다.
- RTC
- STM32 RTC API driver에 대한 추가 지원이 추가되었습니다. 이 driver는 RTC 기반의 COUNTER API 구현을 사용하여 compatible이 아닙니다.
- SDHC
- 알더 호수 플랫폼에 존재하는 driver를 추가하여 EMMC Host controller
- SAM4E MCU 시리즈에 존재하는 Atmel HSMCI controller에 driver가 추가되었습니다
- Sensor
ti,bq274xx를 재조직하여BQ27427지원, 용량 및 전력 채널의 고정 단위를 추가했습니다.- 추가된 ADC 전류 감각 증폭기 및 전압 sensor drivers
- 추가된 ADI LTC2990 전압, 전류 및 온도 sensor driver
- 추가된 AMS TSL2540 환경 조명 sensor driver
- 보쉬 BMI08x accelerometer/gyroscope driver가 추가되었습니다.
- 추가된 DFRobot A01NYUB 거리 sensor driver
- 추가된 Fintek F75303 온도 sensor driver
- 추가된 Isentek IST8310 마그네트로 driver
- 추가된 마이크로칩 TCN75A 온도 sensor driver
- 추가된 NXP TEMPMON driver
- 추가된
- TI TMAG5170 3D 홀 sensor driver
- BMM150, LM75 및 마이크로칩 타코미터 drivers에 power management 지원이 추가되었습니다.
- BMM150 마그네트로 driver에 트리거 지원이 추가되었습니다.
- LIS2DH 가속도 driver에 터프 트리거 지원이 추가되었습니다.
- 업데이트 된 ST sensor drivers STMEMSC HAL i/f v2.3
- APIs 디encoder를 업데이트하여 원료 sensor 데이터를 수직으로 디코드합니다.
- NTC 열미스터 및 INA23x drivers에 대한 다양한 수정 및 향상
- Serial
- 누보톤 누메이커 M46x에 대한 추가 지원
- NS16550: device 초기화 매크로를 재작업했습니다.
CONFIG_UART_NS16550_ACCESS_IOPORT및CONFIG_UART_NS16550_SIMULT_ACCESS는 제거됩니다. UART를 사용하는 IO 포트 액세스를 위해io-mapped속성을 device 트리 node에 추가하십시오.
- ESP32S3에 대한 아싱크 지원이 추가되었습니다.
native_posix아래의 일련 TTY에 대한 추가 지원- Efinix 사피어 SOC에 UART에 대한 추가 지원
- 추가된 인텔 SEDI UART driver
- UART에 대한 추가 지원
uart_stm32:- RS485 지원이 추가되었습니다.
- 광범위한 데이터 지원이 추가되었습니다.
uart_pl011: Ambiq SoC에 대한 추가 지원serial_test: interrupt 및 아싱크 APIs에 대한 추가 지원uart_emul: interrupt API에 추가 지원uart_rpi_pico: 고정 운용 Modbus DE-RE 신호
- SPI
- Flash 인터페이스 유닛 (FIU) 모듈에서 구현된 npcx spi driver를 제거하십시오.
- Raspberry Pi Pico PIO 기반의 SPI에 대한 추가 지원
- Timer
- TI CC13xx/26xx 시스템 clock 타이머 compatible는
ti,cc13xx-cc26xx-rtc에서ti,cc13xx-cc26xx-rtc-timer로 변경되었으며,CC13X2_CC26X2_RTC_TIMER에서 Kconfig에 대응하는 Kconfig 옵션은CC13X2_CC26X2_RTC_TIMER에서CC13XX_CC26XX_RTC_TIMER로 변경되었습니다. 일관성과 확장성을 향상시키기 위해 내부 타이머가 변경되지 않는 한 아무런 조치도 필요하지 않습니다.
- TI CC13xx/26xx 시스템 clock 타이머 compatible는
- USB
- UDC driver를 추가하여 STM32 기반의 MCU, HAL/PCD.에 의존합니다
- USB driver에 STM32H5 시리즈에 대한 추가 지원
- Wi-Fi
- esp32 기본 network (TCP workq, RX 및 mgmt 이벤트) stack 크기를 2048 바이트로 증가시킵니다.
- Wi-Fi RAM에서 esp32s2_saola의 RAM 사용을 줄였습니다.
- winc1500에 수정: 정의되지 않은 선언
- 수정: SPI buffer 길이는 eswifi
- esp32 데이터 전송 및 채널 선택이 AP 모드에서 고정됩니다.
- 수정: esp_at driver init 및 network 인터페이스 잠식 상태 설정
Networking
- CoAP
- 내부적으로 하나의 thread만을 사용하기 위해 최적화된 CoAP 클라이언트 library.
- CoAP 클라이언트 library를 내부적으로 사용하도록 변환합니다.
- CoAP 클라이언트 library에서 오류를 수정하여 잘못된 retransmission timeout 계산을 초래했습니다.
- 64 비트 타이머 값을 사용하여 전송 타임아웃을 계산합니다. 이것은 devices의 잠재적 문제를 해결합니다. 49보다 많은 49 일 동안 32 비트 업타임 counter이 롤을 일으켜 CoAP 패킷이 timeout이 아닌 timeout이 발생할 수 있습니다.
- API 문서화 개선
- 새로운 API 기능이 추가되었습니다:
coap_has_descriptive_block_optioncoap_remove_descriptive_block_optioncoap_packet_remove_optioncoap_packet_set_path
- 연결 관리자:
- 자동 연결 및 자동 다운 동작 (
CONN_MGR_IF_NO_AUTO_CONNECT및CONN_MGR_IF_NO_AUTO_DOWN플래그에 의해 제어) 에 대한 추가 지원 - 연결 관리자 APIs를 별도의 헤더 파일로 나눌 수 있습니다.
- 새로운 기능을 다루는 확장된 연결 관리자 문서
- 자동 연결 및 자동 다운 동작 (
- DHCP:
- DHCPv4 unicast 응답 처리에 대한 추가 지원
- DHCPv6 프로토콜에 대한 추가 지원
- Ethernet:
- ARP 줄을 고정하여 network packet은 core network stack에서 줄을 잡은 2nd 시간 대신 즉시 전송됩니다.
- gPTP:
- 기본 멀티캐스트 목적지 주소를 사용하는 gPTP 패킷을 탐지하는 데 추가 지원
- 고장된 알림 및 추적 message 처리
- ICMP:
- 수정: ICMPv6 오류 message 유형 확인
- ICMP callback 등록 및 처리, 같은 ICMP message에 대해 여러 핸들러를 등록할 수 있도록
- ICMP 에코 요청 (ping) 를 보내기 위해 API를 도입했습니다.
- offloaded ICMP 핑 핸들러를 등록할 가능성은 추가되었습니다.
- 핑을 위한 packet 우선순위를 설정하는 추가 지원
- IPv6:
- IPv6 주소를 제거할 때 진행 중인 DAD 절차가 취소되도록 했습니다.
- 오류를 수정하여, 여전히 사용 중인 동안 Solicited-Node 멀티캐스트 주소를 제거할 수 있습니다.
- LwM2M
- 틱리스 모드 지원이 추가되었습니다. 이것은 500 ms timeout를 socket 루프에서 제거하여 엔진이 CPU를 지속적으로 깨우치지 않습니다. 이것은
CONFIG_LWM2M_TICKLESS에 의해 활성화 될 수 있습니다. - 새로운
LWM2M_RD_CLIENT_EVENT_DEREGISTER이벤트가 추가되었습니다. - 블록 위스 전송은 이제 LwM2M 읽기 및 복합 읽기 작업을 지원합니다.
CONFIG_LWM2M_COAP_BLOCK_TRANSFER가 활성화되면CONFIG_LWM2M_COAP_MAX_MSG_SIZE보다 큰 콘텐츠는 블록 위스 전송으로 나뉘습니다. - 블록별 전송은 CoAP 사양과 일치하지 않았기 때문에 더 이상 토큰이 일치하는 것을 요구하지 않습니다 (CoAP는 토큰 재사용을 요구하지 않습니다).
- 여러 가지 보트스트랩 수정. 이제 클라이언트는 DTLS 파이프를 닫기 전에 Bootstrap-Finish 명령이 전송된다는 것을 보장합니다. 또한 Bootstrap 서버가 DTLS 파이프를 닫을 수 있습니다. 부트스트랩 명령어를 기다리는 동안 timeout를 추가합니다.
- X509 인증서에 대한 추가 지원
- 문자열 관리를 위한 다양한 수정 사항. 문자열의 길이를 0으로 설정할 수 있습니다. 불투명한 자원에 문자열 동작을 사용할 때 문자열의 종료를 보장합니다.
- 연결 모니터링 객체 버전 1.3에 대한 추가 지원
- 서버에 의해 read/writes를 방지하기 위해 보안 객체에 대한 추가 보호.
- 관찰 토큰 변경의 경우 가능한 알림 정지
- 새로운 셸 명령어,
lwm2m create를 추가하여 LwM2M 객체 인스턴스를 만들 수 있습니다. - 레산 서버에 대한 LwM2M 상호 운용성 test 스위트를 추가했습니다.
- API 문서화 개선
- 다른 몇 가지 작은 수정과 개선 사항.
- 틱리스 모드 지원이 추가되었습니다. 이것은 500 ms timeout를 socket 루프에서 제거하여 엔진이 CPU를 지속적으로 깨우치지 않습니다. 이것은
- 기타
- network subsystem, PTP, IEEE 802.15.4의 시간표 및 시간표가 더 정확하게 지정되었으며 모든 트리 호출 사이트가 이에 따라 업데이트되었습니다. 시간표 TX 및 TX/RX의 필드는 통합되었습니다. 광범위한 문서에 대해
net_time_t,net_ptp_time,ieee802154_config, subsystem0 및 subsystem1를 참조하십시오. 이것은 크게 내부 subsystem2이기 때문에, 기존 application은 아마도 변경되지 않고 계속 작동할 것입니다. - 추가 net_pkt 필터 해킹에 대한 추가 지원:
CONFIG_NET_PKT_FILTER_IPV4_HOOKCONFIG_NET_PKT_FILTER_IPV6_HOOKCONFIG_NET_PKT_FILTER_LOCAL_IN_HOOK
- API 시점을 사용하기 위해 여러 네트워크 구성 요소를 재작업했습니다.
- 추가된 API 기능은 인터페이스 (
net_if_ipv4_addr_foreach,net_if_ipv6_addr_foreach) 에 등록된 모든 IPv4/IPv6를 통과하는 것을 촉진합니다. NET_EVENT_IPV6_PREFIX_ADD및NET_EVENT_IPV6_PREFIX_DEL사건은 이제 사전 (net_event_ipv6_prefix) 에 대한 더 자세한 정보를 제공합니다.- 네트워크 subsystem에 걸쳐 그림자 변수들의 일반적인 청소.
qemu_cortex_a53네트워크 지원이 추가되었습니다.- 새로운 modem subsystem를 소개했습니다.
- 새로운:zephyr:code-sample:
세포-modemsample 추가되었습니다. - network 인터페이스 이름에 대한 지원이 추가되었습니다.
- 서비스 은퇴로 인해 Google 클라우드 IoT sample의 지원이 제거되었습니다.
- 일부 경우에 L2에 의해 방산 모드로 전달된 패킷이 수정될 수 있는 버그를 수정했습니다.
- 실행 시간에 syslog 서버 (네트워크 로그 backend) IP 주소를 설정하는 추가 지원
- 더 이상 사용되지 않은
queued및sentnet_pkt flag이 제거되었습니다. - binding zperf TCP/UDP 서버를 특정 IP 주소로 추가 지원
- network subsystem, PTP, IEEE 802.15.4의 시간표 및 시간표가 더 정확하게 지정되었으며 모든 트리 호출 사이트가 이에 따라 업데이트되었습니다. 시간표 TX 및 TX/RX의 필드는 통합되었습니다. 광범위한 문서에 대해
- MQTT-SN:
- 내부 버퍼 분배의 thread 안전성 향상
- API 문서화 개선
- OpenThread
otPlatEntropyGet를 내부적으로 사용할 수 있도록 재작업했습니다.ieee802154_radio_openthread.h라디오 driver 확장 인터페이스가 OpenThread에 특화된ieee802154_radio_openthread.h에 소개되었습니다. OpenThread에 특화된 새로운 전송 모드가 추가되었습니다.
- PPP:
- 수정: PPP L2 인터페이스 운반 상태의 network 사용
- PPP L2 thread 우선 순위 구성 (
CONFIG_NET_L2_PPP_THREAD_PRIO) - 실험 단계에서 PPP L2를 옮겼습니다.
- 운반기가 다운될 때 PPP 연결이 재설정되는 것을 방지합니다.
- 소켓:
- 정적으로 할당된 소켓 커플에 대한 추가 지원 (무엇이 사용할 수 없는 경우)
- 만들어 timeout 구성 (
CONFIG_NET_SOCKET_MAX_SEND_WAIT) 를 보내십시오. FIONREAD및FIONBIOioctl명령에 대한 추가 지원- 연결된 데이터그램 소켓의 고정 입력 필터링
- 연결되지 않은 소켓에 수정:
getsockname작동 - DTLS 연결 ID 지원에 새로운 안전한 socket 옵션이 추가되었습니다:
TLS_DTLS_CIDTLS_DTLS_CID_VALUETLS_DTLS_PEER_CID_VALUETLS_DTLS_CID_STATUS
SO_REUSEADDR및SO_REUSEPORTsocket 옵션에 대한 추가 지원
- TCP
- 데이터 retransmission의 잠재적인 정지, 데이터가 부분적으로만 인정되었을 때.
- TCP work queue을 우선 순위를 구성 (
CONFIG_NET_TCP_WORKER_PRIO) - TCP의 새로운 리노 충돌 방지 알고리즘에 대한 추가 지원.
- 연결된 소켓에 수정: 소스 주소 선택
- socket가 활발한 handshake 중에 socket가 닫혀있는 경우 memory의 유출이 발생할 수 있습니다.
- 수정: RST packet 조작 handshake 동안
- 연결 해체에 책임이 있는 code를 재조정하여 발견된 버그를 수정하고 미래의 유지보수를 단순화했습니다.
- TFTP:
- 새로운:zephyr:code-sample:
tftp-clientsample 추가 - API 문서화 개선
- 새로운:zephyr:code-sample:
- 웹소켓
- WebSocket library는 연결을 끊으면 TCP socket를 자동으로 닫지 않습니다. 이것은 WebSocket library가 이미 연결된 TCP socket를 예상하는 연결 행동과 일치합니다.
- 와이파이:
- 패시브 스캔 지원이 추가되었습니다.
- Wi-Fi 스캔 API는 Wi-Fi 스캔 매개 변수로 업데이트되어 스캔 모드 선택을 허용합니다.
- 업데이트 된 TWT 조작
- 일반 network 관리자 API에 대한 추가 지원
- Wi-Fi 모드 설정 및 선택에 대한 추가 지원
- Wi-Fi 셸에서 SSID 및 PSK에 대한 사용자 입력 검증을 추가했습니다.
- 채널을 지정하고, 스캔 결과를 제한하고, SSIDs를 필터링하고, 활성 및 비활성 채널 체류 시간 및 주파수 대역을 설정하기 위한 스캔 확장 기능이 추가되었습니다.
USB
- 제1항 제1항 제1항 제2항 제1항 제1항
- Kconfig 옵션 USB_HID_PROTOCOL_CODE, v2.6에서 비효율이 떨어지는 USB_HID_PROTOCOL_CODE는 최종적으로 제거됩니다.
DeviceTree
API
새로운 일반용 매크로:
DT_REG_ADDR_U64DT_REG_ADDR_BY_NAME_U64DT_INST_REG_ADDR_BY_NAME_U64DT_INST_REG_ADDR_U64DT_FOREACH_STATUS_OKAY_NODE_VARGSDT_FOREACH_NODE_VARGSDT_HAS_COMPAT_ON_BUS_STATUS_OKAY
의존성 정렬에 대한 새로운 특수 목적 매크로가 도입되었습니다:
DT_DEP_ORD_STR_SORTABLE
수정: flash 파티션에 새로운 일반 목적 매크로가 도입되었습니다:
DT_MEM_FROM_FIXED_PARTITIONDT_FIXED_PARTITION_ADDR
Binding
- 범용 또는 vendor 독립형 binding:
- 새로운 bindings:
current-sense-amplifiercurrent-sense-shuntgpio-qdecregulator-gpiousb-audio-feature-volume
- 수정된 bindings:
- CAN (Controller 지역 Network) controller bindings:
- property
phase-seg1-data부정한 상태가 거짓에서 진실으로 변경되었습니다 - property
phase-seg1부정한 상태가 거짓에서 진실으로 변경되었습니다 - property
phase-seg2-data부정한 상태가 거짓에서 진실으로 변경되었습니다 - property
phase-seg2부정한 상태가 거짓에서 진실으로 변경되었습니다 - property
prop-seg-data부정한 상태가 거짓에서 진실으로 변경되었습니다 - property
prop-seg부정한 상태가 거짓에서 진실으로 변경되었습니다 - 속성
sjw-data기본 값은 None에서 1로 변경되었습니다 - property
sjw-data부정한 상태가 거짓에서 진실으로 변경되었습니다 - 속성
sjw기본 값은 None에서 1로 변경되었습니다 - property
sjw부정한 상태가 거짓에서 진실으로 변경되었습니다
- property
- Ethernet controller bindings: 새로운
phy-handle속성 (어떤 bindings에서, 이것은phy-dev에서 변경되었습니다), 리눅스 ethernet-controller binding와 일치합니다. riscv,isa에서 사용되는 RISC-V CPU bindings 속성은 더 이상enum값을 가지고 있지 않습니다.neorv32-cpu:- 새로운 재산:
mmu-type - 새로운 재산:
riscv,isa
- 새로운 재산:
regulator-fixed:- 새로운 재산:
regulator-min-microvolt - 새로운 재산:
regulator-max-microvolt - 재산
enable-gpios는 더 이상 필요하지 않습니다
- 새로운 재산:
ethernet-phy:- 제거된 재산:
address - 제거된 재산:
mdio - 현재
reg가 요구됩니다
- 제거된 재산:
usb-audio-hs및usb-audio-hp:- 새로운 재산:
volume-max - 새로운 재산:
volume-min - 새로운 재산:
volume-res - 새로운 재산:
status - 새로운 재산:
compatible - 새로운 재산:
reg - 새로운 재산:
reg-names - 새로운 재산:
interrupts - 새로운 재산:
interrupts-extended - 새로운 재산:
interrupt-names - 새로운 재산:
interrupt-parent - 새로운 재산:
label - 새로운 재산:
clocks - 새로운 재산:
clock-names - 새로운 재산:
#address-cells - 새로운 재산:
#size-cells - 새로운 재산:
dmas - 새로운 재산:
dma-names - 새로운 재산:
io-channels - 새로운 재산:
io-channel-names - 새로운 재산:
mboxes - 새로운 재산:
mbox-names - 새로운 재산:
wakeup-source - 새로운 재산:
power-domain - 새로운 재산:
zephyr,pm-device-runtime-auto
- 새로운 재산:
ntc-thermistor-generic:- 제거된 재산:
r25-ohm
- 제거된 재산:
ns16550:- 새로운 재산:
resets - 새로운 재산:
reset-names
- 새로운 재산:
fixed-clock:- 제거된 재산:
clocks
- 제거된 재산:
- 모든 CPU bindings는 새로운
enable-method속성을 얻었습니다.
- CAN (Controller 지역 Network) controller bindings:
- 새로운 bindings:
- 아날로그 Devices, Inc. (adi):
- 새로운 bindings:
adi,ad5628adi,ad5648adi,ad5668adi,ad5672adi,ad5674adi,ad5676adi,ad5679adi,ad5684adi,ad5686adi,ad5687adi,ad5689adi,adin1110adi,adltc2990
- 수정된 bindings:
adi,adin2111-mdio(adin2111 버스):- 제거된 재산:
protocol
- 제거된 재산:
- 새로운 bindings:
- 알테라 코퍼시픽 (다른):
- 새로운 bindings:
altr,pio-1.0
- 새로운 bindings:
- Ambiq Micro, Inc. (분명):
- 새로운 bindings:
ambiq,am1805ambiq,apollo4-pinctrlambiq,counterambiq,i2cambiq,mspiambiq,pwrctrlambiq,spiambiq,stimerambiq,uartambiq,watchdog
- 새로운 bindings:
- AMS AG (ams):
- 새로운 bindings:
ams,tsl2540
- 새로운 bindings:
- 안데스 기술 회사 (andestech):
- 새로운 bindings:
andestech,atcwdt200andestech,plic-swandestech,qspi-nor
- 새로운 bindings:
- ARM Ltd (팔):
- 새로운 bindings:
arm,cortex-a76arm,gic-v1arm,gic-v2arm,gic-v3arm,psci-1.1
- 새로운 bindings:
- ASPEED Technology Inc.
- 수정된 bindings:
aspeed,ast10x0-reset:- 공간 "리셋"에 대한 특유 셀은 이제 ['id'] (옛 값: 없습니다)
- 공간에 대한 사양 셀 "clock"는 이제 이름이 붙여있다: None (옛 값: ['reset_id'])
- 수정된 bindings:
- Atmel 코퍼레이션 (ATMEL):
- 새로운 bindings:
atmel,sam-hsmci
- 수정된 bindings:
atmel,sam-mdio:- 제거된 재산:
protocol - property
#address-cellsconst 값은 None에서 1로 변경되었습니다 - property
#size-cellsconst 값은 None에서 0로 변경되었습니다 - 현재
#address-cells가 요구됩니다 - 현재
#size-cells가 요구됩니다
- 제거된 재산:
- 새로운 bindings:
- 보쉬 센소르텍 GmbH (bosch):
- 새로운 bindings:
bosch,bmi08x-accelbosch,bmi08x-accelbosch,bmi08x-gyrobosch,bmi08x-gyro
- 수정된 bindings:
bosch,bmm150:- 새로운 재산:
drdy-gpios
- 새로운 재산:
bosch,bmi270:- 새로운 재산:
irq-gpios
- 새로운 재산:
- 새로운 bindings:
- 브로드컴 코퍼레이션 (brcm):
- 새로운 bindings:
brcm,bcm2711-aux-uart
- 새로운 bindings:
- 캐덴스 디자인 시스템스 인크 (CDN):
- 새로운 bindings:
cdns,tensilica-xtensa-lx3
- 새로운 bindings:
- DFRobot (dfrobot):
- 새로운 bindings:
dfrobot,a01nyub
- 새로운 bindings:
- 에피닉스 인크 (efinix):
- 새로운 bindings:
efinix,sapphire-gpioefinix,sapphire-timer0efinix,sapphire-uart0
- 새로운 bindings:
- EPCOS AG (epcos):
- 수정된 bindings:
epcos,b57861s0103a039:- 제거된 재산:
r25-ohm
- 제거된 재산:
- 수정된 bindings:
- Espressif 시스템 (Espressif):
- 수정된 bindings:
espressif,esp-at(uart 버스):- 새로운 재산:
external-reset
- 새로운 재산:
espressif,esp32-mdio:- 제거된 재산:
protocol - property
#address-cellsconst 값은 None에서 1로 변경되었습니다 - property
#size-cellsconst 값은 None에서 0로 변경되었습니다 - 현재
#address-cells가 요구됩니다 - 현재
#size-cells가 요구됩니다
- 제거된 재산:
espressif,riscv:- 새로운 재산:
mmu-type - 새로운 재산:
riscv,isa
- 새로운 재산:
espressif,esp32-spi:- 새로운 재산:
line-idle-low
- 새로운 재산:
- 수정된 bindings:
- 기능 통합 기술 Inc. (fintek):
- 새로운 bindings:
fintek,f75303
- 새로운 bindings:
- 포칼테크 시스템 Co.,Ltd (포칼테크):
- 수정된 bindings:
focaltech,ft5336(i2c 버스):- 새로운 재산:
reset-gpios
- 새로운 재산:
- 수정된 bindings:
- 후지쓰 주식회사 (fujitsu):
- 새로운 bindings:
fujitsu,mb85rcxx
- 새로운 bindings:
- 쉐인젠 후이딩 기술 Co., Ltd. (goodix):
- 수정된 bindings:
goodix,gt911(i2c 버스):- 버스 목록은 ['kscan']에서 []로 변경되었습니다.
- 새로운 재산:
alt-addr
- 수정된 bindings:
- 히맥스 테크놀로지스, Inc. (himax):
- 새로운 bindings:
himax,hx8394
- 새로운 bindings:
- 인피네온 테크놀로지 (Infineon):
- 새로운 bindings:
infineon,cat1-counterinfineon,cat1-spiinfineon,xmc4xxx-ccu4-pwminfineon,xmc4xxx-ccu8-pwminfineon,xmc4xxx-i2c
- 새로운 bindings:
- 인텔 코퍼레이션 (intel):
- 새로운 bindings:
intel,agilex5-clockintel,alder-lakeintel,apollo-lakeintel,blinky-pwmintel,elkhart-lakeintel,emmc-hostintel,ishintel,loapicintel,sedi-gpiointel,sedi-i2cintel,sedi-ipmintel,sedi-uartintel,socfpga-agilex-sip-smcintel,socfpga-resetintel,timeaware-gpio
- 제거된 bindings:
intel,agilex-socfpga-sip-smcintel,apollo_lakeintel,elkhart_lakeintel,gna
- 수정된 bindings:
intel,niosv:- 새로운 재산:
mmu-type - 새로운 재산:
riscv,isa
- 새로운 재산:
intel,adsp-imr:- 새로운 재산:
zephyr,memory-attr - 속성
zephyr,memory-region-mpuenum 값이 ['RAM', 'RAM_NOCACHE', 'FLASH', 'PPB', 'IO', 'EXTMEM'에서 변경된 값이 없어 - property
zephyr,memory-region-mpu부정한 상태가 거짓에서 진실으로 변경되었습니다
- 새로운 재산:
intel,lpss:- 새로운 재산:
dma-parent
- 새로운 재산:
intel,adsp-shim-clkctl:- 새로운 재산:
adsp-clkctl-clk-ipll
- 새로운 재산:
- 새로운 bindings:
- 이스텐크 주식회사 (isentek):
- 새로운 bindings:
isentek,ist8310
- 새로운 bindings:
- 통합 실리콘 솔루션 인크 (issi):
- 새로운 bindings:
issi,is31fl3216aissi,is31fl3733
- 새로운 bindings:
- ITE 테크. Inc. (사):
- 새로운 bindings:
ite,it8xxx2-sha
- 수정된 bindings:
ite,it8xxx2-pinctrl-func:- 새로운 재산:
func3-ext - 새로운 재산:
func3-ext-mask
- 새로운 재산:
ite,riscv-ite:- 새로운 재산:
mmu-type - 새로운 재산:
riscv,isa
- 새로운 재산:
ite,enhance-i2c:- 새로운 재산:
target-enable - 새로운 재산:
target-pio-mode
- 새로운 재산:
- 새로운 bindings:
- 리나로 리미티드 (linaro):
- 새로운 bindings:
linaro,ivshmem-ipm
- 새로운 bindings:
- Maxim 통합 제품 (maksim):
- 새로운 bindings:
maxim,max11102maxim,max11103maxim,max11105maxim,max11106maxim,max11110maxim,max11111maxim,max11115maxim,max11116maxim,max11117maxim,max11253maxim,max11254maxim,max31790
- 새로운 bindings:
- 마이크로칩 테크놀로지 Inc. (미초칩):
- 새로운 bindings:
microchip,mcp251xfdmicrochip,mpfs-i2cmicrochip,tcn75a
- 수정된 bindings:
microchip,xec-pwmbbled:- 새로운 재산:
enable-low-power-32k
- 새로운 재산:
microchip,cap1203(i2c 버스):- 버스 목록은 ['kscan']에서 []로 변경되었습니다.
- 새로운 재산:
input-codes
microchip,xec-ps2:- 새로운 재산:
wakerx-gpios
- 새로운 재산:
- 새로운 bindings:
- 모토로라, Inc. (motorola):
- 수정된 bindings:
motorola,mc146818:- 새로운 재산:
clock-frequency
- 새로운 재산:
- 수정된 bindings:
- 무라타 제조 Co., Ltd. (무라타):
- 새로운 bindings:
murata,ncp15wb473
- 새로운 bindings:
- 노르딕 반도체 (노르딕):
- 새로운 bindings:
nordic,npm1300-lednordic,npm1300-wdt
- 제거된 bindings:
nordic,nrf-cc310nordic,nrf-cc312
- 수정된 bindings:
nordic,nrf-ccm:- 새로운 재산:
headermask-supported
- 새로운 재산:
nordic,nrf-twi:- 새로운 재산:
easydma-maxcnt-bits
- 새로운 재산:
nordic,nrf-twim및nordic,nrf-twis:- 새로운 재산:
easydma-maxcnt-bits - 새로운 재산:
memory-regions - 새로운 재산:
memory-region-names
- 새로운 재산:
nordic,nrf-spi,nordic,nrf-spis,nordic,nrf-spim:- 새로운 재산:
wake-gpios
- 새로운 재산:
nordic,npm1300-charger:- 새로운 재산:
thermistor-cold-millidegrees - 새로운 재산:
thermistor-cool-millidegrees - 새로운 재산:
thermistor-warm-millidegrees - 새로운 재산:
thermistor-hot-millidegrees - 새로운 재산:
trickle-microvolt - 새로운 재산:
term-current-percent - 새로운 재산:
vbatlow-charge-enable - 새로운 재산:
disable-recharge
- 새로운 재산:
nordic,nrf-uicr:- 새로운 재산:
nfct-pins-as-gpios - 새로운 재산:
gpio-as-nreset
- 새로운 재산:
nordic,npm1300(i2c 버스):- 새로운 재산:
host-int-gpios - 새로운 재산:
pmic-int-pin
- 새로운 재산:
- 새로운 bindings:
- 핵 시스템 기술 (핵):
- 수정된 bindings:
nuclei,bumblebee:- 새로운 재산:
mmu-type - 새로운 재산:
riscv,isa
- 새로운 재산:
- 수정된 bindings:
- 누보톤 기술 회사 (누보톤):
- 새로운 bindings:
nuvoton,nct38xxnuvoton,nct38xx-gpionuvoton,npcx-fiu-nornuvoton,npcx-fiu-qspinuvoton,numaker-fmcnuvoton,numaker-gpionuvoton,numaker-pccnuvoton,numaker-pinctrlnuvoton,numaker-pwmnuvoton,numaker-rstnuvoton,numaker-sccnuvoton,numaker-spinuvoton,numaker-uart
- 제거된 bindings:
nuvoton,nct38xx-gpionuvoton,npcx-spi-fiu
- 수정된 bindings:
nuvoton,npcx-sha:- 새로운 재산:
context-buffer-size
- 새로운 재산:
nuvoton,npcx-adc:- 새로운 재산:
vref-mv - 제거된 재산:
threshold-reg-offset
- 새로운 재산:
nuvoton,adc-cmp:- 새로운 재산:
thr-sel
- 새로운 재산:
nuvoton,npcx-pcc:- 새로운 재산:
pwdwn-ctl-val - 속성
clock-frequencyenum 값은 [100000000, 96000000, 90000000, 80000000, 66000000, 50000000, 48000000, 40000000, 33000000]에서 [1000000000, 1000000001, 1000000002, 1000000003, 1000000004, 1000000005, 1000000006, 1000000007]로 변경되었습니다 - 속성
ram-pd-depthenum 값이 [12, 15]에서 [8, 12, 15]로 변경되었습니다
- 새로운 재산:
- 새로운 bindings:
- NXP 반도체 (nxp):
- 새로운 bindings:
nxp,ctimer-pwmnxp,fs26-wdognxp,imx-flexspi-w956a8mbyanxp,irqsteer-intcnxp,lpdacnxp,mbox-imx-munxp,mcux-dcpnxp,mcux-edma-v3nxp,pcf8563nxp,pxpnxp,s32-adc-sarnxp,s32-clocknxp,s32-emiosnxp,s32-emios-pwmnxp,s32-gmacnxp,s32-qspinxp,s32-qspi-devicenxp,s32-qspi-nornxp,s32k3-pinctrlnxp,smartdmanxp,tempmonnxp,vref
- 수정된 bindings:
nxp,s32-netc-emdio:- 제거된 재산:
protocol - property
#address-cellsconst 값은 None에서 1로 변경되었습니다 - property
#size-cellsconst 값은 None에서 0로 변경되었습니다 - 현재
#address-cells가 요구됩니다 - 현재
#size-cells가 요구됩니다
- 제거된 재산:
nxp,mipi-dsi-2l:- 재산
nxp,lcdif는 더 이상 필요하지 않습니다
- 재산
nxp,imx-mipi-dsi:- 재산
nxp,lcdif는 더 이상 필요하지 않습니다
- 재산
nxp,pca9633(i2c 버스):- 새로운 재산:
disable-allcall
- 새로운 재산:
nxp,s32-sys-timer:- 제거된 재산:
clock-frequency - 현재
clocks가 요구됩니다
- 제거된 재산:
nxp,imx-lpspi:- 새로운 재산:
data-pin-config
- 새로운 재산:
nxp,s32-spi:- 재산
clock-frequency는 더 이상 필요하지 않습니다 - 현재
clocks가 요구됩니다
- 재산
nxp,imx-wdog:- pinctrl 지원
nxp,s32-swt:- 제거된 재산:
clock-frequency - 현재
clocks가 요구됩니다
- 제거된 재산:
nxp,lpc-lpadc:- 새로운 재산:
nxp,reference-supply
- 새로운 재산:
nxp,kinetis-pit:- 새로운 재산:
max-load-value - 현재
clocks가 요구됩니다
- 새로운 재산:
nxp,mcux-edma:- 새로운 재산:
dmamux-reg-offset - 새로운 재산:
channel-gap - 새로운 재산:
irq-shared-offset
- 새로운 재산:
nxp,imx-elcdif:- 새로운 재산:
nxp,pxp
- 새로운 재산:
- 새로운 bindings:
- ON 반도체 회사 (nnn):
- 새로운 bindings:
onnn,ncp5623
- 새로운 bindings:
- 프린스턴 기술 회사 (PTc):
- 새로운 bindings:
ptc,pt6314
- 새로운 bindings:
- 퀘켈 무선 솔루션 Co., Ltd. (퀘켈):
- 새로운 bindings:
quectel,bg95
- 새로운 bindings:
- QuickLogic Corp. (Quicklogic):
- 새로운 bindings:
quicklogic,eos-s3-pinctrl
- 수정된 bindings:
quicklogic,usbserialport-s3b:- pinctrl 지원
- 새로운 bindings:
- 라즈베리 파이 재단 (raspberrypi):
- 새로운 bindings:
raspberrypi,pico-headerraspberrypi,pico-i2craspberrypi,pico-spi-pioraspberrypi,pico-timer
- 새로운 bindings:
- 레이디움 반도체 회사 (raydium):
- 새로운 bindings:
raydium,rm67162
- 새로운 bindings:
- 레네사스 전자공사 (renesas):
- 새로운 bindings:
renesas,smartbond-lp-oscrenesas,smartbond-timer
- 수정된 bindings:
renesas,smartbond-flash-controller:- 새로운 재산:
read-cs-idle-delay - 새로운 재산:
erase-cs-idle-delay
- 새로운 재산:
- 새로운 bindings:
- 스마트 배터리 시스템 (sbs):
- 새로운 bindings:
sbs,default-sbs-gaugesbs,sbs-charger
- 새로운 bindings:
- Seeed Technology Co., Ltd (seeed):
- 새로운 bindings:
seeed,hm330x
- 새로운 bindings:
- 시피브, 인크 (시피브):
- 수정된 bindings:
sifive,i2c0:- pinctrl 지원
- 수정된 bindings:
- 실리콘 연구소 (시라브):
- 새로운 bindings:
silabs,gecko-adc
- 새로운 bindings:
- 시노 웨일스 전자 (sinowealth):
- 새로운 bindings:
sinowealth,sh1106sinowealth,sh1106
- 새로운 bindings:
- 시트로닉스 기술 회사 (시트로닉스):
- 수정된 bindings:
sitronix,st7735r(spi 버스):- 재산
reset-gpios는 더 이상 필요하지 않습니다
- 재산
- 수정된 bindings:
- 표준 마이크로시스템스 코퍼레이션 (smsc):
- 수정된 bindings:
smsc,lan91c111-mdio:- 제거된 재산:
protocol - property
#address-cellsconst 값은 None에서 1로 변경되었습니다 - property
#size-cellsconst 값은 None에서 0로 변경되었습니다 - 현재
#address-cells가 요구됩니다 - 현재
#size-cells가 요구됩니다
- 제거된 재산:
smsc,lan91c111:- 새로운 재산:
local-mac-address - 새로운 재산:
zephyr,random-mac-address - 재산
reg는 더 이상 필요하지 않습니다
- 새로운 재산:
- 수정된 bindings:
- 시노프시스, Inc. (snps):
- 새로운 bindings:
snps,dw-timers
- 새로운 bindings:
- 솔로몬 시스텍 리미티드 (솔로몬):
- 수정된 bindings:
solomon,ssd1306fb- 새로운 재산:
inversion-on - 새로운 재산:
ready-time-ms
- 새로운 재산:
- 수정된 bindings:
- 시퀀스 통신 (sqn):
- 새로운 bindings:
sqn,hwspinlock
- 새로운 bindings:
- STMicroelectronics (st):
- 새로운 bindings:
st,stm32-bxcanst,stm32-spi-host-cmdst,stm32f1-rccst,stm32f3-rccst,stm32wba-flash-controllerst,stm32wba-hse-clockst,stm32wba-pll-clockst,stm32wba-rccst,stmpe811
- 제거된 bindings:
st,stm32-can
- 수정된 bindings:
st,stm32-pwm:- 새로운 재산:
four-channel-capture-support
- 새로운 재산:
st,stm32f4-adc:- 새로운 재산:
st,adc-clock-source - 새로운 재산:
st,adc-prescaler - 새로운 재산:
st,adc-sequencer - 제거된 재산:
temp-channel - 제거된 재산:
vref-channel - 제거된 재산:
vbat-channel
- 새로운 재산:
st,stm32-adc:- 새로운 재산:
st,adc-clock-source - 새로운 재산:
st,adc-prescaler - 새로운 재산:
st,adc-sequencer - 제거된 재산:
temp-channel - 제거된 재산:
vref-channel - 제거된 재산:
vbat-channel
- 새로운 재산:
st,stm32f1-adc:- 새로운 재산:
st,adc-sequencer - 제거된 재산:
temp-channel - 제거된 재산:
vref-channel - 제거된 재산:
vbat-channel
- 새로운 재산:
st,stm32-ospi:- 새로운 재산:
io-low-port - 새로운 재산:
io-high-port
- 새로운 재산:
st,stm32c0-hsi-clock:- 제거된 재산:
clocks
- 제거된 재산:
st,stm32-hse-clock:- 제거된 재산:
clocks
- 제거된 재산:
st,stm32wl-hse-clock:- 제거된 재산:
clocks
- 제거된 재산:
st,stm32g0-hsi-clock:- 제거된 재산:
clocks
- 제거된 재산:
st,stm32h7-hsi-clock:- 제거된 재산:
clocks
- 제거된 재산:
st,stm32-lse-clock:- 제거된 재산:
clocks
- 제거된 재산:
st,stm32u5-pll-clock:- 새로운 재산:
fracn
- 새로운 재산:
- 새로운 bindings:
- Telink 반도체 (telink):
- 수정된 bindings:
telink,b91-pwm:- pinctrl 지원
telink,b91:- 새로운 재산:
mmu-type - 새로운 재산:
riscv,isa
- 새로운 재산:
telink,b91-i2c:- pinctrl 지원
telink,b91-spi:- pinctrl 지원
telink,b91-uart:- pinctrl 지원
- 수정된 bindings:
- Texas Instruments (ti):
- 새로운 bindings:
ti,ads1112ti,bq27z746ti,cc13xx-cc26xx-rtc-timerti,cc13xx-cc26xx-timerti,cc13xx-cc26xx-timer-pwmti,cc32xx-pinctrlti,davinci-gpioti,davinci-gpio-nexusti,lp5009ti,lp5012ti,lp5018ti,lp5024ti,lp5030ti,lp5036ti,lp5569ti,tas6422dacti,tcan4x5xti,tla2021ti,tmag5170ti,vim
- 제거된 bindings:
ti,cc13xx-cc26xx-rtcti,lp503x
- 수정된 bindings:
ti,cc32xx-i2c:- pinctrl 지원
ti,ina230(i2c 버스):- 새로운 재산:
alert-config - 새로운 재산:
adc-mode - 새로운 재산:
vbus-conversion-time-us - 새로운 재산:
vshunt-conversion-time-us - 새로운 재산:
avg-count - 새로운 재산:
rshunt-micro-ohms - 제거된 재산:
rshunt-milliohms - 속성
config기본 값은 None에서 0로 변경되었습니다 - property
config부정한 상태가 거짓에서 진실으로 변경되었습니다 - 재산
config는 더 이상 필요하지 않습니다
- 새로운 재산:
ti,ina237(i2c 버스):- 새로운 재산:
adc-mode - 새로운 재산:
vbus-conversion-time-us - 새로운 재산:
vshunt-conversion-time-us - 새로운 재산:
temp-conversion-time-us - 새로운 재산:
avg-count - 새로운 재산:
high-precision - 새로운 재산:
rshunt-micro-ohms - 제거된 재산:
rshunt-milliohms - 속성
adc-config기본 값은 None에서 0로 변경되었습니다 - 속성
config기본 값은 None에서 0로 변경되었습니다 - property
adc-config부정한 상태가 거짓에서 진실으로 변경되었습니다 - property
config부정한 상태가 거짓에서 진실으로 변경되었습니다 - 재산
adc-config는 더 이상 필요하지 않습니다 - 재산
config는 더 이상 필요하지 않습니다
- 새로운 재산:
ti,cc32xx-uart:- pinctrl 지원
- 새로운 bindings:
- 실제 판매자를 위한 대역으로, 예를 들어 tests (vnd) 에서 사용할 수 있습니다:
- 새로운 bindings:
vnd,memory-attrvnd,reg-holder-64vnd,reserved-compat
- 수정된 bindings:
vnd,serial:- 재산
reg는 더 이상 필요하지 않습니다
- 재산
- 새로운 bindings:
- X-파워 (x-파워):
- 새로운 bindings:
x-powers,axp192x-powers,axp192-gpiox-powers,axp192-regulator
- 새로운 bindings:
- 젠 하이퍼바이저 (xen):
- 새로운 bindings:
xen,xen
- 제거된 bindings:
xen,xen-4.15
- 새로운 bindings:
- Xilinx (xlnx):
- 새로운 bindings:
xlnx,zynqmp-ipi-mailbox
- 새로운 bindings:
- 젠 엑스텍 기술 Co., Ltd (xptek):
- 수정된 bindings:
xptek,xpt2046(spi 버스):- 버스 목록은 ['kscan']에서 []로 변경되었습니다.
- 수정된 bindings:
- Zephyr 특유의 binding (zephyr):
- 새로운 bindings:
zephyr,fake-rtczephyr,i2c-dump-allowlistzephyr,lvgl-button-inputzephyr,lvgl-encoder-inputzephyr,lvgl-pointer-inputzephyr,mdio-gpiozephyr,native-tty-uartzephyr,ram-diskzephyr,sensingzephyr,sensing-phy-3d-sensor
- 제거된 bindings:
zephyr,gpio-keys
- 수정된 bindings:
zephyr,mmc-disk(SD 버스):- 새로운 재산:
bus-width
- 새로운 재산:
zephyr,bt-hci-spi(spi 버스):- 새로운 재산:
controller-data-delay-us
- 새로운 재산:
zephyr,sdhc-spi-slot(spi 버스):- 새로운 재산:
pwr-gpios
- 새로운 재산:
zephyr,memory-region:- 새로운 재산:
zephyr,memory-attr - 속성
zephyr,memory-region-mpuenum 값이 ['RAM', 'RAM_NOCACHE', 'FLASH', 'PPB', 'IO', 'EXTMEM'에서 변경된 값이 없어 - property
zephyr,memory-region-mpu부정한 상태가 거짓에서 진실으로 변경되었습니다 - 현재
reg가 요구됩니다
- 새로운 재산:
- 새로운 bindings:
Library 및 Subsystem
- Management
- img_mgmt 및 os_mgmt의 핸들러와 함께 MCUmgr 클라이언트 지원이 도입되었습니다.
- response 확인을 MCUmgr의
MGMT_EVT_OP_CMD_RECV알림 callback에 추가하여 애플리케이션이 MCUmgr 명령어를 거부할 수 있습니다. - MCUmgr SMP 버전 2 오류 번역 (유전 MCUmgr 오류 code) 은 그룹을 등록할 때
mg_translate_error의mgmt_group를 설정하여 함수 처리기에서 지원됩니다. 함수 세부 사항은smp_translate_error_fn참조하십시오. - MCUmgr img_mgmt 그룹에서 문제가 해결되었습니다. 초기 packet에서 업로드의 크기가 확인되지 않았습니다.
- MCUmgr fs_mgmt 그룹에서 일부 상태 코드가 올바르게 확인되지 않은 문제가 해결되었습니다. 이것은 반환 된 오류가 올바른 오류가 아닐 수 있음을 의미했습니다. 그러나 오류가 이미 존재하는 상황에서만 발생합니다.
- SMP response 함수가 초기 zcbor 지도가 성공적으로 생성되었는지 확인하지 않은 문제를 해결했습니다.
- MCUmgr shell_mgmt 그룹에서 수신 명령의 길이가 제대로 확인되지 않은 문제를 해결합니다.
- MCUmgr img_mgmt 그룹에 선택적으로 mutex 잠금 지원이 추가되었으며,
CONFIG_MCUMGR_GRP_IMG_MUTEX로 활성화 될 수 있습니다. - 원격 device에서 zephyr 설정을 조작할 수 있는 MCUmgr 설정 관리 그룹이 추가되었습니다. 자세한 내용은
mcumgr_smp_group_3참조하십시오. CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_SECONDARY와CONFIG_MCUMGR_GRP_IMG_ALLOW_CONFIRM_NON_ACTIVE_IMAGE_ANY를 추가하여 MCUmgr 클라이언트가 비활성 이미지를 확인할 수 있는지 여부를 제어할 수 있습니다.- 다음 boot를 기다리고 있는 슬롯을 삭제할 수 있는
CONFIG_MCUMGR_GRP_IMG_ALLOW_ERASE_PENDING를 추가했습니다. user_data가mgmt_handler가 활성화되면user_data를 선택적 필드로 추가합니다.- os mgmt 리셋 명령에 선택적
force매개 변수를 추가하면, 데이터 구조가MGMT_EVT_OP_OS_MGMT_RESET인 callback 알림에서 확인할 수 있습니다. CONFIG_MCUMGR_SMP_CBOR_MIN_ENCODING_LEVELS를 통해 SMP 코딩 레벨의 구성 가능한 숫자가 추가되었으며,CONFIG_ZCBOR_CANONICAL가 활성화되면 트리 그룹에 대한 최소 코딩 레벨을 자동으로 증가시킵니다.- STM32 SPI backend EC Host 명령 프로토콜에 추가되었습니다.
- 수정: settings_mgmt 무지 오류가 무효 키가 지정된 오류 대신 반환됩니다.
- 수정: fs_mgmt 반환 매개 변수 파일 대신 너무 큰 오류는 빈 파일을 hash/checksum 시도 할 때 빈 오류입니다.
- 파일 시스템
- ext2 파일 시스템에 대한 추가 지원
- device의 블록 device에 설치된 작은 기기의 추가 지원
- FS_LITTLEFS_DECLARE_CUSTOM_CONFIG 매크로에 배열 매개 변수를 추가하면 SDMMC devices에 대한 read/write 동작을 가속화 할 수 있습니다. CONFIG_SDHC_BUFFER_ALIGNMENT에 버퍼를 배열할 때, 우리는 buffer 카드에서 read/prog buffer에 대한 데이터의 추가 복사기를 피할 수 있기 때문입니다.
- Random
- 오래전 폐지된
CONFIG_XOROSHIRO_RANDOM_GENERATOR는 마침내 제거되었습니다.
- 오래전 폐지된
- 보존
blinfo_apisubsystem를 추가했습니다.CONFIG_RETENTION_MUTEX_FORCE_DISABLE로 mutex 지원이 강제로 비활성화될 수 있도록 추가 지원
- 바이너리 설명자
binary_descriptors(bindesc) subsystem가 추가되었습니다.
- POSIX API
- 추가된 역동적인 thread stack 지원
stat를 고정하여 파일 시스템 통계 대신 파일 통계를 반환합니다- 다음 POSIX API를 구현했습니다:
pthread_barrierattr_destroy(),pthread_barrierattr_getpshared(),pthread_barrierattr_init(),pthread_barrierattr_setpshared(),pthread_condattr_destroy(),pthread_condattr_init(),pthread_mutexattr_destroy(),pthread_mutexattr_init(),uname(),sigaddset(),sigdelset(),sigemptyset(),sigfillset(),sigismember(),strsignal(),pthread_spin_destroy(),pthread_spin_init(),pthread_spin_lock(),pthread_spin_trylock(),pthread_spin_unlock(),timer_getoverrun(),pthread_condattr_getclock(),pthread_condattr_setclock(),clock_nanosleep(). FIONREAD요청으로 읽을 수 있는 바이트 수를ioctl에 문의하는 데 추가 지원CONFIG_FDTABLE를 추가하여 파일 설명 표를 조건적으로 컴파일합니다- POSIX threads에 logging이 추가되었습니다.
- 이벤트 파일 설명서와 함께
poll문제를 수정
- LoRa/LoRaWAN
loramac-node에서 v4.6.0로 업데이트 된loramac-node
- CAN ISO-TP
- CAN FD에 대한 추가 지원
- RTIO
- 추가된 원자력 완성 counter tests 단위로 잡힌 경주를 고정하는
- 완료 알림이 필요하지 않은 경우 제출을 위해
RTIO_SQE_NO_RESPONSE플래그 추가 - 사용되지 않은 Kconfig 옵션이 다른 실행자를 위해 제거되었습니다
- ZBus
- data/config 접근법을 준수하기 위해 채널 및 관찰자의 메타데이터를 변경했습니다. ZBus는 Flash의 반복 가능한 섹션과 RAM의 변경 가능한 데이터 부분을 변경할 수 없는 구성 요소를 저장합니다.
- 채널과 관찰자 사이의 관계는 관측이라는 새로운 단체를 사용하여 지도화됩니다. 관측은 마스크 관측의 미분성을 증가시킬 수 있습니다. 개발자는 개별 관측을 마스크, 관찰자를 비활성화하거나 런타임 관찰자를 사용할 수 있습니다.
- API
ZBUS_CHAN_ADD_OBS매크로를 추가하여 채널의 포스트 정의 정적 관찰자를 추가했습니다. 이는 런타임 관찰자 기능을 대체할 수 있으며 개발자가 다른 파일에서 채널 정의 후에 정적 관찰자를 추가할 수 있습니다. ZBus를 사용하여 시스템의 구성성을 높이고, 정의 후 채널 관찰이 힙 대신 stack에 의존하게합니다. - ZBus'의 VDED는 publication/notification 프로세스 중 message를 복사합니다.
- VDED 배달 순서를 변경했습니다.
- ZBus 런타임 관찰자들은 이제 memory 풀 대신 힙에 의존합니다.
- 추가된 새로운 반복 가능한 섹션 반복자 APIs (채널 및 관찰자) 는 이제 함수 호출 사이의 맥락을 유지하기 위해
user_data포인터를 수신할 수 있습니다. - APIs
ZBUS_LISTENER_DEFINE_WITH_ENABLE및ZBUS_SUBSCRIBER_DEFINE_WITH_ENABLE를 추가하여 개발자가 관찰자의 상태를 (enabled/disabled) 프로그래밍 방식으로 정의할 수 있습니다. API를 사용하면 개발자는 처음에는 비활성화된 관찰자를 생성하고 실행 시간에 활성화 할 수 있습니다.
- Power management
CONFIG_PM_NEED_ALL_DEVICES_IDLE를 추가했습니다. 이 옵션을 설정하면 power management는 device가 바쁜 경우 시스템을 활성화합니다.- 이제
pm_device_runtime_get에서 ISR에서 전화를 받을 수 있습니다. - 전력 상태는 devicetree에서
status = "disabled";를 수행하는 devicetree에서 직접 비활성화 될 수 있습니다 - devices를 특정 전력 상태로 초기화하기 위해
pm_device_driver_init의 보조 기능을 추가했습니다.
- Modem 모듈
modemsubsystem를 추가했습니다.
HAL
- Nordic
- nrfx가 3.1.0 버전으로 업데이트되었습니다.
- 노보톤
- 추가된 Nuvoton NuMaker M46x
MCUboot
CONFIG_MCUBOOT_BOOTLOADER_NO_DOWNGRADE를 추가하여 application에 On-board MCUboot가 다운그레이드 방지 기능을 갖춘 것으로 구성되어 있음을 알릴 수 있습니다. 이 옵션은 자동으로 DirectXIP 모드로 선택되며 양 스와프 모드로도 사용할 수 있습니다.CONFIG_MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY를 추가하여 application에 on-board MCUboot가 원본 이미지를 원본 슬롯에 저장하지 않고 초중 슬롯 내용으로 초중 슬롯을 덮어쓰는 것을 알 수 있습니다.- 정해된 문제로 일련 복구가 해독된 이미지의 이미지 세부사항을 표시하지 않습니다.
- 2 이미지 슬롯에서 잘못 반복되는 단일 슬롯 모드에서 일련 복구 문제가 해결되었습니다.
- 출력이 전송될 때 처리되지 않는 boot_serial 반복의 문제를 해결하면 나중에 전송되는 명령이 이전 명령 출력이 전송되는 명령의 차이가 발생할 수 있습니다.
- boot_serial zcbor 설정 encoder 기능을 잘못 수정하여 buffer 주소를 포함하여 일부 플랫폼에서 일련 복원 실패를 일으켰습니다.
- 기본 디버깅 모드 최적화에서 잘못된 빌딩을 수정하면 상당한 양의 flash 공간을 절약합니다.
- MBEDTLS의 연속 복원 사용으로 문제가 해결되었습니다. MBEDTLS의 연속 복원 사용은 정의되지 않은 동작으로 인해 이중 슬롯 이미지가 암호화되었을 때 사용 오류가 발생했습니다.
- 상환 모드에서 최대 조화를 assertion하는 bootutil의 문제 해결
- flash device가 열지 못하고 assertion이 비활성화되면 오류 출력이 추가되어, 이제 부팅 로더가 공황에 빠질 것입니다.
- 현재 실행 중인 슬롯 ID 및 최대 application 크기를 공유 데이터 함수 정의에 추가했습니다.
- imgtool에 P384 및 SHA384 지원이 추가되었습니다.
- 선택적으로 일련 복구 이미지 상태 및 이미지 세트 상태 명령을 추가했습니다.
- imgtool에서 서명된 이미지를 분석하기 위해
dumpinfo명령을 추가했습니다. - imgtool에 공개키의 sha256 해시를 덤핑하기 위해
getpubhash명령을 추가했습니다. - imgtool에서 파일에 출력을 인쇄하기 위해
getpub에 대한 지원이 추가되었습니다. - imgtool에서 공개키의 원본을 덤핑하는 데 추가 지원
- boot 정보를 application와 저장하는 subsystem를 통해 공유할 수 있는 추가 지원
- 배열 복구를 위한 추가 지원 읽기 및 handle 암호화 하위 슬롯 파티션.
- ECDSA P224 지원이 제거되었습니다.
- 사용자 지정 이미지 목록 boot 시리즈 확장 지원 제거.
- boot 시리즈 확장 프로그램을 재작업하여 모듈 또는 사용자 저장소에서 반복 가능한 섹션으로 전환하여 사용할 수 있습니다.
- Zephyr에 대한 이미지 암호화 지원이 재개정되었습니다. code에는 Static dummy 키 파일이 더 이상 없습니다. 개인 및 공공 키를 추출하기 위해 pem 파일이 제공되어야합니다. Kconfig 메뉴는 암호화 및 키 파일을 선택하는 단일 옵션을 표시하는 데 변경되었습니다.
- ECDSA256 TLV 곡선 아고스틱을 재작업하고
ECDSA_SIG로 명명했습니다. - CDDL 자동 생성 함수 code는 zcbor 함수 호출으로 대체되었으며, 이것은 이제 매개 변수를 모든 순서로 공급할 수 있게 해줍니다.
- 이 release의 MCUboot 버전은
2.0.0+0-rc1버전입니다.
Nanopb
- 프로젝트 상태가 변경되어 유지되었습니다.
- 애플리케이션에 의해 포함되는 별도의 nanopb.cmake 파일을 추가했습니다.
.proto파일 포함을 간소화하기 위해zephyr_nanopb_sources기능을 만드는 helper를 추가했습니다.
LVGL
- 프로젝트 상태가 변경되어 유지되었습니다.
- Library는 release v8.3.7로 업데이트되었습니다.
zephyr,lvgl-{pointer,button,encoder}-input가상의 device bindings를 추가했습니다.CONFIG_LV_Z_KSCAN_POINTER는 여전히 지원되지만 터치 컨트롤러는 입력 이벤트를 방출하기 위해zephyr,kscan-input아이 node가 필요합니다.- LVGL 껍질은 원숭이 테스트 (
CONFIG_LV_USE_MONKEY를 요구한다) 및 memory 사용을 검사하는 것을 허용합니다.
Trusted Firmware-A
- TF-A 2.9.0로 업데이트 되었습니다.
Documentation
- Sphinx를 6.2로 업그레이드
Test 및 Sample
- 파일 시스템 (
fs_sample) 에 대한 일반적인 sample을 만들었습니다. sample (`FAT) 에 대한 sample에서 유래되어 FAT 및 ext2 파일 시스템을 모두 지원합니다. - Zbus 확인 채널 sample를 제작하여 구독자를 사용하여 배달 보장 채널을 구현하는 방법을 보여주었습니다.
- zbus message 구독자 sample를 생성하여 message 구독자를 사용하는 방법을 보여줍니다.
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.