Part 1
요약·해설
382줄 공식 원문 전체, release heading 3개, component heading 18개, JIRA 173건을 빠짐없이 번역합니다.
1.9.0 · 1.9.1 · 1.9.2
BLE Mesh · LwM2M · net-app · BSD Sockets
MMU/MPU · Stack Sentinel · thread isolation
Part 2
접을 수 있는 영어 원문 전체
영어 원문 전체 펼치기
7D3E35121A5EAFB641A9E990AE367F01FDA9E00172BA723E7C821B0451239E4E
:orphan:
.. _zephyr_1.9:
Zephyr Kernel 1.9.2
###################
This is a maintenance release with fixes.
Kernel
******
* Generic queue item acquisition fixed to always return a valid item when
using K_FOREVER
Bluetooth
*********
* Multiple stability fixes for BLE Mesh
* Multiple stability fixes for the BLE Controller
Zephyr Kernel 1.9.1
###################
This is a maintenance release with fixes and a two new features in the
BLE Controller.
Drivers and Sensors
*******************
* mcux ethernet driver buffer overflow fixed
* STM32 PWM prescaler issue fixed
Networking
**********
* Support for IPv6 in DNS fixed
Bluetooth
*********
* Multiple stability fixes for the BLE Controller
* Support for PA/LNA amplifiers in the BLE Controller
* Support for additional VS commands in the BLE Controller
Zephyr Kernel 1.9.0
###################
We are pleased to announce the release of Zephyr kernel version 1.9.0
Major enhancements planned with this release include:
* Bluetooth 5.0 Support (all features except Advertising Extensions)
* Bluetooth Qualification-ready BLE Controller
* BLE Mesh
* Lightweight Machine to Machine (LwM2M) support
* Pthreads compatible API
* BSD Sockets compatible API
* MMU/MPU (Cont.): Thread Isolation, Paging
* Expand Device Tree support to more architectures
* Revamp Testsuite, Increase Coverage
* Stack Sentinel support (See details below)
The following sections provide detailed lists of changes by component.
Kernel
******
* Added POSIX thread IPC support for Kernel
* kernel: introduce opaque data type for stacks
* Timeslicing and tickless kernel improvements
Architectures
*************
* arm: Added STM32F405, STM32F417, STM32F103x8 SoCs
* arm: Added TI CC2650 SoC
* arm: Removed TI CC3200 SoC
* arm: Added MPU support to nRF52, STM32L4, and STM32F3
* xtensa: Added ESP32 support
* Stack sentinel: This places a sentinel value at the lowest 4 bytes of a stack
memory region and checks it at various intervals, including when servicing
interrupts or context switching.
* x86: Enable MMU for application memory
* ARC: Added initial MPU support, including stack sentinel checking for ARC
configurations not featuring hardware stack bounds checking
* ARC: Nested interrupt support for normal, non-FIRQ interrupts
Boards
******
* Added device tree support for Intel Quark based microcontroller boards
such as Arduino_101, tinytile, and Quark_d2000_crb.
* arm: Added Atmel SAM4S Xplained board
* arm: Added Olimex STM32-E407 and STM32-P405 boards
* arm: Added STM32F412 Nucleo and STM32F429I-DISC1 boards
* arm: Added TI SensorTag board
* arm: Removed TI CC3200 LaunchXL board
* arm: Added VBLUno51 and VBLUno52 boards
* xtensa: Added ESP32 board support
* ARC: Added support for EMSK EM7D v2.2 version (incl. MPU)
* ARC: Board configuration restructuring, peripheral configs moved from soc to
board level
Drivers and Sensors
*******************
* KW40Z IEEE 802.15.4 radio driver support added
* APDS9960 sensor driver added
* Added TICKLESS KERNEL support for nrf RTC Timer
* Added Kinetis adc and pwm drivers
* Removed deprecated PWM driver APIs
* Added ESP32 drivers for GPIO, pin mux, watchdog, random number generator,
and UART
* sensor: Add BMM150 Geomagnetic sensor driver
Networking
**********
* LWM2M support added
* net-app API support added. This is higher level API that can be used
by applications to create client/server applications with transparent
TLS (for TCP) or DTLS (for UDP) support.
* MQTT TLS support added
* Add support to automatically setup IEEE 802.15.4 and Bluetooth IPSP networks
* TCP receive window support added
* Network sample application configuration file unification, where most of the
similar configuration files were merged together
* Added Bluetooth support to HTTP(S) server sample application
* BSD Socket compatible API layer, allowing to write and/or port simple
networking applications using a well-known, cross-platform API
* Networking API documentation fixes
* Network shell enhancements
* Trickle algorithm fixes
* Improvements to HTTP server and client libraries
* CoAP API fixes
* IPv6 fixes
* RPL fixes
Bluetooth
*********
* Bluetooth Mesh support (all mandatory features and most optional ones)
* GATT Service Changed Characteristic support
* IPSP net-app support: a simplified networking API reducing duplication
of common tasks an application writer has to go through to connect
to the network.
* BLE controller qualification-ready, with all required tests passing
* Controller-based privacy (including all optional features)
* Extended Scanner Filter Policies support in the controller
* Controller roles (Advertiser, Scanner, Master and Slave) separation in
source code, conditionally includable
* Flash access cooperation with BLE radio activity
* Bluetooth Kconfig options have been renamed have the same (consistent)
prefix as the Bluetooth APIs, namely BT_* instead of BLUETOOTH_*.
Controller Kconfig options have been shortened to use CTLR instead of
CONTROLLER.
* Removed deprecated NBLE support
Build and Infrastructure
************************
* change description
Libraries
*********
* mbedTLS updated to 2.6.0
* TinyCrypt updated to 0.2.7
HALs
****
* Added support for stm32f417 SOC
* Added support for stm32f405 SOC
* pinmux: stm32: 96b_carbon: Add support for SPI
* Added rcc node on stm32 socs
* Added pin config for USART1 on PB6/PB7 for stm32l4
* Removed TI cc3200 SOC and LaunchXL board support
Documentation
*************
* CONTRIBUTING.rst and Contribution Guide material added
* Configuration options doc reorganized for easier access
* Navigation sidebar issues fixed for supported boards section
* Fixed link targets hidden behind header
* Completed migration of wiki.zephyrproject.org content into docs and
GitHub wiki. All links to old wiki updated.
* Broken link and spelling check scans through .rst, Kconfig (used for
auto-generated configuration docs), and source code doxygen comments
(used for API documentation).
* API documentation added for new interfaces and improved for existing
ones.
* Documentation added for new boards supported with this release.
* Python packages needed for document generation added to new python
pip requirements.txt
Build System and Tools
**********************
* Convert post-processing host tools to python, this includes the following
tools: gen_offset_header.py gen_idt.py gen_gdt.py gen_mmu.py
Tests and Samples
*****************
* Added test Case to stress test round robin scheduling in schedule_api test.
* Added test case to stress test priority scheduling in scheduling_api_test.
JIRA Related Items
******************
* ``ZEP-230`` - Define I2S driver APIs
* ``ZEP-601`` - enable CONFIG_DEBUG_INFO
* ``ZEP-702`` - Integrate Nordic's Phoenix Link Layer into Zephyr
* ``ZEP-749`` - TinyCrypt uses an old, unoptimized version of micro-ecc
* ``ZEP-896`` - nRF5x Series: Add support for power and clock peripheral
* ``ZEP-1067`` - Driver for BMM150
* ``ZEP-1396`` - Add ksdk adc shim driver
* ``ZEP-1426`` - CONFIG_BOOT_TIME_MEASUREMENT on all targets?
* ``ZEP-1552`` - Provide apds9960 sensor driver
* ``ZEP-1647`` - Figure out new combo for breathe/doxygen/sphinx versions that are supported
* ``ZEP-1744`` - UPF 56 BLE Controller Issues
* ``ZEP-1751`` - Add template YAML file
* ``ZEP-1819`` - Add tickless kernel support in nrf_rtc_timer timer
* ``ZEP-1843`` - provide mechanism to filter test cases based on available hardware
* ``ZEP-1892`` - Fix issues with Fix Release
* ``ZEP-1902`` - Missing board documentation for arm/nucleo_f334r8
* ``ZEP-1911`` - Missing board documentation for arm/stm3210c_eval
* ``ZEP-1917`` - Missing board documentation for arm/stm32373c_eval
* ``ZEP-1918`` - Fix connection parameter request procedure
* ``ZEP-2018`` - Remove deprecated PWM APIs
* ``ZEP-2020`` - tests/crypto/test_ecc_dsa intermittently fails on riscv32
* ``ZEP-2025`` - Add mcux pwm shim driver for k64
* ``ZEP-2031`` - ESP32 Architecture Configuration
* ``ZEP-2032`` - Espressif Open-source Toolchain Support
* ``ZEP-2039`` - Implement stm32cube LL based clock control driver
* ``ZEP-2054`` - Convert all helper script to use python3
* ``ZEP-2062`` - Convert gen_offset_header to a python script
* ``ZEP-2063`` - Convert gen_idt to python
* ``ZEP-2068`` - Need Tasks to Be Tracked in QRC too
* ``ZEP-2071`` - samples: warning: (SPI_CS_GPIO && SPI_SS_CS_GPIO && I2C_NRF5) selects GPIO which has unmet direct dependencies
* ``ZEP-2085`` - Add CONTRIBUTING.rst to root folder w/contributing guidelines
* ``ZEP-2089`` - UART support for ESP32
* ``ZEP-2115`` - Common API for networked applications for setting up network
* ``ZEP-2116`` - Common API for networked apps to create client/server applications
* ``ZEP-2141`` - Coverity CID 169303 in tests/net/ipv6/src/main.c
* ``ZEP-2150`` - Move Arduino 101 to Device Tree
* ``ZEP-2151`` - Move Quark D2000 to device tree
* ``ZEP-2156`` - Build warnings [-Wformat] with LLVM/icx (tests/kernel/sprintf)
* ``ZEP-2168`` - Timers seem to be broken with TICKLESS_KERNEL on nRF51 (Cortex M0)
* ``ZEP-2171`` - Move all board pinmux code from drivers/pinmux/stm32 to the corresponding board/soc locations
* ``ZEP-2184`` - Split data, bss, noinit sections into application and kernel areas
* ``ZEP-2188`` - x86: Implement simple stack memory protection
* ``ZEP-2217`` - schedule_api test fails on ARM with tickless kernel enabled
* ``ZEP-2218`` - unexpected short timeslice when running schedule_api with tickless kernel enabled
* ``ZEP-2220`` - Extend MPU to stm32 family
* ``ZEP-2225`` - Ability to unregister GATT services
* ``ZEP-2226`` - BSD Sockets API: Basic blocking API
* ``ZEP-2227`` - BSD Sockets API: Non-blocking API
* ``ZEP-2229`` - test_time_slicing_preemptible fails on bbc_microbit and other NRF boards
* ``ZEP-2250`` - sanitycheck not filtering defconfigs properly
* ``ZEP-2258`` - Coverity static scan issues seen
* ``ZEP-2265`` - stack declaration macros for ARM MPU
* ``ZEP-2267`` - Create Release Notes
* ``ZEP-2270`` - Convert mpu_stack_guard_test from using k_thread_spawn to k_thread_create
* ``ZEP-2274`` - Build warnings [-Wpointer-sign] with LLVM/icx (tests/net/ipv6_fragment)
* ``ZEP-2278`` - KW41-Z 802.15.4 driver hangs if full debug is disabled
* ``ZEP-2279`` - echo_server TCP handler corrupt by SYN flood
* ``ZEP-2280`` - add test case for KBUILD_ZEPHYR_APP
* ``ZEP-2285`` - non-boards shows up in board list for docs
* ``ZEP-2286`` - Write a GPIO driver for ESP32
* ``ZEP-2289`` - [DoS] Memory leak from large TCP packets
* ``ZEP-2296`` - ESP32: watchdog driver
* ``ZEP-2297`` - ESP32: Pin mux driver
* ``ZEP-2303`` - Concurrent incoming TCP connections
* ``ZEP-2305`` - linker: implement MMU alignment constraints
* ``ZEP-2306`` - echo server hangs from IPv6 hop-by-hop option anomaly
* ``ZEP-2308`` - (New) Networking API details documentation is missing
* ``ZEP-2310`` - Improve configuration documentation index organization
* ``ZEP-2314`` - Testcase failure :tests/benchmarks/timing_info/testcase.ini#test
* ``ZEP-2316`` - Testcase failure :tests/bluetooth/shell/testcase.ini#test_br
* ``ZEP-2318`` - some kernel objects sections are misaligned
* ``ZEP-2319`` - tests/net/ieee802154/l2 uses semaphore before initialization
* ``ZEP-2321`` - [PTS] All TC's of SM/GATT/GAP failed due to BTP_TIMEOUT error.
* ``ZEP-2326`` - x86: API to validate user buffer
* ``ZEP-2328`` - gen_mmu.py appears to generate incorrect tables in some situations
* ``ZEP-2329`` - bad memory access tests/net/route
* ``ZEP-2330`` - bad memory access tests/net/rpl
* ``ZEP-2331`` - bad memory access tests/net/ieee802154/l2
* ``ZEP-2332`` - bad memory access tests/net/ip-addr
* ``ZEP-2334`` - bluetooth shell build warning when CONFIG_DEBUG=y
* ``ZEP-2335`` - Ensure the Licensing page is up-to-date for the release
* ``ZEP-2340`` - Disabling advertising gets stuck
* ``ZEP-2341`` - Build warnings:override: reassigning to symbol MAIN_STACK_SIZE with LLVM/icx (/tests/net/6lo)
* ``ZEP-2343`` - Coverity static scan issues seen
* ``ZEP-2344`` - Coverity static scan issues seen
* ``ZEP-2345`` - Coverity static scan issues seen
* ``ZEP-2352`` - network API docs don't mention when callbacks are called from a different thread
* ``ZEP-2354`` - ESP32: Random number generator
* ``ZEP-2355`` - Coverity static scan issues seen
* ``ZEP-2358`` - samples:net:echo_server: Failed to send UDP packets
* ``ZEP-2359`` - samples:net:coaps_server: unable to bind with IPv6
* ``ZEP-2360`` - Initial implementation of Bluetooth Mesh
* ``ZEP-2361`` - Provide a POSIX compatibility Layer on top of native APIs
* ``ZEP-2365`` - samples/net/wpanusb/test_15_4 fail on nrf52840_pca10056 and frdm_kw41z
* ``ZEP-2366`` - implement \__kernel attribute
* ``ZEP-2367`` - NULL pointer read in udp, tcp, context net tests
* ``ZEP-2368`` - x86: QEMU: enable MMU at boot by default
* ``ZEP-2370`` - [test] Create a stress test to test preemptive scheduling on zephyr
* ``ZEP-2371`` - [test] Create a stress test to test round robin scheduling with equal priority tasks on zephyr
* ``ZEP-2374`` - Build warnings:override: reassigning to symbol NET_IPV4 with LLVM/icx (/tests/net/dhcpv4)
* ``ZEP-2375`` - Build warnings [-Wpointer-sign] with LLVM/icx (tests/net/udp)
* ``ZEP-2378`` - sample/bluetooth/ipsp: When build the app 'ROM' overflowed
* ``ZEP-2379`` - samples/bluetooth: Bluetooth init failed (err -19)
* ``ZEP-2380`` - TCP is broken by Zephyr commit 3604c391e
* ``ZEP-2382`` - Convert test to use ztest framework
* ``ZEP-2383`` - Net-app API needs to support DTLS
* ``ZEP-2384`` - "Common" bluetooth sample code does not build out of tree
* ``ZEP-2385`` - Update TinyCrypt to 0.2.7
* ``ZEP-2395`` - Assert in http_server example when run over bluetooth on nrf52840
* ``ZEP-2397`` - net_if_ipv6_addr_rm calls k_delayed_work_cancel() on uninitialized k_delayed_work object
* ``ZEP-2398`` - network stack test cases are only tested on x86
* ``ZEP-2403`` - Enabling MMU for qemu_x86 broke active connect support
* ``ZEP-2407`` - [Cortex m series ] Getting a crash on Cortex m3 series when more than 8 preemptive threads with equal priority are scheduled
* ``ZEP-2408`` - design mechanism for kernel object sharing policy
* ``ZEP-2412`` - Bluetooth tester app not working from commit c1e5cb
* ``ZEP-2423`` - samples/bluetooth/ipsp's builtin TCP echo crashes on TCP closure
* ``ZEP-2432`` - ieee802154_shell.c, net_mgmt call leads to a BUS FAULT
* ``ZEP-2433`` - x86: do forensic analysis to determine stack overflow context in supervisor mode
* ``ZEP-2436`` - Unable to see console output in Quark_D200_CRB
* ``ZEP-2437`` - warnings when building applications for quark d2000
* ``ZEP-2444`` - [nrf] Scheduling test API is getting failed in case of nrf51/nrf52 platforms
* ``ZEP-2445`` - nrf52: CPU lock-up when using Bluetooth + Flash driver + CONFIG_ASSERT
* ``ZEP-2447`` - 'make debugserver' fails for qemu_x86_iamcu
* ``ZEP-2451`` - Move Bluetooth IPSP support functions from samples/bluetooth to a separate library
* ``ZEP-2452`` - https server does not build for olimex_stm32_e407
* ``ZEP-2457`` - generated/offsets.h is being regenerated unnecessarily
* ``ZEP-2459`` - Sample application not working with Quark SE C1000
* ``ZEP-2460`` - tests/crypto/ecc_dh fails on qemu_nios2
* ``ZEP-2464`` - "allow IPv6 interface init to work with late IP assignment" patch broke non-late IPv6 assignment
* ``ZEP-2465`` - Static code scan (coverity) issues seen
* ``ZEP-2467`` - Static code scan (coverity) issues seen
* ``ZEP-2468`` - Static code scan (coverity) issues seen
* ``ZEP-2469`` - Static code scan (coverity) issues seen
* ``ZEP-2474`` - Static code scan (coverity) issues seen
* ``ZEP-2480`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/coaps_server)
* ``ZEP-2482`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/telnet)
* ``ZEP-2483`` - samples:net:http_client: Failed to get http requests in IPv6
* ``ZEP-2484`` - samples:net:http_server: Failed to work in IPv6
* ``ZEP-2485`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/coaps_client)
* ``ZEP-2486`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/mbedtls_dtlsserver)
* ``ZEP-2488`` - Build warnings [-Wpointer-sign] and [-Warray-bounds] with LLVM/icx (samples/net/irc_bot)
* ``ZEP-2489`` - bug in _x86_mmu_buffer_validate API
* ``ZEP-2496`` - Build failure on tests/benchmarks/object_footprint
* ``ZEP-2497`` - [TIMER] k_timer_start should take 0 value for duration parameter
* ``ZEP-2498`` - [Display] Minimum Duration argument to k_timer_start should be non Zero positive value
* ``ZEP-2508`` - esp32 linkage doesn't unify ELF sections correctly
* ``ZEP-2510`` - BT: CONFIG_BT_HCI_TX_STACK_SIZE appears to be too low for BT_SPI
* ``ZEP-2514`` - XCC sanitycheck build compile wrong targets
* ``ZEP-2523`` - Static code scan (Coverity) issue seen in file: /samples/net/zoap_server/src/zoap-server.c
* ``ZEP-2525`` - Static code scan (Coverity) issue seen in file: /samples/net/zoap_server/src/zoap-server.c
* ``ZEP-2531`` - Static code scan (Coverity) issue seen in file: /tests/net/lib/dns_resolve/src/main.c
* ``ZEP-2528`` - Static code scan (Coverity) issue seen in file: /samples/net/nats/src/nats.c
* ``ZEP-2534`` - Static code scan (Coverity) issue seen in file: /tests/kernel/irq_offload/src/irq_offload.c
* ``ZEP-2535`` - Static code scan (Coverity) issue seen in file: /tests/net/lib/zoap/src/main.c
* ``ZEP-2537`` - Static code scan (Coverity) issue seen in file: /tests/crypto/ecc_dh/src/ecc_dh.c
* ``ZEP-2538`` - Static code scan (Coverity) issue seen in file: /arch/arm/soc/st_stm32/stm32f1/soc_gpio.c
* ``ZEP-2539`` - Static code scan (Coverity) issue seen in file: /tests/net/ieee802154/l2/src/ieee802154_test.c
* ``ZEP-2540`` - Static code scan (Coverity) issue seen in file: /ext/lib/crypto/tinycrypt/source/ecc_dh.c
* ``ZEP-2541`` - Static code scan (Coverity) issue seen in file: /subsys/bluetooth/host/mesh/cfg.c
* ``ZEP-2549`` - Static code scan (Coverity) issue seen in file: /samples/net/leds_demo/src/leds-demo.c
* ``ZEP-2552`` - ESP32 uart poll_out always return 0
* ``ZEP-2553`` - k_queue_poll not handling -EADDRINUSE (another thread already polling) properly
* ``ZEP-2556`` - ESP32 watchdog WDT_MODE_INTERRUPT_RESET mode fails
* ``ZEP-2557`` - ESP32 : Some GPIO tests are getting failed (tests/drivers/gpio/gpio_basic_api)
* ``ZEP-2558`` - CONFIG_BLUETOOTH_* Kconfig options silently ignored
* ``ZEP-2560`` - samples/net: the sample of zoap_server fails to add multicast address
* ``ZEP-2561`` - samples/net: The HTTP client failed to send the POST request
* ``ZEP-2568`` - [PTS] All TC's of L2CAP/SM/GATT/GAP failed due to BTP_ERROR.
* ``ZEP-2575`` - error:[ '-O: command not found'] with LLVM/icx (samples/hello_world)
* ``ZEP-2576`` - samples/net/sockets/echo, echo_async : fails to send the TCP packets
* ``ZEP-2581`` - CC3220 executable binary format support
* ``ZEP-2584`` - Update mbedTLS to 2.6.0
* ``ZEP-713`` - Implement preemptible regular IRQs on ARC
Part 3
한국어 전문 번역
Zephyr Kernel 1.9.2
1.9.2는 오류를 수정하는 maintenance release입니다.
Kernel
K_FOREVER를 사용할 때 generic queue item 획득이 항상 유효한 item을 반환하도록 수정했습니다.
Bluetooth
- BLE Mesh 안정성 문제를 여러 건 수정했습니다.
- BLE Controller 안정성 문제를 여러 건 수정했습니다.
Zephyr Kernel 1.9.1
1.9.1은 여러 오류와 BLE Controller의 새 기능 두 가지를 포함한 maintenance release입니다.
Drivers and Sensors
- MCUX Ethernet driver의 buffer overflow를 수정했습니다.
- STM32 PWM prescaler 문제를 수정했습니다.
Networking
- DNS의 IPv6 지원을 수정했습니다.
Bluetooth
- BLE Controller 안정성 문제를 여러 건 수정했습니다.
- BLE Controller의 PA/LNA amplifier를 지원합니다.
- BLE Controller에서 추가 vendor-specific command를 지원합니다.
Zephyr Kernel 1.9.0
Zephyr Kernel 1.9.0은 Advertising Extension을 제외한 Bluetooth 5.0, qualification-ready BLE Controller, BLE Mesh, LwM2M, Pthreads·BSD Sockets 호환 API, thread isolation·paging을 포함한 MMU/MPU 확장, 더 넓은 Device Tree, test suite 개편, Stack Sentinel을 주요 기능으로 제공합니다.
- Advertising Extension을 제외한 Bluetooth 5.0 기능을 지원합니다.
- Bluetooth qualification-ready BLE Controller와 BLE Mesh를 제공합니다.
- Lightweight Machine to Machine(LwM2M)을 지원합니다.
- Pthreads와 BSD Sockets 호환 API를 제공합니다.
- MMU/MPU에 thread isolation과 paging을 추가하고 Device Tree 지원 architecture를 넓혔습니다.
- Test suite를 개편하고 coverage를 높였으며 Stack Sentinel을 지원합니다.
다음은 component별 상세 변경 목록입니다.
Kernel
- Kernel에 POSIX thread IPC를 추가했습니다.
- Stack용 opaque data type을 도입했습니다.
- Time slicing과 tickless kernel을 개선했습니다.
Architectures
- ARM에 STM32F405, STM32F417, STM32F103x8, TI CC2650 SoC를 추가하고 TI CC3200 SoC를 제거했습니다.
- nRF52, STM32L4, STM32F3에 MPU 지원을 추가했습니다.
- Xtensa에 ESP32 지원을 추가했습니다.
- Stack memory의 가장 낮은 4byte에 sentinel 값을 두고 interrupt 처리·context switch 등 여러 시점에 검사하는 Stack Sentinel을 추가했습니다.
- x86 application memory에서 MMU를 활성화했습니다.
- ARC 초기 MPU와 Stack Sentinel을 지원하고 non-FIRQ regular interrupt의 nested interrupt를 지원합니다.
Boards
- Arduino 101, TinyTILE, Quark D2000 CRB 같은 Intel Quark microcontroller board에 Device Tree를 추가했습니다.
- Atmel SAM4S Xplained, Olimex STM32-E407·STM32-P405, STM32F412 Nucleo·STM32F429I-DISC1 board를 추가했습니다.
- TI SensorTag를 추가하고 TI CC3200 LaunchXL을 제거했습니다.
- VBLUno51·VBLUno52와 ESP32 board를 추가했습니다.
- ARC EMSK EM7D v2.2와 MPU를 지원하고 peripheral configuration을 SoC에서 board level로 옮겼습니다.
Drivers and Sensors
- KW40Z IEEE 802.15.4 radio driver와 APDS9960 sensor driver를 추가했습니다.
- nRF RTC timer에 tickless kernel을 지원합니다.
- Kinetis ADC·PWM driver를 추가하고 deprecated PWM API를 제거했습니다.
- ESP32 GPIO, pinmux, watchdog, RNG, UART driver를 추가했습니다.
- BMM150 geomagnetic sensor driver를 추가했습니다.
Networking
- LwM2M을 지원합니다.
- TCP용 TLS와 UDP용 DTLS를 투명하게 제공하며 client/server application을 만드는 high-level net-app API를 추가했습니다.
- MQTT TLS와 IEEE 802.15.4·Bluetooth IPSP network 자동 설정을 지원합니다.
- TCP receive window를 지원하고 network sample configuration file을 통합했습니다.
- HTTP(S) server sample에 Bluetooth를 추가했습니다.
- 잘 알려진 cross-platform API로 application을 작성·이식할 수 있는 BSD Socket 호환 layer를 추가했습니다.
- Networking API documentation과 network shell을 개선했습니다.
- Trickle, HTTP client/server, CoAP, IPv6, RPL 문제를 수정했습니다.
Bluetooth
- 모든 필수 기능과 대부분의 선택 기능을 포함한 Bluetooth Mesh를 지원합니다.
- GATT Service Changed Characteristic를 지원합니다.
- IPSP에서 공통 network 연결 작업의 중복을 줄이는 net-app API를 지원합니다.
- 필수 test를 모두 통과한 qualification-ready BLE Controller를 제공합니다.
- 모든 선택 기능을 포함한 controller-based privacy와 Extended Scanner Filter Policy를 지원합니다.
- Advertiser·Scanner·Master·Slave role을 source code에서 분리해 조건부로 포함할 수 있습니다.
- BLE radio 활동과 flash access가 협력하도록 했습니다.
- Bluetooth Kconfig prefix를 BLUETOOTH_*에서 API와 같은 BT_*로 바꾸고 CONTROLLER를 CTLR로 줄였습니다.
- Deprecated NBLE 지원을 제거했습니다.
Build and Infrastructure
- 원문에는 이 절의 변경 내용이 change description으로만 기록되어 있습니다.
Libraries
- mbedTLS를 version 2.6.0으로 갱신했습니다.
- TinyCrypt를 version 0.2.7로 갱신했습니다.
HALs
- STM32F417·STM32F405 SoC를 지원합니다.
- 96Boards Carbon의 STM32 pinmux에 SPI를 추가했습니다.
- STM32 SoC에 RCC node를 추가하고 STM32L4 PB6/PB7의 USART1 pin configuration을 추가했습니다.
- TI CC3200 SoC와 LaunchXL board 지원을 제거했습니다.
Documentation
- CONTRIBUTING.rst와 Contribution Guide 자료를 추가했습니다.
- Configuration option 문서를 쉽게 찾도록 재구성하고 지원 board navigation sidebar를 수정했습니다.
- Header 뒤에 숨는 link target을 수정했습니다.
- wiki.zephyrproject.org 자료를 docs와 GitHub Wiki로 모두 옮기고 이전 Wiki link를 갱신했습니다.
- RST, Kconfig, Doxygen comment 전체에 깨진 link와 맞춤법 검사를 적용했습니다.
- 새 interface와 기존 interface의 API documentation을 추가·개선했습니다.
- 새 board documentation과 문서 생성용 Python package requirements.txt를 추가했습니다.
Build System and Tools
- gen_offset_header.py, gen_idt.py, gen_gdt.py, gen_mmu.py post-processing host tool을 Python으로 변환했습니다.
Tests and Samples
- schedule_api test에 round-robin scheduling stress test를 추가했습니다.
- scheduling_api_test에 priority scheduling stress test를 추가했습니다.
JIRA Related Items
이 release series와 연결된 JIRA 173건입니다. 식별자와 원문 순서를 그대로 유지했습니다.
ZEP-230- I2S driver API 정의ZEP-601- CONFIG_DEBUG_INFO 활성화ZEP-702- Nordic Phoenix Link Layer를 Zephyr에 통합ZEP-749- TinyCrypt가 오래되고 최적화되지 않은 micro-ecc version을 사용하는 문제ZEP-896- nRF5x Series power·clock peripheral 지원 추가ZEP-1067- BMM150 driver 추가ZEP-1396- KSDK ADC shim driver 추가ZEP-1426- 모든 target에서 CONFIG_BOOT_TIME_MEASUREMENT 지원 검토ZEP-1552- APDS9960 sensor driver 제공ZEP-1647- 지원되는 Breathe·Doxygen·Sphinx version 조합 확정ZEP-1744- UPF 56 BLE Controller issue 처리ZEP-1751- Template YAML file 추가ZEP-1819- nrf_rtc_timer에 tickless kernel 지원 추가ZEP-1843- 사용 가능한 hardware에 따라 test case를 filter하는 mechanism 제공ZEP-1892- Fix Release 관련 문제 수정ZEP-1902- arm/nucleo_f334r8 board documentation 누락ZEP-1911- arm/stm3210c_eval board documentation 누락ZEP-1917- arm/stm32373c_eval board documentation 누락ZEP-1918- Connection parameter request 절차 수정ZEP-2018- Deprecated PWM API 제거ZEP-2020- RISC-V32에서 tests/crypto/test_ecc_dsa가 간헐적으로 실패하는 문제ZEP-2025- K64용 MCUX PWM shim driver 추가ZEP-2031- ESP32 architecture 구성ZEP-2032- Espressif open-source toolchain 지원ZEP-2039- STM32Cube LL 기반 clock-control driver 구현ZEP-2054- 모든 helper script를 Python 3로 변환ZEP-2062- gen_offset_header를 Python script로 변환ZEP-2063- gen_idt를 Python으로 변환ZEP-2068- QRC에서도 추적해야 할 task 반영ZEP-2071- SPI_CS_GPIO·SPI_SS_CS_GPIO·I2C_NRF5가 dependency 없는 GPIO를 select하는 warningZEP-2085- Project root에 contribution guide가 포함된 CONTRIBUTING.rst 추가ZEP-2089- ESP32 UART 지원ZEP-2115- Networked application의 network 설정용 공통 APIZEP-2116- Networked application의 client/server 생성용 공통 APIZEP-2141- tests/net/ipv6/src/main.c의 Coverity CID 169303 문제ZEP-2150- Arduino 101을 Device Tree로 이동ZEP-2151- Quark D2000을 Device Tree로 이동ZEP-2156- LLVM/icx tests/kernel/sprintf의 -Wformat build warningZEP-2168- nRF51 Cortex-M0에서 TICKLESS_KERNEL 사용 시 timer가 깨지는 문제ZEP-2171- STM32 pinmux code를 driver에서 해당 board/SoC 위치로 이동ZEP-2184- Data·BSS·noinit section을 application 영역과 kernel 영역으로 분리ZEP-2188- x86용 단순 stack memory protection 구현ZEP-2217- Tickless kernel 활성화 시 ARM에서 schedule_api test 실패ZEP-2218- Tickless kernel의 schedule_api에서 예상보다 짧은 time slice가 발생하는 문제ZEP-2220- STM32 family로 MPU 지원 확장ZEP-2225- GATT service 등록 해제 기능ZEP-2226- BSD Sockets API의 기본 blocking APIZEP-2227- BSD Sockets API의 non-blocking APIZEP-2229- BBC micro:bit와 다른 NRF board에서 test_time_slicing_preemptible 실패ZEP-2250- sanitycheck가 defconfig를 올바르게 filter하지 않는 문제ZEP-2258- Coverity static scan에서 발견된 문제ZEP-2265- ARM MPU용 stack declaration macroZEP-2267- Release Notes 작성ZEP-2270- mpu_stack_guard_test를 k_thread_spawn에서 k_thread_create로 변환ZEP-2274- LLVM/icx tests/net/ipv6_fragment의 -Wpointer-sign build warningZEP-2278- Full debug 비활성화 시 KW41-Z 802.15.4 driver가 멈추는 문제ZEP-2279- SYN flood로 echo_server TCP handler가 손상되는 문제ZEP-2280- KBUILD_ZEPHYR_APP test case 추가ZEP-2285- Documentation board 목록에 board가 아닌 항목이 표시되는 문제ZEP-2286- ESP32 GPIO driver 작성ZEP-2289- 큰 TCP packet으로 memory leak이 발생하는 DoS 문제ZEP-2296- ESP32 watchdog driver 추가ZEP-2297- ESP32 pinmux driver 추가ZEP-2303- 동시에 들어오는 여러 TCP connection 지원ZEP-2305- Linker에 MMU alignment constraint 구현ZEP-2306- IPv6 Hop-by-Hop option 이상으로 echo_server가 멈추는 문제ZEP-2308- 새 Networking API 상세 documentation 누락ZEP-2310- Configuration documentation index 구성 개선ZEP-2314- tests/benchmarks/timing_info test case 실패ZEP-2316- tests/bluetooth/shell의 test_br test case 실패ZEP-2318- 일부 kernel object section의 alignment가 잘못된 문제ZEP-2319- tests/net/ieee802154/l2가 초기화 전에 semaphore를 사용하는 문제ZEP-2321- BTP_TIMEOUT 때문에 SM/GATT/GAP의 모든 PTS test가 실패하는 문제ZEP-2326- x86 user buffer 검증 APIZEP-2328- gen_mmu.py가 일부 상황에서 잘못된 table을 생성하는 문제ZEP-2329- tests/net/route의 잘못된 memory accessZEP-2330- tests/net/rpl의 잘못된 memory accessZEP-2331- tests/net/ieee802154/l2의 잘못된 memory accessZEP-2332- tests/net/ip-addr의 잘못된 memory accessZEP-2334- CONFIG_DEBUG=y에서 Bluetooth shell build warningZEP-2335- Release 시점에 Licensing page가 최신인지 확인ZEP-2340- Advertising 비활성화가 멈추는 문제ZEP-2341- LLVM/icx tests/net/6lo에서 MAIN_STACK_SIZE symbol 재할당 warningZEP-2343- Coverity static scan에서 발견된 문제ZEP-2344- Coverity static scan에서 발견된 추가 문제ZEP-2345- Coverity static scan에서 발견된 또 다른 문제ZEP-2352- 다른 thread에서 callback이 호출되는 시점을 Network API 문서가 설명하지 않는 문제ZEP-2354- ESP32 random-number generator 추가ZEP-2355- Coverity static scan에서 발견된 문제ZEP-2358- echo_server sample이 UDP packet 전송에 실패하는 문제ZEP-2359- coaps_server sample이 IPv6로 bind하지 못하는 문제ZEP-2360- Bluetooth Mesh 초기 구현ZEP-2361- Native API 위에 POSIX compatibility layer 제공ZEP-2365- nrf52840_pca10056와 frdm_kw41z에서 wpanusb test_15_4 실패ZEP-2366- __kernel attribute 구현ZEP-2367- UDP·TCP·context network test의 NULL pointer readZEP-2368- x86 QEMU boot 시 MMU 기본 활성화ZEP-2370- Zephyr preemptive scheduling stress test 작성ZEP-2371- 동일 priority task의 round-robin scheduling stress test 작성ZEP-2374- LLVM/icx tests/net/dhcpv4에서 NET_IPV4 symbol 재할당 warningZEP-2375- LLVM/icx tests/net/udp의 -Wpointer-sign build warningZEP-2378- Bluetooth IPSP sample build에서 ROM overflow가 발생하는 문제ZEP-2379- Bluetooth sample 초기화가 err -19로 실패하는 문제ZEP-2380- Zephyr commit 3604c391e로 TCP가 깨진 문제ZEP-2382- Test를 ztest framework 사용 방식으로 변환ZEP-2383- Net-app API에 DTLS 지원 추가ZEP-2384- 공통 Bluetooth sample code가 out-of-tree에서 build되지 않는 문제ZEP-2385- TinyCrypt를 version 0.2.7로 갱신ZEP-2395- nRF52840에서 Bluetooth로 HTTP server example 실행 시 assertion 발생ZEP-2397- net_if_ipv6_addr_rm이 초기화되지 않은 k_delayed_work를 cancel하는 문제ZEP-2398- Network stack test가 x86에서만 실행되는 문제ZEP-2403- qemu_x86 MMU 활성화가 active connect를 깨뜨린 문제ZEP-2407- 동일 priority preemptive thread가 8개를 넘으면 Cortex-M3가 crash하는 문제ZEP-2408- Kernel object 공유 정책 mechanism 설계ZEP-2412- Commit c1e5cb 이후 Bluetooth tester application이 동작하지 않는 문제ZEP-2423- Bluetooth IPSP 내장 TCP echo가 TCP close 때 crash하는 문제ZEP-2432- ieee802154_shell.c의 net_mgmt 호출이 BUS FAULT를 일으키는 문제ZEP-2433- x86 supervisor mode의 stack overflow context를 찾기 위한 forensic analysisZEP-2436- Quark_D200_CRB에서 console output이 보이지 않는 문제ZEP-2437- Quark D2000 application build 경고ZEP-2444- nRF51/nRF52 platform에서 scheduling test API가 실패하는 문제ZEP-2445- Bluetooth·Flash driver·CONFIG_ASSERT 함께 사용 시 nRF52 CPU lock-upZEP-2447- qemu_x86_iamcu에서 make debugserver 실패ZEP-2451- Bluetooth IPSP 지원 함수를 sample에서 별도 library로 이동ZEP-2452- olimex_stm32_e407에서 HTTPS server가 build되지 않는 문제ZEP-2457- generated/offsets.h가 불필요하게 다시 생성되는 문제ZEP-2459- Quark SE C1000에서 sample application이 동작하지 않는 문제ZEP-2460- qemu_nios2에서 tests/crypto/ecc_dh 실패ZEP-2464- Late IP assignment용 IPv6 interface 초기화 patch가 일반 IPv6 assignment를 깨뜨린 문제ZEP-2465- Coverity static scan에서 발견된 문제ZEP-2467- Coverity static scan에서 발견된 추가 문제ZEP-2468- Coverity static scan에서 발견된 또 다른 문제ZEP-2469- Coverity static scan에서 발견된 문제ZEP-2474- Coverity static scan에서 발견된 문제ZEP-2480- LLVM/icx samples/net/coaps_server의 -Wpointer-sign warningZEP-2482- LLVM/icx samples/net/telnet의 -Wpointer-sign warningZEP-2483- HTTP client sample이 IPv6에서 HTTP request를 받지 못하는 문제ZEP-2484- HTTP server sample이 IPv6에서 동작하지 않는 문제ZEP-2485- LLVM/icx samples/net/coaps_client의 -Wpointer-sign warningZEP-2486- LLVM/icx samples/net/mbedtls_dtlsserver의 -Wpointer-sign warningZEP-2488- LLVM/icx samples/net/irc_bot의 -Wpointer-sign·-Warray-bounds warningZEP-2489- _x86_mmu_buffer_validate API 오류ZEP-2496- tests/benchmarks/object_footprint build 실패ZEP-2497- k_timer_start duration parameter가 0을 허용해야 하는 문제ZEP-2498- k_timer_start의 minimum duration은 0보다 큰 값이어야 한다는 표시 문제ZEP-2508- ESP32 linking이 ELF section을 올바르게 통합하지 않는 문제ZEP-2510- BT_SPI용 CONFIG_BT_HCI_TX_STACK_SIZE가 너무 작은 문제ZEP-2514- XCC sanitycheck가 잘못된 target을 compile하는 문제ZEP-2523- /samples/net/zoap_server/src/zoap-server.c의 Coverity 문제ZEP-2525- /samples/net/zoap_server/src/zoap-server.c의 추가 Coverity 문제ZEP-2531- /tests/net/lib/dns_resolve/src/main.c의 Coverity 문제ZEP-2528- /samples/net/nats/src/nats.c의 Coverity 문제ZEP-2534- /tests/kernel/irq_offload/src/irq_offload.c의 Coverity 문제ZEP-2535- /tests/net/lib/zoap/src/main.c의 Coverity 문제ZEP-2537- /tests/crypto/ecc_dh/src/ecc_dh.c의 Coverity 문제ZEP-2538- /arch/arm/soc/st_stm32/stm32f1/soc_gpio.c의 Coverity 문제ZEP-2539- /tests/net/ieee802154/l2/src/ieee802154_test.c의 Coverity 문제ZEP-2540- /ext/lib/crypto/tinycrypt/source/ecc_dh.c의 Coverity 문제ZEP-2541- /subsys/bluetooth/host/mesh/cfg.c의 Coverity 문제ZEP-2549- /samples/net/leds_demo/src/leds-demo.c의 Coverity 문제ZEP-2552- ESP32 uart poll_out이 항상 0을 반환하는 문제ZEP-2553- 다른 thread가 이미 polling 중인 -EADDRINUSE를 k_queue_poll이 제대로 처리하지 않는 문제ZEP-2556- ESP32 watchdog WDT_MODE_INTERRUPT_RESET mode 실패ZEP-2557- ESP32 GPIO 기본 API test 일부가 실패하는 문제ZEP-2558- CONFIG_BLUETOOTH_* Kconfig option이 조용히 무시되는 문제ZEP-2560- zoap_server sample이 multicast address 추가에 실패하는 문제ZEP-2561- HTTP client sample이 POST request 전송에 실패하는 문제ZEP-2568- BTP_ERROR 때문에 L2CAP/SM/GATT/GAP의 모든 PTS test가 실패하는 문제ZEP-2575- LLVM/icx hello_world에서 '-O: command not found' 오류ZEP-2576- Socket echo·echo_async sample이 TCP packet 전송에 실패하는 문제ZEP-2581- CC3220 executable binary format 지원ZEP-2584- mbedTLS를 version 2.6.0으로 갱신ZEP-713- ARC에서 preemptible regular IRQ 구현
Source
출처
영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.