1:orphan: 2 3.. _zephyr_1.9: 4 5Zephyr Kernel 1.9.2 6################### 7 8This is a maintenance release with fixes. 9 10Kernel 11****** 12* Generic queue item acquisition fixed to always return a valid item when 13 using K_FOREVER 14 15Bluetooth 16********* 17* Multiple stability fixes for BLE Mesh 18* Multiple stability fixes for the BLE Controller 19 20Zephyr Kernel 1.9.1 21################### 22 23This is a maintenance release with fixes and a two new features in the 24BLE Controller. 25 26Drivers and Sensors 27******************* 28* mcux ethernet driver buffer overflow fixed 29* STM32 PWM prescaler issue fixed 30 31Networking 32********** 33* Support for IPv6 in DNS fixed 34 35Bluetooth 36********* 37* Multiple stability fixes for the BLE Controller 38* Support for PA/LNA amplifiers in the BLE Controller 39* Support for additional VS commands in the BLE Controller 40 41Zephyr Kernel 1.9.0 42################### 43 44We are pleased to announce the release of Zephyr kernel version 1.9.0 45 46Major enhancements planned with this release include: 47 48* Bluetooth 5.0 Support (all features except Advertising Extensions) 49* Bluetooth Qualification-ready BLE Controller 50* BLE Mesh 51* Lightweight Machine to Machine (LwM2M) support 52* Pthreads compatible API 53* BSD Sockets compatible API 54* MMU/MPU (Cont.): Thread Isolation, Paging 55* Expand Device Tree support to more architectures 56* Revamp Testsuite, Increase Coverage 57* Stack Sentinel support (See details below) 58 59The following sections provide detailed lists of changes by component. 60 61Kernel 62****** 63 64* Added POSIX thread IPC support for Kernel 65* kernel: introduce opaque data type for stacks 66* Timeslicing and tickless kernel improvements 67 68Architectures 69************* 70 71* arm: Added STM32F405, STM32F417, STM32F103x8 SoCs 72* arm: Added TI CC2650 SoC 73* arm: Removed TI CC3200 SoC 74* arm: Added MPU support to nRF52, STM32L4, and STM32F3 75* xtensa: Added ESP32 support 76* Stack sentinel: This places a sentinel value at the lowest 4 bytes of a stack 77 memory region and checks it at various intervals, including when servicing 78 interrupts or context switching. 79* x86: Enable MMU for application memory 80* ARC: Added initial MPU support, including stack sentinel checking for ARC 81 configurations not featuring hardware stack bounds checking 82* ARC: Nested interrupt support for normal, non-FIRQ interrupts 83 84Boards 85****** 86 87* Added device tree support for Intel Quark based microcontroller boards 88 such as Arduino_101, tinytile, and Quark_d2000_crb. 89* arm: Added Atmel SAM4S Xplained board 90* arm: Added Olimex STM32-E407 and STM32-P405 boards 91* arm: Added STM32F412 Nucleo and STM32F429I-DISC1 boards 92* arm: Added TI SensorTag board 93* arm: Removed TI CC3200 LaunchXL board 94* arm: Added VBLUno51 and VBLUno52 boards 95* xtensa: Added ESP32 board support 96* ARC: Added support for EMSK EM7D v2.2 version (incl. MPU) 97* ARC: Board configuration restructuring, peripheral configs moved from soc to 98 board level 99 100Drivers and Sensors 101******************* 102 103* KW40Z IEEE 802.15.4 radio driver support added 104* APDS9960 sensor driver added 105* Added TICKLESS KERNEL support for nrf RTC Timer 106* Added Kinetis adc and pwm drivers 107* Removed deprecated PWM driver APIs 108* Added ESP32 drivers for GPIO, pin mux, watchdog, random number generator, 109 and UART 110* sensor: Add BMM150 Geomagnetic sensor driver 111 112Networking 113********** 114 115* LWM2M support added 116* net-app API support added. This is higher level API that can be used 117 by applications to create client/server applications with transparent 118 TLS (for TCP) or DTLS (for UDP) support. 119* MQTT TLS support added 120* Add support to automatically setup IEEE 802.15.4 and Bluetooth IPSP networks 121* TCP receive window support added 122* Network sample application configuration file unification, where most of the 123 similar configuration files were merged together 124* Added Bluetooth support to HTTP(S) server sample application 125* BSD Socket compatible API layer, allowing to write and/or port simple 126 networking applications using a well-known, cross-platform API 127* Networking API documentation fixes 128* Network shell enhancements 129* Trickle algorithm fixes 130* Improvements to HTTP server and client libraries 131* CoAP API fixes 132* IPv6 fixes 133* RPL fixes 134 135Bluetooth 136********* 137 138* Bluetooth Mesh support (all mandatory features and most optional ones) 139* GATT Service Changed Characteristic support 140* IPSP net-app support: a simplified networking API reducing duplication 141 of common tasks an application writer has to go through to connect 142 to the network. 143* BLE controller qualification-ready, with all required tests passing 144* Controller-based privacy (including all optional features) 145* Extended Scanner Filter Policies support in the controller 146* Controller roles (Advertiser, Scanner, Master and Slave) separation in 147 source code, conditionally includable 148* Flash access cooperation with BLE radio activity 149* Bluetooth Kconfig options have been renamed have the same (consistent) 150 prefix as the Bluetooth APIs, namely BT_* instead of BLUETOOTH_*. 151 Controller Kconfig options have been shortened to use CTLR instead of 152 CONTROLLER. 153* Removed deprecated NBLE support 154 155Build and Infrastructure 156************************ 157 158* change description 159 160Libraries 161********* 162 163* mbedTLS updated to 2.6.0 164* TinyCrypt updated to 0.2.7 165 166HALs 167**** 168 169* Added support for stm32f417 SOC 170* Added support for stm32f405 SOC 171* pinmux: stm32: 96b_carbon: Add support for SPI 172* Added rcc node on stm32 socs 173* Added pin config for USART1 on PB6/PB7 for stm32l4 174* Removed TI cc3200 SOC and LaunchXL board support 175 176Documentation 177************* 178 179* CONTRIBUTING.rst and Contribution Guide material added 180* Configuration options doc reorganized for easier access 181* Navigation sidebar issues fixed for supported boards section 182* Fixed link targets hidden behind header 183* Completed migration of wiki.zephyrproject.org content into docs and 184 GitHub wiki. All links to old wiki updated. 185* Broken link and spelling check scans through .rst, Kconfig (used for 186 auto-generated configuration docs), and source code doxygen comments 187 (used for API documentation). 188* API documentation added for new interfaces and improved for existing 189 ones. 190* Documentation added for new boards supported with this release. 191* Python packages needed for document generation added to new python 192 pip requirements.txt 193 194 195Build System and Tools 196********************** 197* Convert post-processing host tools to python, this includes the following 198 tools: gen_offset_header.py gen_idt.py gen_gdt.py gen_mmu.py 199 200 201Tests and Samples 202***************** 203 204* Added test Case to stress test round robin scheduling in schedule_api test. 205* Added test case to stress test priority scheduling in scheduling_api_test. 206 207 208JIRA Related Items 209****************** 210* ``ZEP-230`` - Define I2S driver APIs 211* ``ZEP-601`` - enable CONFIG_DEBUG_INFO 212* ``ZEP-702`` - Integrate Nordic's Phoenix Link Layer into Zephyr 213* ``ZEP-749`` - TinyCrypt uses an old, unoptimized version of micro-ecc 214* ``ZEP-896`` - nRF5x Series: Add support for power and clock peripheral 215* ``ZEP-1067`` - Driver for BMM150 216* ``ZEP-1396`` - Add ksdk adc shim driver 217* ``ZEP-1426`` - CONFIG_BOOT_TIME_MEASUREMENT on all targets? 218* ``ZEP-1552`` - Provide apds9960 sensor driver 219* ``ZEP-1647`` - Figure out new combo for breathe/doxygen/sphinx versions that are supported 220* ``ZEP-1744`` - UPF 56 BLE Controller Issues 221* ``ZEP-1751`` - Add template YAML file 222* ``ZEP-1819`` - Add tickless kernel support in nrf_rtc_timer timer 223* ``ZEP-1843`` - provide mechanism to filter test cases based on available hardware 224* ``ZEP-1892`` - Fix issues with Fix Release 225* ``ZEP-1902`` - Missing board documentation for arm/nucleo_f334r8 226* ``ZEP-1911`` - Missing board documentation for arm/stm3210c_eval 227* ``ZEP-1917`` - Missing board documentation for arm/stm32373c_eval 228* ``ZEP-1918`` - Fix connection parameter request procedure 229* ``ZEP-2018`` - Remove deprecated PWM APIs 230* ``ZEP-2020`` - tests/crypto/test_ecc_dsa intermittently fails on riscv32 231* ``ZEP-2025`` - Add mcux pwm shim driver for k64 232* ``ZEP-2031`` - ESP32 Architecture Configuration 233* ``ZEP-2032`` - Espressif Open-source Toolchain Support 234* ``ZEP-2039`` - Implement stm32cube LL based clock control driver 235* ``ZEP-2054`` - Convert all helper script to use python3 236* ``ZEP-2062`` - Convert gen_offset_header to a python script 237* ``ZEP-2063`` - Convert gen_idt to python 238* ``ZEP-2068`` - Need Tasks to Be Tracked in QRC too 239* ``ZEP-2071`` - samples: warning: (SPI_CS_GPIO && SPI_SS_CS_GPIO && I2C_NRF5) selects GPIO which has unmet direct dependencies 240* ``ZEP-2085`` - Add CONTRIBUTING.rst to root folder w/contributing guidelines 241* ``ZEP-2089`` - UART support for ESP32 242* ``ZEP-2115`` - Common API for networked applications for setting up network 243* ``ZEP-2116`` - Common API for networked apps to create client/server applications 244* ``ZEP-2141`` - Coverity CID 169303 in tests/net/ipv6/src/main.c 245* ``ZEP-2150`` - Move Arduino 101 to Device Tree 246* ``ZEP-2151`` - Move Quark D2000 to device tree 247* ``ZEP-2156`` - Build warnings [-Wformat] with LLVM/icx (tests/kernel/sprintf) 248* ``ZEP-2168`` - Timers seem to be broken with TICKLESS_KERNEL on nRF51 (Cortex M0) 249* ``ZEP-2171`` - Move all board pinmux code from drivers/pinmux/stm32 to the corresponding board/soc locations 250* ``ZEP-2184`` - Split data, bss, noinit sections into application and kernel areas 251* ``ZEP-2188`` - x86: Implement simple stack memory protection 252* ``ZEP-2217`` - schedule_api test fails on ARM with tickless kernel enabled 253* ``ZEP-2218`` - unexpected short timeslice when running schedule_api with tickless kernel enabled 254* ``ZEP-2220`` - Extend MPU to stm32 family 255* ``ZEP-2225`` - Ability to unregister GATT services 256* ``ZEP-2226`` - BSD Sockets API: Basic blocking API 257* ``ZEP-2227`` - BSD Sockets API: Non-blocking API 258* ``ZEP-2229`` - test_time_slicing_preemptible fails on bbc_microbit and other NRF boards 259* ``ZEP-2250`` - sanitycheck not filtering defconfigs properly 260* ``ZEP-2258`` - Coverity static scan issues seen 261* ``ZEP-2265`` - stack declaration macros for ARM MPU 262* ``ZEP-2267`` - Create Release Notes 263* ``ZEP-2270`` - Convert mpu_stack_guard_test from using k_thread_spawn to k_thread_create 264* ``ZEP-2274`` - Build warnings [-Wpointer-sign] with LLVM/icx (tests/net/ipv6_fragment) 265* ``ZEP-2278`` - KW41-Z 802.15.4 driver hangs if full debug is disabled 266* ``ZEP-2279`` - echo_server TCP handler corrupt by SYN flood 267* ``ZEP-2280`` - add test case for KBUILD_ZEPHYR_APP 268* ``ZEP-2285`` - non-boards shows up in board list for docs 269* ``ZEP-2286`` - Write a GPIO driver for ESP32 270* ``ZEP-2289`` - [DoS] Memory leak from large TCP packets 271* ``ZEP-2296`` - ESP32: watchdog driver 272* ``ZEP-2297`` - ESP32: Pin mux driver 273* ``ZEP-2303`` - Concurrent incoming TCP connections 274* ``ZEP-2305`` - linker: implement MMU alignment constraints 275* ``ZEP-2306`` - echo server hangs from IPv6 hop-by-hop option anomaly 276* ``ZEP-2308`` - (New) Networking API details documentation is missing 277* ``ZEP-2310`` - Improve configuration documentation index organization 278* ``ZEP-2314`` - Testcase failure :tests/benchmarks/timing_info/testcase.ini#test 279* ``ZEP-2316`` - Testcase failure :tests/bluetooth/shell/testcase.ini#test_br 280* ``ZEP-2318`` - some kernel objects sections are misaligned 281* ``ZEP-2319`` - tests/net/ieee802154/l2 uses semaphore before initialization 282* ``ZEP-2321`` - [PTS] All TC's of SM/GATT/GAP failed due to BTP_TIMEOUT error. 283* ``ZEP-2326`` - x86: API to validate user buffer 284* ``ZEP-2328`` - gen_mmu.py appears to generate incorrect tables in some situations 285* ``ZEP-2329`` - bad memory access tests/net/route 286* ``ZEP-2330`` - bad memory access tests/net/rpl 287* ``ZEP-2331`` - bad memory access tests/net/ieee802154/l2 288* ``ZEP-2332`` - bad memory access tests/net/ip-addr 289* ``ZEP-2334`` - bluetooth shell build warning when CONFIG_DEBUG=y 290* ``ZEP-2335`` - Ensure the Licensing page is up-to-date for the release 291* ``ZEP-2340`` - Disabling advertising gets stuck 292* ``ZEP-2341`` - Build warnings:override: reassigning to symbol MAIN_STACK_SIZE with LLVM/icx (/tests/net/6lo) 293* ``ZEP-2343`` - Coverity static scan issues seen 294* ``ZEP-2344`` - Coverity static scan issues seen 295* ``ZEP-2345`` - Coverity static scan issues seen 296* ``ZEP-2352`` - network API docs don't mention when callbacks are called from a different thread 297* ``ZEP-2354`` - ESP32: Random number generator 298* ``ZEP-2355`` - Coverity static scan issues seen 299* ``ZEP-2358`` - samples:net:echo_server: Failed to send UDP packets 300* ``ZEP-2359`` - samples:net:coaps_server: unable to bind with IPv6 301* ``ZEP-2360`` - Initial implementation of Bluetooth Mesh 302* ``ZEP-2361`` - Provide a POSIX compatibility Layer on top of native APIs 303* ``ZEP-2365`` - samples/net/wpanusb/test_15_4 fail on nrf52840_pca10056 and frdm_kw41z 304* ``ZEP-2366`` - implement \__kernel attribute 305* ``ZEP-2367`` - NULL pointer read in udp, tcp, context net tests 306* ``ZEP-2368`` - x86: QEMU: enable MMU at boot by default 307* ``ZEP-2370`` - [test] Create a stress test to test preemptive scheduling on zephyr 308* ``ZEP-2371`` - [test] Create a stress test to test round robin scheduling with equal priority tasks on zephyr 309* ``ZEP-2374`` - Build warnings:override: reassigning to symbol NET_IPV4 with LLVM/icx (/tests/net/dhcpv4) 310* ``ZEP-2375`` - Build warnings [-Wpointer-sign] with LLVM/icx (tests/net/udp) 311* ``ZEP-2378`` - sample/bluetooth/ipsp: When build the app 'ROM' overflowed 312* ``ZEP-2379`` - samples/bluetooth: Bluetooth init failed (err -19) 313* ``ZEP-2380`` - TCP is broken by Zephyr commit 3604c391e 314* ``ZEP-2382`` - Convert test to use ztest framework 315* ``ZEP-2383`` - Net-app API needs to support DTLS 316* ``ZEP-2384`` - "Common" bluetooth sample code does not build out of tree 317* ``ZEP-2385`` - Update TinyCrypt to 0.2.7 318* ``ZEP-2395`` - Assert in http_server example when run over bluetooth on nrf52840 319* ``ZEP-2397`` - net_if_ipv6_addr_rm calls k_delayed_work_cancel() on uninitialized k_delayed_work object 320* ``ZEP-2398`` - network stack test cases are only tested on x86 321* ``ZEP-2403`` - Enabling MMU for qemu_x86 broke active connect support 322* ``ZEP-2407`` - [Cortex m series ] Getting a crash on Cortex m3 series when more than 8 preemptive threads with equal priority are scheduled 323* ``ZEP-2408`` - design mechanism for kernel object sharing policy 324* ``ZEP-2412`` - Bluetooth tester app not working from commit c1e5cb 325* ``ZEP-2423`` - samples/bluetooth/ipsp's builtin TCP echo crashes on TCP closure 326* ``ZEP-2432`` - ieee802154_shell.c, net_mgmt call leads to a BUS FAULT 327* ``ZEP-2433`` - x86: do forensic analysis to determine stack overflow context in supervisor mode 328* ``ZEP-2436`` - Unable to see console output in Quark_D200_CRB 329* ``ZEP-2437`` - warnings when building applications for quark d2000 330* ``ZEP-2444`` - [nrf] Scheduling test API is getting failed in case of nrf51/nrf52 platforms 331* ``ZEP-2445`` - nrf52: CPU lock-up when using Bluetooth + Flash driver + CONFIG_ASSERT 332* ``ZEP-2447`` - 'make debugserver' fails for qemu_x86_iamcu 333* ``ZEP-2451`` - Move Bluetooth IPSP support functions from samples/bluetooth to a separate library 334* ``ZEP-2452`` - https server does not build for olimex_stm32_e407 335* ``ZEP-2457`` - generated/offsets.h is being regenerated unnecessarily 336* ``ZEP-2459`` - Sample application not working with Quark SE C1000 337* ``ZEP-2460`` - tests/crypto/ecc_dh fails on qemu_nios2 338* ``ZEP-2464`` - "allow IPv6 interface init to work with late IP assignment" patch broke non-late IPv6 assignment 339* ``ZEP-2465`` - Static code scan (coverity) issues seen 340* ``ZEP-2467`` - Static code scan (coverity) issues seen 341* ``ZEP-2468`` - Static code scan (coverity) issues seen 342* ``ZEP-2469`` - Static code scan (coverity) issues seen 343* ``ZEP-2474`` - Static code scan (coverity) issues seen 344* ``ZEP-2480`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/coaps_server) 345* ``ZEP-2482`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/telnet) 346* ``ZEP-2483`` - samples:net:http_client: Failed to get http requests in IPv6 347* ``ZEP-2484`` - samples:net:http_server: Failed to work in IPv6 348* ``ZEP-2485`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/coaps_client) 349* ``ZEP-2486`` - Build warnings [-Wpointer-sign] with LLVM/icx (samples/net/mbedtls_dtlsserver) 350* ``ZEP-2488`` - Build warnings [-Wpointer-sign] and [-Warray-bounds] with LLVM/icx (samples/net/irc_bot) 351* ``ZEP-2489`` - bug in _x86_mmu_buffer_validate API 352* ``ZEP-2496`` - Build failure on tests/benchmarks/object_footprint 353* ``ZEP-2497`` - [TIMER] k_timer_start should take 0 value for duration parameter 354* ``ZEP-2498`` - [Display] Minimum Duration argument to k_timer_start should be non Zero positive value 355* ``ZEP-2508`` - esp32 linkage doesn't unify ELF sections correctly 356* ``ZEP-2510`` - BT: CONFIG_BT_HCI_TX_STACK_SIZE appears to be too low for BT_SPI 357* ``ZEP-2514`` - XCC sanitycheck build compile wrong targets 358* ``ZEP-2523`` - Static code scan (Coverity) issue seen in file: /samples/net/zoap_server/src/zoap-server.c 359* ``ZEP-2525`` - Static code scan (Coverity) issue seen in file: /samples/net/zoap_server/src/zoap-server.c 360* ``ZEP-2531`` - Static code scan (Coverity) issue seen in file: /tests/net/lib/dns_resolve/src/main.c 361* ``ZEP-2528`` - Static code scan (Coverity) issue seen in file: /samples/net/nats/src/nats.c 362* ``ZEP-2534`` - Static code scan (Coverity) issue seen in file: /tests/kernel/irq_offload/src/irq_offload.c 363* ``ZEP-2535`` - Static code scan (Coverity) issue seen in file: /tests/net/lib/zoap/src/main.c 364* ``ZEP-2537`` - Static code scan (Coverity) issue seen in file: /tests/crypto/ecc_dh/src/ecc_dh.c 365* ``ZEP-2538`` - Static code scan (Coverity) issue seen in file: /arch/arm/soc/st_stm32/stm32f1/soc_gpio.c 366* ``ZEP-2539`` - Static code scan (Coverity) issue seen in file: /tests/net/ieee802154/l2/src/ieee802154_test.c 367* ``ZEP-2540`` - Static code scan (Coverity) issue seen in file: /ext/lib/crypto/tinycrypt/source/ecc_dh.c 368* ``ZEP-2541`` - Static code scan (Coverity) issue seen in file: /subsys/bluetooth/host/mesh/cfg.c 369* ``ZEP-2549`` - Static code scan (Coverity) issue seen in file: /samples/net/leds_demo/src/leds-demo.c 370* ``ZEP-2552`` - ESP32 uart poll_out always return 0 371* ``ZEP-2553`` - k_queue_poll not handling -EADDRINUSE (another thread already polling) properly 372* ``ZEP-2556`` - ESP32 watchdog WDT_MODE_INTERRUPT_RESET mode fails 373* ``ZEP-2557`` - ESP32 : Some GPIO tests are getting failed (tests/drivers/gpio/gpio_basic_api) 374* ``ZEP-2558`` - CONFIG_BLUETOOTH_* Kconfig options silently ignored 375* ``ZEP-2560`` - samples/net: the sample of zoap_server fails to add multicast address 376* ``ZEP-2561`` - samples/net: The HTTP client failed to send the POST request 377* ``ZEP-2568`` - [PTS] All TC's of L2CAP/SM/GATT/GAP failed due to BTP_ERROR. 378* ``ZEP-2575`` - error:[ '-O: command not found'] with LLVM/icx (samples/hello_world) 379* ``ZEP-2576`` - samples/net/sockets/echo, echo_async : fails to send the TCP packets 380* ``ZEP-2581`` - CC3220 executable binary format support 381* ``ZEP-2584`` - Update mbedTLS to 2.6.0 382* ``ZEP-713`` - Implement preemptible regular IRQs on ARC 383