Releases: zephyrproject-rtos/zephyr
Zephyr v1.13.0-rc1
Adithya Baglody (15):
benchmarks: app_kernel: Fixed coverity issue.
syscalls: Scan multiple folders to build complete syscall list
userspace: app_shared_mem: Fixed incorrect implementation.
scripts: gen_app_smem.py: Removing a needless file.
tests: kernel: fp_sharing: Added support for Cortex-M7
benchmarks: timing_info: Add hooks in the kernel for userspace.
tests: benchmarks: timing_info: Add userspace related KPIs.
arch: arc: Added benchmark related hooks.
tests: benchmarks: timing_info: Enable benchmarks for ARC.
tests: include: Add implementation of timestamp_serialize()
tests: benchmarks: timing_info: Discard selected measurements.
tests: benchmarks: timing_info: Enable benchmarks for xtensa.
tests: benchmarks: timing_info: Enable benchmarks for nios2.
tests: benchmarks: timing_info: Enable benchmarks for riscv32.
tests: benchmarks: timing_info: Cleanup testcase.yaml
Ajay Kishore (12):
tests: kernel: Add description for test case
tests: kernel: document gen_isr_table tests for RTM
tests: kernel: Add test to validate k_stack_alloc_init, k_stack_cleanup
tests: msgq: Enhance tests to improve code coverage
tests: sched: Enhance tests to improve code coverage
tests: msgq: Add description and RTM links
tests: lifo: Add description and RTM links
tests: static_idt: Add description and RTM links
tests: FIFO: Add description and RTM links
tests: fatal: Add description and RTM links
tests: cmsis_rtos_v1: add negative tests for timer api
tests: mempool: Enhance tests to improve code coverage
Alberto Escolar Piedras (55):
native_posix: irq_offload to use a sw interrupt
native_posix & kernel: Remove legacy preemption checking
tests/kernel/sched/preempt: enable test for native_posix
native: Add command line options to control real timeness
native tests: fix kernel sched preempt for arch posix
native: Fix entropy generator kconfig warning
native: Fix host BT driver kconfig warning
drivers: timer: nRFx: Use nrf_rtc hal for registers w sideeffects
drivers: clock_control: Use nrf_clock HAL for registers w sideeffects
drivers: entropy: nrf5: Use nrf_rng hal for registers w sideeffects
Bluetooth: controller: Use nRFx functions for RTC reg with sideeffects
Bluetooth: controller: Use nRFx functions for ECB reg with sideeffect
Bluetooth: controller: Use SOC series macro instead of board macro
Bluetooth: controller: Use SOC series macro instead of the board macro
Bluetooth: controller: Use nRFx functions for RTC reg w sideeffects
Bluetooth: controller: Use nRFx functions for CCM reg w sideeffects
Bluetooth: controller: Use nRFx functions for TIMER reg w sideeffects
Bluetooth: controller: Use nRFx functions for PPI reg with sideef
drivers: entropy: native: implement standard ISR-specific call
native_posix: Let users use math functions
drivers: entropy: nrf5: Use nrf_rng hal for registers w sideeffects
tests: sprintf: suppress Wformat-truncation warning
native: Do not ignore format-truncation warnings
CODEOWNERS: fix due to username change
sanitycheck: control coverage from command line
CI: explicitly enable compiling w coverage in sanitycheck
native_posix: Do not select COVERAGE by default
doc: native_posix: Add paragraph about ASan
cmake: Allow C standard version to be overriden
native_posix: override C standard version to 2011
sanitycheck: Do not calculate size for native builds
native: Add NATIVE_EXIT_TASK hooks
tests: Add test for NATIVE_EXIT_TASK
native_posix: Be more precise with stop-at
native_posix: command line parsing fix
native_posix: Add realtime control and real time clok model
test: Add test for native_posix RTC and real time control
native: Generalize native tasks
native: Allow cmd line options to be registered dynamically
native_posix: Refactor cmd line options
drivers: console: Kconfig: Improve native descriptions
codeowners: Assign tests/boards/native_posix to aescolar
native_posix: minor doc fixes
posix arch: Add missing header
shell: Add missing header
Bluetooth: Userchan: Add missing headers
native_posix: Add missing headers and function prototypes
arch posix: Allow including XOPEN extensions
net: eth: native_posix: Add missing headers
tests: native_tasks: Add missing header
posix arch: Do not disable warnings
Bluetooth: controller: HAL: Separate simulated SOC in own header
Bluetooth: controller: remove unnecessary guards in hal headers
native_posix: argparsing: Fix possible segfault
native_posix: Minor fix in message printed on kill
Alex Tereschenko (2):
dt: nrf52840: remove 0x from USBD address
cmake: replace PROJECT_SOURCE_DIR with ZEPHYR_BASE
Alexander Wachter (3):
drivers: can: Prepare STM32 driver for other series than STM32F0
can: Add can support for STM32L432
drivers: can: Fix Issue #8226
Alexei Colin (1):
doc: getting started: add Arch Linux package
Anas Nashif (68):
boards: lpcxpresso54114_m0: do not set as default
tests: posix: fix meta-data and rename test file
samples: can: move CAN sample under drivers
samples: remove sample.tc
samples: cleanup sample test naming
samples: move grove samples to sensors and display
tests: disable preempt testcase for native_posix
ci: user latest docker file
sanitycheck: whitelist logging sections
clang/llvm: add initial configuration file for clang
clang: fix for x86 iamcu
net: fix header guard
tests: fix struct initialization
usb: mark unused arguments correctly
kernel/drivers: fix compile warnings
ci: remove tests and samples from coverage reports
mailmap: add entry for ruuddw
ci: use latest docker image v0.4-rc7
toolchains: add xtools support for ARC
toolchain: iamcu support with xtools toolchain
toolchains: fix multilib libc linking with xtools
boards: more boards with xtools support
toolchain: require Zephyr SDK 0.9.3
xtools: set toolchain vendor to zephyr
samples: exclude socket samples on esp32
esp32: include register headers in soc.h
coverage: exclude k_call_stacks_analyze from coverage
tests: nffs: fixed types
drivers: qmsi: Fix types and u32_t/uint32_t conflicts
samples: fix u32_t type usage
tests: fix u32_t type usage
Bluetooth: shell: fix type usage
sanitycheck: refactor add_goal
sanitycheck: do not redefine handler_log
nsim: add run target
sanitycheck: merge native and unit handlers
sanitycheck: add nsim as simulation type
boards: nsim_sem: fix identifier
boards: nsim_em: mark as simulation platform
sanitycheck: support additional handlers
sanitycheck: do not run if we do not have nsimdrv
sanitycheck: set state correctly in case of a crash
Revert "sanitycheck: set state correctly in case of a crash"
sanitycheck: allow blacklisting boards
mimxrt1050_evk: disable sanitycheck on this board [REVERT ME]
ci: handle documentation errors in ci
logging: use BUILD_ASSERT_MSG instead of _Static_assert
samples: ipm: improve sample metadata
tests: CONFIG_ARC_INIT is n by default
kconfig: remove whitelisting for ARC_INIT
arch: x86: set output format/arch per arch
samples: led_lp5562: cmake_minimum_required added
tests: update test identifier
samples: hello_world: remove single thread variant
tests: remove subsys from test identifier
sanitycheck: exit on exceptions
ci: Handle errors and exit on them
tests: disable HDC1008 from build tests
tests: fp_sharing: use filter
tracing: support generic tracing hooks
tests: qmsi: remove soc watch sample
samples: remove kernel_event_logger sample
samples: debug: remove sysview sample
kernel: event_logger: remove kernel_event_logger
systemview: add support natively using tracing hooks
tests: build philosophers sample with systemview
doc: add tracing section
release: bump version to 1.13-rc1
Andrei Emeltchenko (29):
usb: tests: Add missing sections to sanitycheck
usb: Allow to enable stack on native_posix arch
usb: webusb: Correct total length
usb: bos: Add linker sections for USB BOS descriptor
usb: trivial: Remove unneeded braces
usb: bos: Add USB BOS descriptors API
usb: tests: Add usb_bos_desc to sanitycheck table
usb: bos: unit: Add unit test for BOS testing
usb: webusb: Refactor WebUSB using BOS API
usb: webusb: Strip CDC ACM function from the code
usb: tests: Fix BOS test related to linker order
usb: netusb: Add ethernet_init()
usb: webusb: Use struct string_desc instead of char array
usb: Correct include path
usb: Cleanup code style for usb_device
usb: osdesc: Add MS OS Descriptors version 1 support
usb: rndis: Add MS OS v1 descriptors to RNDIS
usb: rndis: Set subCompatibleID parameter for exact MS driver
usb: tests: Add unit tests for MS OS Descriptors testing
usb: tests: Add testing os_desc feature
usb: composite: Add handling osdesc feature
usb: rndis: Use RFC 7042 Doc value for Host MAC
usb: device: Refactor vendor_handler
usb: osdesc: Use definition for string descriptor index
samples: webusb: Reformat README txt to rst
samples: webusb: C...
Zephyr 1.12.0
We are pleased to announce the release of Zephyr kernel version 1.12.0.
Major enhancements with this release include:
- Asymmetric multiprocessing (AMP) via integration of OpenAMP
- Persistent storage support for Bluetooth Low Energy including Mesh
- 802.1Q - Virtual Local Area Network (VLAN) traffic on an Ethernet network
- Support multiple concurrent filesystem devices, partitions, and FS types
- Ethernet network management interface
- Networking traffic prioritization on a per-connection basis
- Support for Ethernet statistical counters
- Support for TAP net device on the the native POSIX port
- Command-line Zephyr meta-tool "west"
- SPI slave support
- Runtime non-volatile configuration data storage system (settings)
The following sections provide detailed lists of changes by component.
Security Vulnerability Related
-
A suitably sized k_malloc() request can result in a smaller than
requested buffer. Use of that buffer could result in writes to
unallocated memory. Proper overflow checks were added to fix this
issue in k_malloc and k_calloc.- kernel: mempool: Check for overflow in k_malloc()
- kernel: mempool: Always check for overflow in k_calloc()
- tests: mempool: Add overflow checks
Kernel
- Added k_thread_foreach API
- kernel/sched: Fix preemption logic
- kernel/sched: Fix SMP scheduling
- kernel/sched: Don't preempt cooperative threads
- kernel: Scheduler rewrite
- kernel: Fix sloppy wait queue API
- kernel/mempool: Handle transient failure condition
- kernel: handle early entropy issues
- kernel: Earliest-deadline-first scheduling policy
- kernel: Add "meta IRQ" thread priorities
- kernel: introduce initial stack randomization
- k_poll: expose to user mode
- k_queue: allow user mode access via allocators
- mempool: add API for malloc semantics
- userspace: add support for dynamic kernel objects
Architectures
- arch: arc: refactor the arc stack check support
- arch: arc: add the support of STACK_SENTINEL
- arch: arc: optimize the _SysFatalErrorHandler
- arch: arc: bug fixes in irq_load
- arch: arc: bug fixes and optimization in exception handling
- arch: arm: Fix zero interrupt latency priority level
- arch: arm: refactor default _FaultDump to provide fatal error code
- arch: arm: Define & implement API for test target (Non-Secure)
- arch: arm: thread built-in stack guard implementation
- arch: arm: lpc: Added support for Cortex-M0+ on lpc54114 soc
- arch: arm: Secure fault handling for Cortex-M23
- arch: arm: SecureFault Handling for Cortex-M33A
- arch: arm: Change method of __swap processing
- arm_mpu: reduce boot MPU regions for various soc
- arm: userspace: fix initial user sp location
- arm: userspace: Rework system call arguments
- arm: syscalls: fix some register issues
- dts: nios2-qemu: add device tree support
- dts: nios2f: Add device tree support
- dts: x86: derive RAM and ROM size from dts instead of Kconfig
- dts: xtensa: Add device tree support for xtensa
- newlib: fix heap user mode access for MPU devices
- nxp_imx/mcimx7_m4: Added support for i.MX7 Cortex M4 core
- x86: minnowboard: Enable the userspace mode
- arch: x86: Unwind the stack on fatal errors
- xtensa: provide XCC compiler support for Xtensa
Boards
-
Added support for the following Arm boards:
- 96b_argonkey
- adafruit_feather_m0_basic_proto
- colibri_imx7d_m4
- dragino_lsn50
- lpcxpresso54114_m0
- nrf51_ble400
- nrf52_pca20020
- nucleo_f070rb
- nucleo_f446re
- nucleo_l053r8
- nucleo_l073rzA
- olimex_stm32_h407
- stm32f0_disco
-
Added support for the following RISC-V boards:
- hifive1
-
Added support for the following Xtensa boards:
- intel_s1000_crb
-
arc: Added device tree support for all ARC SoCs
-
arm: Renamed lpcxpresso54114 to lpcxpresso54114_m4
-
nios2: Added device tree support for qemu_nios2 and altera_max10
-
Continued adding dts support for device drivers (gpio, spi, i2c, sensors, usb)
Drivers and Sensors
- can: Added CAN driver support for STM32 SoCs
- display: Added ILI9340 LCD display driver
- dma: Added dma driver for Nios-II MSGDMA core
- dma: Introduce Intel CAVS DMA
- ethernet: Added ethernet driver for native posix arch
- gpio: Added support for i.MX GPIO
- gpio: Added driver for SX1509B
- gpio: Added GPIO for SAM family
- gpio: Added GPIO driver for stm32l0x
- i2s: Introduce CAVS I2S
- ieee802154: Added OpenThread modifications to KW41Z driver
- interrupts: introduce CAVS interrupt logic
- interrupts: Introduce Designware interrupt controller
- ipm: Added mcux ipm driver for LPC SoCs
- led: Added new public API and driver support for TI LP3943
- pinmux: Added pinmux driver for stm32l0x
- rtc: Added mcux RTC driver for Kinetis SoCs
- sensor: Added sensorhub support to lsm6dsl driver
- sensor: Added trigger support to lsm6dsl
- serial: Added support for i.MX UART interface
- spi: Added shims for nrfx SPIS and SPIM drivers
- spi: Updated mcux shim driver to new SPI API
- spi: Updated sensor and radio drivers to new SPI API
- usb: Added usb device driver for Kinetis USBFSOTG controller
- usb: Added usb support for stml072/73, stm32f070/72
- usb: Enable usb2.0 on intel_s1000
- usb: Added nRF52840 USB Device Controller Driver
- watchdog: Added mcux watchdog driver for Kinetis SoCs
- watchdog: Added nrfx watchdog driver for NRF SoCs
- wifi: Added winc1500 WiFi driver
Networking
- Minimal server side websocket support.
- Add network support to syslog.
- Reducing net_pkt RAM usage.
- TCP code refactoring. TCP code is now in one place in tcp.c
- Support MSG_DONTWAIT and MSG_PEEK in recvfrom() socket call.
- Support MSG_DONTWAIT in sendto() socket call.
- Add support for freeaddrinfo() API.
- Allow empty service in getaddrinfo() API.
- Add PRIORITY support to net_context. This is working same way as SO_PRIORITY
in BSD sockets API. - Add network traffic classification support to Rx and Tx paths. This allows
prioritization of incoming or outgoing network traffic. Both Rx and Tx can
have max 8 network queues. - Add network interface up/down command to net-shell.
- Create ethernet driver for native_posix board. The driver is enabled
automatically if networking is active when compiling for native_posix board. - Support network packet checksum calculation offloading. This is available for
ethernet based boards. - Add support for ethernet virtual LANs (VLAN). Following ethernet drivers
support VLANs: frdm_k64f, sam_e70_explained, native_posix and qemu. - Allow network statistics collection / network interface.
- Add network management support to ethernet sub-system.
- Add network capabilities support to ethernet network drivers. This is used
for management purposes. - Allow collection of ethernet statistics. Currently only native_posix ethernet
driver supports this. - Add OpenThread support for KW41Z driver.
- Add initial WiFi management API definitions.
- Add a shell module for controlling WiFi devices.
- Add dedicated net mgmt hooks for WiFi offload devices.
- Use proper IPv4 source address when sending IPv4 packets.
- Add support for energy detection scan on IEEE 802.15.4 driver API.
- Add support for filtering source short IEEE 802.15.4 addresses.
- Add RPL border router sample application.
- LWM2M code refactoring.
- LWM2M OPTIONAL resource fixes.
- LWM2M source port fixes.
- LWM2M resource usage enhancements.
- Fixing network management event ordering.
- Fix ENC28J70 ethernet driver.
- CoAP sample application fixes.
- Network timeout fixes.
- ICMPv6 error check fixes.
- Net-app API port number fixes.
- WPAN USB driver and sample application fixes.
- BSD socket sample application fixes.
- Fix IPv4 echo-request (ping) in net-shell when having multiple network
interfaces. - Fixing IPv6 compile error in certain configuration.
Bluetooth
- settings-based persistent storage functionality for BLE (including CCC) and
Mesh - Mesh-specific optimizations to avoid flash wear
- Added a new API to set the identity address from the application
- Old bt_storage API removed from the codebase
- Rewrote the HCI SPI driver to comply with the new API
- Added BLE support for the standard entropy driver via an ISR-friendly call
- Multiple BLE Mesh bugfixes and improvements
- Added option to use the identity address for advertising even when using
privacy - Added support for L2CAP dynamically allocated PSM values
- GATT CCC handling fixes
- GATT attribute declaration macros reworked for clarity
- Fixed handlng of connection cancellation in the controller
- Fixed a potential assertion failure in the controller related to white list
handling
Build and Infrastructure
- build: use git version and hash for boot banner
- kconfig: Drop support for CONFIG_TOOLCHAIN_VARIANT
- kconfig: Remove the C Kconfig implementation
- scripts: kconfig: Add a Python menuconfig implementation
- scripts: west: introduce common runner configuration
- scripts: debug, debugserver and flash scripts for intel_s1000
- xtensa: provide XCC compiler support for Xtensa
Libraries / Subsystems
- subsys/disk: Added support for multiple disk interfaces
- subsys/fs: Added support for multiple instances of filesystem
- subsys/fs: Added Virtual File system Switch (VFS) support
- lib/posix: Added POSIX Mutex support
- lib/posix: Added POSIX semaphore support
- crypto: Updated mbedTLS to 2.9.0
- Imported libmetal and OpenAMP for IPC
HALs
- altera: Add modular Scatter-Gather DMA HAL driver
- atmel: Added winc1500 driver from Atmel
- cmsis: Update ARM CMSIS headers to version 5.3.0
- nordic: Import SVD files for nRF5 SoCs
- nordic: Update nrfx to version 1.0.0
- nxp: imported i.MX7 FreeRTOS HAL
- nxp: Added dual core startup code for lpc54114 based on mcux 2.3.0
- stm32l0x: Add HAL for the STM32L0x series
Documentation
*...
Zephyr 1.12.0-rc3
Adithya Baglody (8):
benchmarks: object_footprint: Disable userspace for benchmarks
benchmarks: app_kernel: Disable userspace for benchmarks
benchmarks: latency_measure: Disable userspace for benchmarks
benchmarks: boot_time: Disable userspace for benchmarks
benchmarks: footprint: Disable userspace for benchmarks
benchmarks: sys_kernel: Disable userspace for benchmarks
benchmarks: timing_info: Disable userspace for benchmarks
boards: common: bossac: Fix bossac flash script.
Alexander Wachter (1):
drivers: can: Move bit timing and clock to device tree
Anas Nashif (12):
ci: remove ext/ from coverage
ci: increase ccache size
tests: workqueue: fix doxygen group
tests: mem_pool: organise test documentation
tests: ieee802154/crypto: use console harness
tests: remove obsolete k_thread_cancel
samples: crypto: adapt harness
tests: logger-hook: increase ztest stack size
sanitycheck: export list of tests as CSV
boards: make em_starterkit_em7d default test platform
sanitycheck: fail on faults/panics/oopses
tests: fix test identifiers
Andrei Emeltchenko (1):
usb: cdc_acm: Set bInterfaceProtocol to No Protocol (0)
Andrew Boie (6):
tests: mbedtls: don't use stdout console
kernel: update stack macro documentation
kernel: clarify thread->stack_info documentation
tests: mem_protect: use better stack size arg
x86: align stack buffer sizes
kernel: move thread monitor init to common code
Andrzej Puzdrowski (3):
tests: subsys: settings: fcb: Fix failure on nrf52_pca10040
susbys: disk: Fix misleading menuconfig prompts
subsys: mgmt: Remove unnecessary comparison
Andy Gross (3):
doc: security: Update security overview for recent features
doc: security: Remove revision history
doc: relnotes: Add security vulnerability information
Andy Ross (9):
kernel/sched: Fix SMP scheduling
tests/kernel/smp: Properly synchronize CPU counters at test start
esp32: Add some "logging" voodoo to SMP initialization
tests/kernel/mem_slab: Fix memory overcommit
kernel/sched: Fix preemption logic
tests/kernel/mem_slab: Fix memory overcommit for real
include/toolchain/gcc.h: Fix static assert detection
tests/kernel/preempt: Add yield and sleep cases
arch/arm: Fix THREAD_MONITOR entry struct
Armando Visconti (1):
spi: spi_ll_stm32: (fix) Clear OVR bit condition
Carles Cufi (3):
tests: arm: irq_vector_table: Fix Kconfig override
doc: relnotes: Correct a couple of headline items
doc: relnotes: 1.12 Bluetooth release notes
Daniele Biagetti (1):
subsys: settings: Fix file exist error.
David B. Kinder (4):
doc: fix broken table display
doc: fix misspellings in docs
releasenotes: update with doc issues addressed
releasenotes: updated documentation changes
Erwan Gouriou (2):
drivers/gpio: stm32 fix gpio device init prio
arch: stm32: remove .hex binary build by default
Gil Pitney (1):
arch: arm: soc: cc2650: Remove dead code.
Henrik Brix Andersen (1):
doc: updated doc for Zephyr release 1.12.
Ioannis Glaropoulos (8):
cmake: fix warning message
arch: arm: use stored value for MMFAR
arch: arm: force MpuFaultHandler to inspect multiple error conditions
arch: arm: coding and comment style fixes
arch: arm: enhance internal function documentation
arch: arm: implement internal function to disable MPU region
arch: arm: add additional sanity checks before MPU config change
arch: arm: mpu: minor comment style fixes
Joakim Andersson (1):
arch: arm: Fix zero interrupt latency priority level
Johan Hedberg (2):
Bluetooth: Fix unchecked settings value lengths
Bluetooth: Mesh: Fix (re)transmit interval handling
Johann Fischer (4):
drivers: usb_dc_kinetis: fix usb_dc_ep_read_continue
dts: nxp: fix typo in usbd bindings
boards: frdm_k64f: add USB comment to documentation
boards: usb_kw24d512: add USB comment to documentation
Johannes Hutter (1):
doc: fix early closing of GPIO doxygen defgroup
Jukka Rissanen (7):
doc: net: Add information about VLANs
doc: net: Add information about network traffic classification
tests: net: Increase the stack size of frdm-k64f
tests: net: trickle: Fix running on frdm-k64f
tests: net: Fix tests so they can be run in real hw
net: ipv6: Set hop limit in net_pkt according to IPv6 header
net: ipv4: Set TTL in net_pkt according to IPv4 header
Leandro Pereira (12):
drivers: watchdog: esp32: Use common Kconfig option to disable at boot
drivers: watchdog: Use common name configuration for all drivers
tests: crypto: Fully initialize variables using named initializers
kernel: k_work: k_work_init() should initialize all fields
tests: mbox_api: Fully initialize k_box_msg struct
samples: crypto: Ensure cap_flags is always initialized
samples: drivers: crypto: Do not show colors in logs
samples: drivers: crypto: Update expected sample output
tests: kernel: fifo_timeout: Do not potentially dereference NULL ptrs
samples: net: dumb_http_server: Handle recv() errors
samples: net: rpl_border_router: Fix out-of-bounds write
samples: net: hrpl_border_router: Fix NULL pointer dereference
Luiz Augusto von Dentz (1):
Bluetooth: ATT: Fix clearing context at disconnect
Marti Bolivar (13):
boards: intel_s1000: move runner config out of boards/common
scripts: west: update to upstream 894aedbc0
getting_started: fix UNIX-ism
getting_started: fixes for intro section
getting_started: fixes and cleanups for installation_linux
getting_started: building: fix inaccuracies
doc: extensions: fix :app: behavior for zephyr-app-commands
doc: conf.py: remove unused import
doc: conf.py: make sure west is importable from Python
doc: conf.py: add sphinx.ext.autodoc extension
doc: add initial west documentation
conf.py: clean up exit if ZEPHYR_BASE is unset
scripts: west: cherry-pick upstream 321ab2e17
Maureen Helm (3):
nxp_imx: Move i.MX RT PLL selects to Kconfig.soc
doc: release notes: Fill in summary, arch, and kernel sections for 1.12
release: Move version to 1.12.0-rc3
Michael Scott (6):
net: tc: dont yield during net_rc tx/rx workq init
drivers: eth: mcux: use CONFIG_SYS_LOG_ETHERNET_LEVEL for syslog level
kernel: thread: fix _THREAD_DUMMY check in _check_stack_sentinel()
kernel: sched: use _is_thread_ready() in should_preempt()
net: lwm2m: lower priority of engine thread
net: lwm2m: fix observer attribute update logic
Nagaraj Hegde (1):
tests: fifo_timeout : Dereference after null check
Paras Jain (2):
samples: sensor : mcp9808: check return value
lib: posix: fix out-of-bound write
Paul Sokolovsky (3):
cmake: toolchain: Don't warn of both ZEPHYR_*_VARIANT envvars defined
net: shell: Correct help text for "mem" command
toolchain: gcc: Add compiler barrier at the end of UNALIGNED_PUT()
Piotr Mienkowski (1):
api: watchdog: fix wdt_install_timeout doxygen comment
Piotr Zięcik (1):
arm: userspace: Do not overwrite r7 during syscall.
Punit Vara (1):
doc: Update doc for POSIX feature
Rajavardhan Gundi (2):
release: Update release notes with CAVS ICTL info
boards: intel_s1000: Fix runner invocation
Ramakrishna Pallala (4):
dts: arc: Fix IRQ priorities for quark_se_c1000_ss
tests: kernel: profiling: Fix _sys_soc_suspend logic
lib: posix: Make sure the name string is NULL terminated
lib: posix: clock: Use k_uptime_get() to compute tv_nsec
Ruslan Mstoi (1):
drivers: eth: native_posix: Fix malformed echo response
Ryan QIAN (5):
mimxrt1050: remove app specific code from soc file
boards: mimxrt1050_evk: add condition to initialize different PLL
boards: mimxrt1050_evk: move iomuxc to soc folder
mimxrt1050: fix dcdc value change process
mimxrt1050: check if D-cache is enabled before enabling it.
Sathish Kuttan (4):
drivers: dma_cavs: separate callbacks per channel
arch: xtensa: intel_s1000: Reference clock API
drivers: i2s: intel_s1000: Fractional bit-clock
arch: soc: intel_s1000: set M/N divider ownership
Satya Bhattacharya (1):
samples: net: Check the return value of nats_publish
Spoorthi K (1):
doc: Update release note for 1.12
Sritej Kanakadandi Venkata Rama (1):
tests: posix: Function call return values need to be validated.
Tomasz Bursztyka (7):
arch/x86: Rename a legacy network Kconfig option
boards/x86: Removing undefined Kconfig symbol in quark_se_c1000_devboard
drivers/flags: W25QXXDW internal erase logic fix
net/ethernet: Fix ethernet net mgmt interface layer code
drivers/rtc: Fix how prescaler is used in QMSI driver
boards/x86: Use right GPIO names for CC2520
arch/arc: Set the right priority for WDT on quark_se
Ulf Magnusson (1):
genrest: Highlight Kconfig as Kconfig, not Python
Wayne Ren (12):
arch: arc: fix the wrong setting of STACK_CHECK for user thread
arch: arc: fix the bug in STACK_ARRAY defintion.
tests: fixes for ARC
tests: fixes for ARC
tests: necessary fixes for ARC
arch: arc: refactor the arc stack check support
arch: arc: add comments for _load_stack_check_regs
arch: arc: use a separate stack for exception handling
tests: fix the bug of sentinel.conf
ar...
Zephyr 1.12.0-rc2
Adithya Baglody (11):
arch: arm: add_subdirectory shouldn't depend on a hidden kconfig.
arch: arm: add_subdirectory shouldn't depend on a hidden kconfig.
arch: arm/arc: Remove usage of zephyr_library_ifdef.
boards: arm: cc2650: Remove CONFIG_FLASH from defconfig.
boards: arm: cc3220sf: Remove CONFIG_FLASH from defconfig.
boards: arm: msp_exp432p401r: Remove CONFIG_FLASH from defconfig.
drivers: sensors: Remove usage of zephyr_library_ifdef
drivers: flash: Remove usage of zephyr_library_ifdef
drivers: serial: Remove usage of zephyr_library_ifdef
drivers: entropy: Remove usage of zephyr_library_ifdef
cmake: extensions: Remove macro zephyr_library_ifdef.
Alberto Escolar Piedras (1):
native: ethernet: fix k_sleep() wait time
Anas Nashif (29):
doxygen: reference requirements
tests: semaphore: improve test documentation
tests: alert: improve test documentation
tests: fifo: improve test documentation
tests: lifo: improve test documentation
tests: msgq: improve test documentation
kernel: add requirement Ids to implementation
doc: build with CONFIG_USERSPACE enabled
tests: pipe: improve test documentation
tests: stack: improve test documentation
sanitycheck: update script arguments
sanitycheck: document --device-testing feature
sanitycheck: improve help message
tests: kernel: document thread tests for RTM
doxygen: enable more option for docs
doc: document kernel APIs with doxygen
tests: threads: fold systemthread tests into main test
tests: threads: fold customdata tests into main test
tests: kernel: put all thread tests on one level
doc: document thread options
doc: add requirement IDs
tests: critical: fix naming and comments
tests: move schedule_api under sched/
tests: schedule_api: fix references to tested APIs
tests: schedule_api: change category to sched
test: early_sleep: cleanup test
tests: posix: rename entry file to main.c
tests: kernel context: rewrite test to use ztest correctly
tests: workqueue: add API references and doxygen group
Andrei Emeltchenko (7):
usb: netusb: Add subsys/usb to include list
usb: netusb: Use function - defined status callbacks
usb: netusb: Implement status callback for ECM
usb: netusb: Implement status callback for EEM
usb: netusb: Implement status callback for RNDIS
samples: echo_server: Remove conflicting option from conf file
usb: netusb: Refactor function's status callbacks
Andrew Boie (24):
tests: mem_protect: fix off-by-one
elf_helper: fix member offset calculation
test_build_sensors_a_m: disable app memory
kernel: prepare threads after PRE_KERNEL*
tests: fatal: fix several issues
bluetooth: disable user mode for one test
tests: enable user mode by default
arm: syscalls: fix some register issues
arm: userspace: fix initial user sp location
scripts: generalize kobject -> enum naming
kernel: remove STACK_ALIGN checks
tests: footprint: only use user mode for max
tests: crypto: disable user mode on 2 tests
doc: update syscall docs to new handler APIs
init: run kernel_arch_init() earlier
kernel: handle early entropy issues
tests: benchmarks: force assertions off
build: suppress asserts warning if forced off
debug: enable assertions for all tests
sanitycheck: deprecate assertion options
arm: st_stm32: reduce boot MPU regions
arm_mpu: reduce boot MPU regions for various soc
userspace: align _k_object to 4 bytes
tests: enable HW stack protection by default
Andrzej Głąbek (1):
drivers: serial: nrf: Fix interrupts enabling/disabling
Andy Ross (10):
sanitycheck: Disable parallel builds with Ninja
kernel/sched: Don't preempt cooperative threads
kernel: Add "meta IRQ" thread priorities
kernel: Earliest-deadline-first scheduling policy
sanitycheck: Add support for _bt_settings_area linker section
tests/lib/c_lib: Turn off too-clever compiler warning
tests/kernel/common: Add rigorous integer typing test
kernel: Remove legacy preemption checking
tests/kernel: Add preemption priority test
kernel/mempool: Handle transient failure condition
Anthony Kreft (2):
arch: arm: STM32L053X8 support
boards: arm: add support for NUCLEO-L053R8
Armando Visconti (1):
spi: spi_ll_stm32: Fix transceive() ret value in spi_slave case
Asbjørn Sæbø (1):
Bluetooth: GATT: Change attribute count from u16_t to size_t
Aurelien Jarno (15):
arch: stm32l4: only enable USB OTG on SoCs supporting it
arch: stm32l432: add support for USB controller
ext: hal: stm32cube: fix stm32l4xx VDDUSB supply control
drivers: usb_dc_stm32: enable VDDUSB on STM32L4x2
boards: nucleo_l432kc: fix GPIO definitions
subsys: fs/nvs: explicitly pad flash writes up to the write block size
subsys: fs/nvs: never read more than the destination buffer
subsys: fs/nvs: never write more than the source buffer
subsys: fs/nvs: remove explicit padding from structures
subsys: fs/nvs: kill a warning
subsys: fs/nvs: do not assume the flash is mapped at address 0
subsys: fs/nvs: fix _nvs_sector_is_used
arch: arm: fix a typos in Kconfig file
i2c: i2c_gpio: fix typos in Kconfig file
arch: arm: select CPU_HAS_FPU on STM32L4 family
Bobby Noelte (2):
scripts: extract_dts_includes.py: fix multiple include in bindings
scripts: extract_dts_includes: fix recursion in extract_controller
Carles Cufi (7):
arch: arm: swap: Remove old context switch code
scripts: check-compliance: Allow to run from any path
drivers: entropy: Introduce ISR-specific entropy function
kernel: Use IS-specific entropy function when available
drivers: entropy: nrf5: Implement standard ISR-specific call
bluetooth: controller: Handle non-priority events correctly
arch: arm: nordic: nrf52: Enable instruction cache
Daniel Egger (1):
net: lwm2m: remove silent fail for bad endpoint data in rd_client
David B. Kinder (6):
doc: CODEOWNERS for .rst files
doc: fix misspellings in test documentation
doc: fix misspellings in API doxygen comments
doc: fix misspellings in Kconfig files
doc: fix misspellings in docs
doc: tweak CSS for option table display
David Brown (1):
doc: Create a sensor threat model doc
Diego Sueiro (1):
doc: i.MX7 updated doc for Zephyr release 1.12
Erwan Gouriou (9):
boards: stm32_mini_a15: fix PLL source selection
drivers: clock_control: remove reference unknown config flag
drivers: clock_control: stm32: Remove unsupported clock configuration
boards: disco_l475_iot1: Remove used pinmux configuration
arch: stm32: Remove unsupported MPU options
drivers/ethernet: stm32: Don't exit driver init on HAL timeout
codeowner: Fix wildcard issue for arch/arm/soc/st_stm32/
dts/bindings: Remove superfluous property definition
arch: stm32: Fix inclusion of SPI headers
Gil Pitney (4):
boards: cc3220sf_launchxl: Make cc3220sf XIP by default
boards: cc3220sf_launchxl: Enable standard flash/debug build targets
boards: cc3220sf_launchxl: Update board documentation for flash/debug
boards: cc3220sf_launchxl: Fix documentation links
Ilya Tagunov (5):
drivers: serial: stm32: remove HAL driver legacy
drivers: serial: stm32: rework macros and fixups
drivers: serial: stm32: enable LBD only for UARTs with LIN support
drivers: serial: stm32: add LPUART support for L0/L4 series
arch: arm: soc: stm32l0: add LPUART1 pinmux options
Inaky Perez-Gonzalez (1):
tests: unfold nffs_fs_api
Ioannis Glaropoulos (8):
misc: improve description of BOOTLOADER_SRAM_SIZE
arch: arm: fix fault status register bitfield masks
test: kernel: remove workaround for arm_mpu (keep for nxp_mpu)
arch: arm: document non-returning fatal handlers
arch: arm: refactor FAULT_DUMP to retrieve the fatal error reason
arch: arm: refactor default _FaultDump to provide fatal error code
arch: arm: remove redundant ifdef check
arch: arm: fix undefined variable bug
Joakim Andersson (1):
doc: Update description of BT_RECV_IS_RX_THREAD.
Johan Hedberg (3):
Bluetooth: Mesh: Fix reference to CONFIG_BT_MESH_FRIEND
Bluetooth: Remove references to non-existing Kconfig symbols
Bluetooth: Mesh: Fix build error when LPN is not enabled
Johann Fischer (3):
drivers: usb_dc_kinetis: fix out-of-bounds write/read
net: rpl: fix null pointer dereference
usb: function_eem: fix eem_read_cb
Jukka Rissanen (9):
net: Too long timeout was passed to k_sleep
samples: net: Fix VLAN tag name in prj.conf file
tests: net: arp: Check NULL in unicast test
samples: net: zperf: Remove config files for Galileo board
net: Fix dependency to offload driver in Kconfig
doc: Add networking information to 1.12 release note
net: Too long timeout for k_sleep
net: Convert MSEC_PER_SEC to K_SECONDS()
net: Convert raw timeout values to use K_MSEC() macro
Jun Li (1):
soc: stm32f1: add port uart4
Kumar Gala (43):
arch: arm: kw41z: Set DTS fixup for CONFIG_RTC_0_NAME
samples: xtensa_asm2: Cleanup stray IS_TEST reference
tests: net: all: Fix COAP enablement in prj.conf
drivers: net: loopback: Fix setting of SYS_LOG_LEVEL
newlib: Fix typo in Kconfig related to NEWLIB_L...
Zephyr 1.12.0-rc1
Aapo Vienamo (11):
scripts: nrfjprog.py: Add --softreset switch
dts: bindings: i2c: Add bindings for i2c_nrf5
dts: arm: nrf5: Add i2c nodes
boards: arm: nrf5: Enable i2c dts nodes for boards
soc: nrf5: Use i2c configure options generated from dts
gpio: Add a driver for SX1509B
tests: drivers: build_all: Add SX1509 GPIO test
sensors: ccs811: Deassert the reset pin with GPIO
boards: Add support for nRF52 Thingy:52 (PCA20020)
boards: arm: nrf52_pca20020: Add board documentation
gpio: nrf5: Make the init priority configurable
Adithya Baglody (23):
tests: mbox: mbox_api: Added required kconfigs to test obj tracing
tests: mbox: mbox_api: Added new test cases.
tests: mbox: mbox_api: Disable execution on RAM constrained devices.
tests: Kconfig: Added a new kconfig.
tests: kernel: pipe: Added new test cases for pipe.
tests: kernel: pipe_api: Run test with userspace enabled.
kernel: mem_domain: k_mem_partition is now placed in kernel memory.
tests: kernel: semaphore: Added tests for semaphore.
boards: sam_e70_xplained: Enable userspace
tests: kernel: mem_protect: tests for userspace mode.
x86: minnowboard: Add support for enabling MMU
x86: linker: Maintain 4K alignment for application memory.
x86: minnowboard: Enable the userspace mode
soc: sam_e70: Mpu regions should include SRAM regions.
cmake: extensions: Added a new macro zephyr_library_ifdef
kernel: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for kernel files.
arch: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for arch files.
drivers: Cmake: Add __ZEPHYR_SUPERVISOR__ macro for driver files.
tests: Kconfig: Added a new Kconfig for qemu_x86
linker-defs: Increase the number of kernel objects
kernel: thread: Move out the function _thread_entry() to lib
tests: drivers: build_all: Ensure correct builds.
tests: subsys: fs: Enable proper configuration for qemu_x86.
Ajay Kishore (2):
tests: kernel: Add description for test cases
tests: kernel: Add description for test cases
Alberto Escolar Piedras (7):
entropy: nrf5x remove unnecessary header
native: doc eth TAP: can only be compiled in Unix
native doc: minor improvement in ethernet driver
POSIX arch: Fix linker -T warning
sanitycheck: Stop on linker warnings also in native_posix
tests kernel pending: unitialized variable
native: entropy: warn of security risk
Alexander Wachter (7):
API: can: Add API for Controller Area Network driver
drivers: can: Add Kconfig for CAN driver
drivers: can: Add syscall handlers for CAN API
drivers: can: Add dts bindings for CAN
drivers: can: Add CAN driver support for STM32
boards: stm: Add CAN support for stm32f072b micro controller
samples: can: Add example code for CAN driver
Anas Nashif (113):
doc: add test coverage and proposal policy
lib: move ring_buffer Kconfig to lib/, cleanup lib/Kconfig
kernel: smp: group SMP options in Kconfig file
kernel: kconfig: reorg kernel Kconfig a bit
debug: fix RTT console Kconfig
Revert "sanitycheck: Default to using Ninja"
kernel: api: fix doxygen group ending
doc: kernel: capitalize Fifo/Lifo
doc: do not show undocumented members
kernel: api: mark internal functions as such
doc: http: add HTTP APIs to net group
boards: delete arduino_101_ble board
drivers: timer: remove unkown jira ID
cleanup: replace old jira numbers with GH issues
ci: update docker image
samples: fix sample yaml file syntax
tests: ztest: test_main takes no arguments
scripts: cleanup scripts directory
sanitycheck: do not always dump footprint statistics
sanitycheck: do not call cmake twice on run
sanitycheck: do not create overlays for filtered platforms
sanitycheck: simplify logic of build_only/enable_slow checking
sanitycheck: add option to list all available tags
tests: context: rename main test
tests: context: use ztest macros
tests: mutex: rename main test function
tests: rename test -> main.c
tests: kernel: use a consistent test suite name
tests: tags should not be required
tests: add missing harness support
tests: mbedtls_sslclient: fix filtering and default conf
tests: enhance test filtering for net tests
tests: mqtt: fix dependencies
tests: xip: cleanup test
tests: classify tests
tests: posix: fix tags and sections
tests: classify periphera tests
qemu_xtensa: ignore net and bluetooth tests
tests: classify net tests and cleanup
tests: ipv6: cleanup tests
tests: base64: do not exclude newlib
tests: net: context: simplify filtering
tests: cleanup meta-data of various tests
boards: native_posix: mark netif as supported
boards: fix yaml syntax and reduce indentation
boards: reduce testing on the same platform with variations
boards: test networking only in one qemu type
samples: sample.yaml cleanup
tests: cleanup subsystem tests meta-data
samples: power_mgr: add harnesss configuration
tests: net: checksum_offload: exclude native [REVERTME]
build: use git version and hash for boot banner
license: fix spdx identifier in a few files
CODEOWNERS: update owners
tests: kernel: style, tag, and category fixes
tests: use consistent test function names
tests: net: style, tag, and category fixes
tests: crypto: style, tag, and category fixes
tests: posix: style, tag, and category fixes
tests: ztest: style, tag and category fixes
tests: posix: mqueue remove extra printk
tests: stackprot: move to ztest
ztest: support skipping tests
sanitycheck: parse test cases from source files
tests: allow unsupported tests to be skipped
sanitycheck: support listing test cases
tests: fix meta data of peripheral tests
tests: mem_prot: skip unsupported tests
ztest: fix result checking
build: simplify git describe call
toolchain: update xtools config
tests: irq_offload: document test functions
tests: critical: document test functions
tests: errno: document test functions
tests: fixed doxygen comments
samples: enhance integration sample and document it
tests/samples: add hw dependencies
samples: remove stray config
tests: remove comma from whitelist
tests: document skipping tests and listing them
tests: enhance test meta-data/improve test naming
tests: neighbor: use ztest asserts
tests: http: call tests via ztest macro
tests: ipv6: convert to ztest
tests: flash_map: use proper test name
tests: integration: do not run test on hw
tests: remove duplicate tests
tests: rename main test to main.c
tests: fix doxygen comments
tests: alert: add doxygen documentation
doc: process test documentation
CODEOWNERS: add more owners to tests/*
CODEOWNERS: more fix and and updates
sanitycheck: device handler, allow running tests on real hw
sanitycheck: parse test results and create detailed report
sanitycheck: cleanup handler class
sanitycheck: simplify argument passing and use global options
tests: remove dot after PASS|FAIL
sanitycheck: do not count duplicate tests
sanitycheck: support skipped tests, enhance device handler
ci: remove pyserial install
sanitycheck: we need pyserial for sanitycheck
checkpatch: downgrade COMPLEX_MACRO to a warning
tests: doxygen comment cleanup
ci: use new docker file with new SDK
CODEOWNERS: fix path syntax
boards: frdm_kw41z: enable xoroshiro on board level only
doc: update mac instructions
samples: leds_demo: depend on netif and gpio
boards: minnowboard: do not run net/bluetooth tests
doc: Update Zephyr SDK version
tests: common: fixed pointer formatting
doc: tests: remove obsolete and bogus test groups
Andrei Emeltchenko (49):
usb: cdc_acm: Fix typo
usb: cdc_acm: Fix write when USB writes only chunk
usb: cdc_acm: yield in the waiting loop
Bluetooth: hci_usb: Simplify write function
usb: Remove USB VID / PID for sanity check builds
tests: Add USB HID composite test
usb: hid: Fix setting report size for composite configuration
usb: sample: Add support for composite configuration for HID
usb: Add multifunction composite build test
usb: Remove duplicated CDC_ECM_SUBCLASS definition
usb: Remove duplicated ACM_SUBCLASS definition
wpanusb: Assign USB Product ID to 802.15.4 over USB
wpanusb: Remove unneeded configuration option
wpanusb: Remove old hardcoded VID / PID
wpanusb: Use DEBUG syslog level
Bluetooth: hci_usb: Use USB Device defined VID / PID
usb: dfu: Use USB Device defined VID / PID
doc: usb: Move USB sections to USB Stack
doc: Make code consistent lowering case
doc: Add USB documentation identifiers and links
usb: usb_dc_dw: Fix incorrect MPS return
usb: Add BOS Descriptors
usb: Add sys_cpu_to_le16() conversion for USB field
usb: Add subsys/usb for device descriptor header
usb: mass_storage: Use simpler header include
usb: Add Bluetooth USB Device configuration options
usb: Add Bluetooth device decriptors
usb: Add Bluetooth device class core functionality
usb: Use new USB Device interface for Bluetooth over USB sample
usb: hci_usb: Fix test name
u...
Zephyr v1.11.0
We are pleased to announce the release of Zephyr kernel version 1.11.0.
Major enhancements with this release include:
- Thread-level memory protection on x86, ARC and Arm, userspace and memory
domains - Symmetric Multi Processing (SMP) support on the Xtensa architecture.
- Initial Armv8-M architecture support.
- Native development environment on Microsoft Windows.
- Native build target on POSIX platforms.
- POSIX PSE52 partial support.
- Thread support via integration with OpenThread.
- Firmware over-the-air (FOTA) updates over BLE using MCUmgr.
- Lightweight flash storage layer for constrained devices.
- Additional SoC, platform and driver support for many of the already supported
platforms.
The following sections provide detailed lists of changes by component.
Kernel
-
Initial Symmetric Multi Processing (SMP) support added:
- SMP-aware scheduler
- SMP timer and idling support
- Available on the Xtensa architecture
-
POSIX PSE52 support:
- Timer, clock, scheduler and pthread APIs
Architectures
-
User space and system call related changes:
- Added ARC user space implementation
- Added Arm user space implementation
- Fixed a few MPU related issues with stack guards
-
Armv8-M initial architecture support, including the following cores:
- Arm Cortex-M23
- Arm Cortex-M33
-
New POSIX architecture for native GNU/Linux and macOS build targets:
- Targets native executables that can be run on the host operating system
Boards
-
New native_posix board for the POSIX architecture:
- Includes a template for hardware models
- Adds support for console and logging
- Interrupts and timers are simulated in several different configurations
-
Added support for the following Arm boards:
- adafruit_trinket_m0
- arduino_zero
- lpcxpresso54114
- nrf52_sparkfun
- nucleo_f429zi
- stm32f072_eval
- stm32f072b_disco
-
Removed Panther board support, which included boards/x86/panther and
boards/arc/panther_ss -
Refactored dts.fixup so common SoC-related fixes are in arch/<*>/soc
and board dts.fixup is only used for board-specific items.
Drivers and Sensors
- New LED PWM driver for ESP32 SoC
- Fixed ESP32 I2C driver
- Added I2C master, QSPI flash, and GPIO drivers for nios-II
- Added PinMux, GPIO, serial drivers for LPC54114
- Added PinMux, GPIO, serial, SPI, and watchdog drivers for sam0
- Added APA102 and WS2821B led_strip drivers
- Added native entropy driver
- Moved some sensors to dts
- Added AMG88xx, CCS811, and VL53L0x sensor drivers
- Redefined SENSOR_CHAN_HUMIDITY in percent
Networking
- Generic OpenThread support added
- OpenThread support to nRF5 IEEE 802.15.4 driver added
- NXP MCUX ethernet driver IPv6 multicast join/leave enhancements
- Ethernet STM32 fixes
- IEEE 802.15.4 Sub-GHz TI CC1200 chip support added
- IEEE 802.15.4 test driver (upipe) hw filtering support added
- IEEE 802.15.4 radio API enhancements
- Net loopback driver fixes
- Net management API event enhancements
- IPv6 neighbor addition and removal can be monitored
- Static IPv4 and DHCPv4 configuration enhancements
- Bluetooth IPSP disconnect fix
- Network buffer enhancements
- ICMPv4 and ICMPv6 error checking fixes
- Network interface address handling enhancements
- Add routing support between network interfaces
- LWM2M fixes and enhancements
- Old legacy HTTP API removed
- Old legacy ZoAP API removed
- CoAP fixes
- TCP fixes
- HTTP fixes
- RPL fixes
- Net-app API fixes
- Net-shell fixes
- BSD socket API fixes
Bluetooth
- Multiple fixes to the controller
- Fixed potential connection transmission deadlock issue with the help
of a dedicated fragment pool - Multiple fixes to Mesh support
- Added test automation for Mesh (for tests/bluetooth/tester)
Build and Infrastructure
-
Native development environment on Microsoft Windows:
- Uses CMake and Kconfiglib to avoid requiring an emulation layer
- Package management support with Chocolatey for simple setup
- Build time now comparable to Linux and macOS using Ninja
Libraries / Subsystems
-
New management subsystem based on the cross-RTOS MCUmgr:
- Secure Firmware Updates over BLE and serial
- Support for file system access and statistics
- mcumgr cross-platform command-line tool
-
FCB (File Circular Buffer) lightweight storage layer:
- Wear-leveling support for NOR flashes
- Suitable for memory constrained devices
HALs
- Updated Arm CMSIS from version 4.5.0 to 5.2.0
- Updated stm32cube stm32l4xx from version 1.9.0 to 1.10.0
- Updated stm32cube stm32f4xx from version 1.16.0 to 1.18.0
- Added Atmel SAMD21 HAL
- Added mcux 2.2.1 for LPC54114
- Added HAL for VL53L0x sensor from STM
- Imported and moved to nRFx 0.8.0 on Nordic SoCs
- Added QSPI Controller HAL driver
Documentation
- Added MPU specific stack and userspace documentation
- Improved docs for Native (POSIX) support
- Docs for new samples and supported board
- General documentation clarifications and improvements
- Identify daily-built master-branch docs as "Latest" version
- Addressed Sphinx-generated intra-page link issues
- Updated doc generation tools (Doxygen, Sphinx, Breathe, Docutils)
Tests and Samples
- Added additional tests and test improvements for user space testing
Issue Related Items
These GitHub issues were addressed since the previous 1.10.0 tagged
release:
.. comment List derived from GitHub Issue query: ...
- :github:
1082
- build all tests have issues for devices that don't exist on a given board - :github:
1281
- spi_ll_stm32 driver does not support stm32f1soc - :github:
1291
- Initial Posix PSE52 Support - :github:
1460
- 1.10 Release Checklist - :github:
1462
- rename nano_internal.h to kernel_internal.h - :github:
1526
- Bluetooth:mesh:prov_start: Invalid authentication - :github:
1532
- There are no RISC-V boards in the list of supported boards - :github:
1727
- Support out-of-tree board definitions - :github:
1793
- I2S device APIs and Drivers - :github:
1868
- Build System cleanup and Kernel / Application build separation - :github:
1877
- Provide single point of notification for new data on multiple sockets. - :github:
1890
- Memory Management - :github:
1891
- Native Port - :github:
1892
- NFC Stack - :github:
1893
- Unified Kernel - :github:
1921
- Bluetooth LE 4.2 Hardware Support - :github:
1926
- build system does not re-link if linker script changed - :github:
1930
- bluetooth tester shall support logging on Arduino101 - :github:
2007
- C++ compiler flags are not managed correctly - :github:
2072
- create abstraction layer to directly use Altera HAL drivers for Nios II IP blocks - :github:
2107
- handle configuration changes with more code coverage - :github:
2239
- sporadic illegal instruction exception on Nios II in test_errno - :github:
2244
- LE Controller: remove util folder - :github:
2280
- Move defaults.tc and .known-issue under tests/ - :github:
2347
- Thread Protocol v1.1 Dependencies on the IP Stack - :github:
2365
- Port IOT Protocols to the new IP Stack - :github:
2477
- no unit tests exist for CONFIG_DEBUG_INFO - :github:
2620
- object files created outside of $O directory when obj-XYZ path is relative - :github:
2722
- QEMU NIOS2 sporadic FAIL in tests/legacy/kernel/test_timer/nanokernel - :github:
2760
- Implement Virtual USB ethernet Adapter support - :github:
2819
- legacy/kernel/test_task_priv randomly fails on EMSK ARC - :github:
2889
- [ARC] legacy/benchmark/latency_measure not measuring RIRQ/FIRQ - :github:
2891
- implement _tsc_read equivalent for all architectures - :github:
2912
- Develop Guideline for Handling Configuration Changes with More Code Coverage - :github:
2937
- Thread-level Memory Protection Support - :github:
2939
- Add Xtensa Port - :github:
2943
- Support for the KW22D512 Kinetis MCU based USB Dongle - :github:
2971
- I2C High-Speed Mode is not implemented - :github:
2994
- The build system crashes when GCCARMEMB_TOOLCHAIN_PATH has a space in it - :github:
3069
- XML encoding/decoding library - :github:
3081
- Concise Binary Object Representation (CBOR) - :github:
3083
- I2C problem Zephyr OS sensor example on NRF51 and F401re - :github:
3127
- IP stack does not implement multicasting requirements of IPv6 RFCs and network driver model lacks features to implement it properly - :github:
3240
- Unnecessary code footprint bloat due to "static inline" - :github:
3279
- Reclaiming Memory - :github:
3283
- Split net_buf parsing context from the actual data - :github:
3302
- samples/subsys/logging/logger-hook needs to be a test case - :github:
3308
- [TAHI] No "ICMPv6 error message" is received while sending echo request with parameter problem header - :github:
3316
- [IPv6 TAHI] Section 1: RFC 2460 - IPv6 Specification - :github:
3317
- [IPv6 TAHI]Section 4: RFC 1981 - Path MTU Discovery for IPv6 - :github:
3318
- [IPv6 TAHI]Section 5: RFC 4443 - ICMPv6 - :github:
3322
- [IPv6 TAHI] Section 3: RFC 4862 - IPv6 Stateless Address Autoconfiguration - :github:
3323
- [IPv6 TAHI] Section 2: RFC 4861 - Neighbor Discovery for IPv6 - :github:
3329
- Build warnings [-Wpointer-sign] with LLVM/icx (bluetooth_ipsp) - :github:
3345
- Missing board documentation for riscv32/zedboard_pulpino - :github:
3346
- Missing board documentation for riscv32/qemu_riscv32 - :github:
3351
- Missing board documentation for arm/bbc_microbit board - :github:
3352
- Missing board documentation for arm/nrf51_blenano - :github:
3439
- IP stack: No MTU handling on send() - :github:
3440
- IP stack: No TCP receive window handling - :github:
3483
- Unify STM32...
Zephyr v1.11.0-rc3
Aapo Vienamo (2):
sensors: css811: Use HAS_DTS_I2C_DEVICE in Kconfig
drivers: sensor: ccs811: Fix value conversion
Anas Nashif (9):
codeowners: add additional owners for riscv32
CODEOWNERS: minor cleanup
tests: posix: rwlock: add more tests
tests: move posix layer tests out of kernel
tests: posix: fix test names in yaml
posix: sem_init accepts zero value
tests: posix: add negative testing for semaphore
tests: pthread: use posix semaphore
tests: remove duplicate pthread test
Andrew Boie (1):
arch: x86: fix integer stub comments
Andrzej Puzdrowski (4):
test: subsys: storage: flash_map: fix test of get sectors API
subsys: storage: flash_map: Fix Coverity issues
subsys: storage: flash_map: enable only if any flash driver is enable
drivers: flash: move FLASH_HAS_PAGE_LAYOUT Kconfig from arch
Andy Ross (3):
xtensa/asm2: Fix stack pointer during preemption spills
xtensa/asm2: Save shift/loop registers on exception entry
tests/crypto/mbedtls: Disable CONFIG_FORCE_NO_ASSERT
Carles Cufi (3):
doc: release notes: Add major 1.11 features
Bluetooth: controller: Generate LE Conn Complete on cancellation
release: move version to 1.11.0-rc3
David B. Kinder (3):
doc: add 1.11 links for docs and release notes
doc: add version info on Latest docs
doc: release notes: fix spelling and formatting
Erwan Gouriou (6):
ext/hal: stm32cube: Update STM32F0 README file
ext/hal: stm32cube: Update STM32F1 README file
ext/hal: stm32cube: Update STM32F3 README file
ext/hal: stm32cube: Update STM32F4 README file
ext/hal: stm32cube: Update STM32F7 README file
ext/hal: stm32cube: Update STM32L4 README file
Ioannis Glaropoulos (2):
arch: arm: remove redundant dependence on ARM_CORE_MPU
arch: arm: fix bug in escalted HF dump
Johan Hedberg (3):
samples: bluetooth: mesh: Add basic documentation
Bluetooth: Mesh: Switch to using Linux Foundation Company ID
doc: release notes: Add Bluetooth changes for 1.11 release
Kumar Gala (7):
kernel: mem_domain: Fix compile issues
arch: arm: Add one hardware platform to default testing
samples: sensor: ccs811: Add dummy dts.fixup so we can always build
tests: fatal: Fix incorrect filter on kernel.fatal.stack_protection
doc: release notes: Add board related release notes
drivers: sensor: lsm6ds0: Fix assert logical error
doc: release notes: add HAL section related updates
Leandro Pereira (2):
soc: esp32: Enable building with newer ESP-IDF
doc: release notes: Add notes for ESP32 SoCs
Luiz Augusto von Dentz (1):
Bluetooth: GATT: Fix possible crash while resubscribing
Mariusz Skamra (2):
Bluetooth: Add missing check prior sending LE Set Privacy Mode cmd
Bluetooth: Fix available LPN groups count
Maureen Helm (2):
CODEOWNERS: Update entries for nxp soc families, boards, and drivers
doc: release notes: Add driver and sensor changes for 1.11 release
Niranjhana N (1):
tests: kernel: posix: stop relying on path for naming
Paul Sokolovsky (3):
net: sockets: Fix mask application in sock_set_flag()
net: sockets: zsock_accepted_cb: Init child socket on success only
net: sockets: Preserve user_data for any net_context send() or recv()
Punit Vara (3):
kernel: Remove unnecessary old code
kernel: Add posix API for semaphore
tests: add semaphore posix API test
Ramakrishna Pallala (2):
tests: kernel: Add a test to verify early sleep
drivers: flash: Fix Nios-II QSPI flash Coverity issue
Ravi kumar Veeramally (1):
net: http: Provide destination address in http replies
Reto Schneider (1):
boards: olimex stm32-e407: Fix pin number of RESET
Wayne Ren (5):
scripts: bug fixes in arc.py for make flash
boards: em_starterkit: fix the mpu regions definition
boards: em_starterkit: fix the board default config
arch: arc: bug fixes in arc mpu driver
arch: arc: fix the bug of context switch in interrupt
Youvedeep Singh (7):
kernel: POSIX: Compatibility layer for POSIX read-write lock APIs.
tests: kernel: posix: pthread_rwlock: POSIX rw lock test.
tests: posix: pthread_rwlock: Added more APIs in test.
kernel: POSIX: correcting time calculation in timer_gettime.
tests: posix: timer: Added some APIs in test.
kernel: pthread: correcting pthread_setschedparam.
tests: posix: pthread_cancel: Added some APIs in test.
Zephyr 1.11.0-rc2
Aapo Vienamo (1):
drivers: i2c: nrf5: Make the driver thread-safe
Alberto Escolar Piedras (6):
native: added more proper command line parameters parsing
native: added entropy device
samples: drivers/entropy fixes
bluetooth: controller: last radio hal changes for simulation
native: doc: command line related improvements
bluetooth: controller: nrf5: fix to IC-specific reset function
Anas Nashif (1):
tests: slab: fix dead code
Andrei Emeltchenko (3):
net: Exit early on zero length packet append
usb: msc: Fix USB write check
usb: msc: Cleanup USB write
Andy Gross (1):
doc: release notes: Add security notes
Carles Cufi (2):
bluetooth: controller: nrf5: Add IC-specific reset function
Bluetooth: controller: Default to the LF Company ID
David B. Kinder (5):
doc: fix broken link in contributing guidelines
doc: fix misspellings in XTENSA Kconfig
doc: fix misspellings in docs
doc: remove use of sphinx autodoc extension
doc: release notes: documentation
Holman Greenhand (1):
timer: cortex_m: Fix the discontinuous readings of the cycle counter.
Ioannis Glaropoulos (2):
cmake: indicate single precision floating-point for Cortex-M33
arch: arm: correct fault address logging
Johan Hedberg (2):
drivers: led_strip: Add driver for software-based WS2812B operation
samples: led_strip: Extend ws2812 sample with ws2812b_sw support
Johannes Hutter (1):
Bluetooth: Add HCI error code definitions
Jonas Pfaff (1):
boards: arm: same70: Add mcuboot flash partitions to dts
Jukka Rissanen (1):
doc: Add networking information to 1.11 release note
Justin Watson (1):
codeowners: Add fallrisk as codeowner of SOC SAM4S
Kumar Gala (8):
cmake: Move SOC_* var defines to cmake/app/boilerplate.cmake
cmake: dts.cmake: Use SOC_PATH to find soc/dts.fixup
dts: quark_se_c1000_ss: Refactor dts.fixup into arch/arc/soc
dts: quark_se: Refactor SoC dts.fixup into arch/x86/soc/intel_quark/<SOC>
dts: ia32: Refactor SoC dts.fixup into arch/x86/soc/ia32
dts: x86/atom: Refactor SoC dts.fixup into arch/x86/soc/atom
dts: arm: Refactor SoC dts.fixup into arch/arm/soc
cmake: dts: Fix usage of BOARD vs BOARD_FAMILY
Leandro Pereira (13):
kernel: mem_domain: Check for overlapping regions when considering W^X
kernel: mem_domain: Use u8_t for number of partitions in struct
net: 6lo: Do not try compressing IPHC header if not set
net: ip: dhcpv4: Do not try to write to NULL pointer on failure
net: ipv6: net_icmpv6_get_na_hdr() may return NULL
net: ipv6: Remove unused net_ipv6_get_nbr_by_index()
net: ipv6: net_icmpv6_get_ns_hdr() may return NULL
net: ipv6: net_icmpv6_get_ra_hdr() may return NULL
net: ieee802154: net_udp_get_hdr() might return NULL
net: net_pkt: A net_context might have no interface
net: route: Do not dereference NULL pointer while getting next hop
net: net_app: Close packet if couldn't skip TLS header
net: sockets: Do not reference NULL pointer with empty frags on start
Mariusz Skamra (1):
Bluetooth: Workaround privacy feature issue
Marti Bolivar (5):
doc: flash_partitions: rework
doc: application: re-work DT overlay section
dts: common.dts: trivial whitespace cleanup
boards: dts: replace comments with links to documentation
boards: delete misleading comments in flash partitions
Michael Hope (2):
slip: fix a bug when in non-TAP mode.
netusb: drop the extra byte added for multiple-of-64-byte packets.
Michael Scott (6):
net: http: client: handle empty body for PUT/POST request response
net: http: honor CONFIG_HTTP_CLIENT_NETWORK_TIMEOUT setting
net: http: fix flush in http_prepare_and_send()
net: http: dont add CRLF to protocol in http_client_send_get_req()
net: http: client: remove payload send_chunk logic
net: context: fix semaphore for offload in in net_context_put()
Niranjhana N (6):
tests: kernel: posix: add ztest to POSIX clock
tests: kernel: posix: add ztest to pthread
tests: kernel: posix: add ztest to pthread_cancel
tests: kernel: posix: add ztest to pthread_join
tests: kernel: posix: add ztest to timer
tests: kernel: posix: add pthread tests
Paul Sokolovsky (3):
net: app: Move mbedTLS debug log level config to mbedTLS Kconfig
samples: sockets: echo: Better error and short write handling
samples: net: echo_async: Better error and write handling
Philémon Jaermann (1):
drivers: sensors: Enable LSM6DS0 GYRO sampling rate
Ruslan Mstoi (4):
drivers: console: Fix crash in shell
net: ipv6: Drop ICMPv6 packet if NA header is NULL
net: ipv6: Drop ICMPv6 NS if neighbor table is full
net: ipv6: Ignore reachable time greater than maximum
Savinay Dharmappa (1):
subsys: kernel_event_logger: change kernel event values
Sebastian Bøe (3):
cmake: Find out earlier whether ccache is to be used or not
openthread: Use ccache when enabled
stm32cube: cmake: Pure refactoring of build script
Spoorthi K (1):
tests: kernel: Verify the call to abort handler
Tomasz Bursztyka (2):
net/mgmt: Fix how event_mask is handled on layer and layer code part
net/mgmt: Protect the event_callback list when manipulating it.
Vinayak Kariappa Chettimada (1):
Bluetooth: controller: Fix missing advDelay in Low Duty Cycle Directed
Vitor Massaru Iha (2):
drivers: pwm: Add PWM LED driver for ESP32
samples: basic: fade_led: Update sample to work with ESP32
Yannis Damigos (1):
boards/arm/nucleo_l476rg: Fix usart1 node
Youvedeep Singh (1):
kernel: POSIX: correcting default thread prio & policy in attr.
Zephyr v1.11.0-rc1
Aapo Vienamo (2):
drivers: i2c: nrf5: Fix SDA pin naming
drivers: i2c: nrf5: Make pins for Port 1 configurable
Adithya Baglody (15):
x86: quark_d2000: ISR stack size was no longer sufficient.
boards: quark_d2000: openocd: Fixed load image command for D2000.
kernel: userspace: Fixed the issue of handlers getting dropped by linker
kernel: mem_domain: Add arch specfic destroy for remove thread API.
kernel: mem_domain: Add an arch interface to configure memory domain
kernel: mem_domain: Add to current thread should configure immediately.
tests: kernel: fatal: x86: Fixed the issue with stack alignment.
ztest: cleanup phase should reset the timeout queue.
tests: x86_mmu_api: Fixed testcase crash.
kernel: thread: Repeated thread abort crashes.
tests: abort: Testcase for repeated thread abort
ztest: cleanup phase should reset the timeout queue.
userspace: ARM: Fixed Kconfig for ARM_USERSPACE
cmake: kobject: Fixed kobject text area overflow for optimization 0
tests: pipe: pipe_api: Converted pipe test cases to run in usermode.
Alberto Escolar Piedras (56):
arch: native: Run Zephyr natively in a POSIX OS
native: test timestamp_serialize for POSIX
tests: benchmark: fix for too fast archs
tests: kernel/context posix arch support
test: kernel/fatal changes for POSIX
native: test: exit as soon as test is done
test: sprintf fix for POSIX arch
test: workq : fix for native arch
tests: kernel/common : fix for native
test: kernel/tickless fix for native
test: sleep: fix for posix arch
test: timer use k_busy_wait()
test: kernel/critical fix for posix arch
tests: kernel/threads/scheduling fix for native arch
native: blacklisted 3 testcases
native: Handle gracefully SIGTERM and SIGINT
tests: bluetooth/bluetooth can also be run in native_posix
native: Accept command line arguments
native: native_posix doc improvements
sanitycheck: Allow pre/postfixes in tests stdout
tests: driver/ipm blacklist for POSIX arch
tests: kernel/context support other posix boards
tests: bluetooth/bluetooth fix for boards with a controller
native: don't slow down tests
native: documentation improvements
native: fixed configuration warning
native: Corrected board name in config short description
native: nrf52 changes to HAL to support running on simulated HW
native: minor consistency rename
native: doc fix regarding ztest not stopping
sanitycheck: fix crashes with symlinks in path
native: arch: added recommended stack size config
native: added stdin handling for shell
test: shell: native_posix also supports shell
shell: Added noprompt command
native: doc: typo in figure
build: Added CONFIG_NO_OPTIMIZATIONS
CI: preprocess coverage with lcov for codecov.io
native: POSIX arch: Exclude unlikely code from coverage
native: SOC: exclude unlikely code from coverage
native test: End tests as soon as they pass fail
native: exclude from coverage not coverable code
native: added posix_get_hw_cycle()
native: native_posix timer + irq fix
test: sha256 can also be run in native_posix
test: kernel/common added note about systick period
test: bugfix kernel/tickless/tickless_concept
test: run benchmark/boot_time also in native_posix
tests: run tests/kernel/tickless also in ARCH_POSIX
native: coverage exclusions
native: timer bugfix in tickless mode part
CI: also generate coverage for unit tests
doc: Sanitycheck command line options fixup
sanitycheck: better coverage report generation
native: __ASSERT() to immediately terminate
CODEOWNERS: added entry for POSIX arch & native_posix board
Anas Nashif (244):
kconfig: stack_usage: remove extra space
kconfig: remove deprecated DEBUG_TRACING_KERNEL_OBJECTS
kernel: sys_clock: remove obsolete and unused functions
kernel: threads: remove thread groups
kernel: remove reference to legacy_timer.c in build system
doc: fix version parsing
boards: fix board yaml syntax
tests/samples: fixed yaml syntax
sanitycheck: refactor data parsing in script
sanitycheck: flake8 fixes and move closer to pep8
sanitycheck: use test instead of section
sanitycheck: reworked Platform/Architecture classes
sanitycheck: remove platform-level option
sanitycheck: we do not need to pass ARCH= on command line
sanitycheck: descriptive variable names
sanitycheck: remove usage of qemu for generic handlers
sanitycheck: disable expr parser debug
sanitycheck: allow placing parsetab.py in a custom dir
sanitycheck: adapt testcase documentation
doc: add __init__.py for python2 compatibility
kconfig: fix help syntax and add spaces
samples: mesh/onoff-app: fix sample.yaml syntax
tests/booting/stub: disable banner
boards: remove panther board
lib: move crc from drivers to lib/
lib: move ring_buffer from misc/ to lib/
gitlint: do not complain about hard tabs in body
cmake: replace @ in path with _
kernel: support custom k_busy_wait()
libc: some architectures do not require baremetal libc
kconfig: move ARCH_HAS_THREAD_ABORT to arch level
cmake: add zephyr_link_libraries_ifdef
arch: architecture defines kernel entry
kernel: move posix header to posix/
board: posix: add native_posix board definition
cmake: support other emulation platforms/runners
posix: native: support native runner
cmake: cleanup qemu runner configuration
native: build zephyr.exe for posix arch
native: build .exe files for posix arch
testing: add option to generate coverage reports
tests: crypto: fix call to memset
posix: enable benchmarks for other architectures
sanitycheck: support native build with *.exe extension
sanitycheck: add native handler
sanitycheck: work around linking posix port
ci: generate code coverage report
tests: move aio sample to tests
tests: rename AIO api test
build: remove stray CMakeLists.txt
tests: dma: use depends_on to whitelist platforms
tests: remove standalone enc28j60 build test
tests: add a new harness keyword to schema
tests: gpio: make test depend on gpio capability
boards: add supported features
sanitycheck: harness support
tests: i2c: make test depend on i2c
tests: integrate nsim test in build test
tests: ipm: fix testcase tags
tests: pci: fix tags
tests: pinmux: depend on pinmux and support harness
samples: pwm: depend on boards supporting PWM
tests: pwm: fix dependencies and use depends_on
tests: integrate quark clock test in build test
tests: rtc: fix dependencies
tests: uart: fixed filtering and make test global
tests: kernel: move build test out of kernel
samples: apds9960: remove arc related configs
samples: apds9960: fix dependencies
samples: bme280: fix dependencies and test cleanup
samples: bmg160: fix dependencies and test cleanup
samples: bmi150: fix dependencies and test cleanup
samples: fxas21002: fix dependencies and test cleanup
samples: fxos8700: fix dependencies and test cleanup
samples: hts221: fix dependencies and test cleanup
samples: magn_polling: fix dependencies and test cleanup
samples: bmi160: fix dependencies and test cleanup
samples: max30101: fix dependencies and test cleanup
samples: mcp9808: fix dependencies and test cleanup
samples: sx9500: fix dependencies and test cleanup
samples: TH02: fix dependencies and test cleanup
samples: TMP112: fix dependencies and test cleanup
samples: rtc: fix dependencies and test cleanup
samples: watchdog: fix dependencies and sample cleanup
tests: benchmark: rename default .conf file
tests: move gdb_server to test_build
samples: bluetooth and net samples need test setup
samples: entropy: filter based on HW capabilities
samples: crypto: remove build_only and sample cleanup
samples: drivers: remove build_only flag
samples: remove build_only from various samples
samples: remove more build_only tags
tests: remove build_only option
tests: gdb server is build_only
tests: timer_api: remove build_only, exclude arches
net: remove zoap library
sanitycheck: declare command line options global
sanitycheck: use global command line options variable
sanitycheck: support ninja builder
sanitycheck: remove unused map
sanitycheck: encode logs correctly
ci: upload coverage data to codecov.io
ci: add .codecov.yml for codecov.io configuration
ci: coverage: do not parse boards without coverage
tests: coverage depends on native applications
coverage: build with -O0 to get more information
scripts: python: cleanup script and fix PEP8 issues
script: remove unused script: gcc-version.sh
kconfig: rename CONFIG_BSP_SHARED_GDT_RAM_*
tests: test sys_kernel_version_get()
kernel: version: parenthesize macro value
ci: codecov.io: ignore appending adjustments
sanitycheck: move native_posix to the top
ci: do coverage reporting only from first matrix job
doc: remove unsupported doxygen options
ci: run sanitycheck with ninja
tests: static_idt: do not include test cmake
tests: remove empty test header
tests: minor clea...
Zephyr v1.10.0
We are pleased to announce the release of Zephyr kernel version 1.10.0.
Major enhancements with this release include:
- Initial alpha-quality thread-level memory protection on x86, userspace and memory
domains - Major overhaul to the build system and a switch from Kbuild to CMake.
- Newtron Flash Filesystem (NFFS) Support
- Increased testsuite coverage and migrated majority of testcases to use ztest
- Integration with MCUBOOT Bootloader
- Additional SoC, platform and driver support for many of the already supported
platforms.
The following sections provide detailed lists of changes by component.
Kernel
-
Remove deprecated k_mem_pool_defrag code
-
Initial alpha-quality thread-level memory protection on x86, userspace and memory
domains:- Same kernel & driver APIs for kernel and user mode threads
- System calls for privilege elevation
- Stack overflow protection
- Kernel object and device driver permission tracking
- Simple app vs. kernel memory separation
- Memory domain APIs for fine-tuning memory region permissions
- Stack memory protection from other threads
-
Add the following application-facing memory domain APIs:
- k_mem_domain_init() - to initialize a memory domain
- k_mem_domain_destroy() - to destroy a memory domain
- k_mem_domain_add_partition() - to add a partition into a domain
- k_mem_domain_remove_partition() - to remove a partition from a domain
- k_mem_domain_add_thread() - to add a thread into a domain
- k_mem_domain_remove_thread() - to remove a thread from a domain
-
add k_calloc() which uses kernel heap to implement traditional calloc()
semantics. -
Introduce object validation mechanism: All system calls made from userspace,
which involve pointers to kernel objects (including device drivers), will need
to have those pointers validated; userspace must never be able to crash the
kernel by passing it garbage.
Architectures
-
nrf52: Add support for LOW_POWER state and SYSTEM_OFF
-
Architecture specific memory domain APIs added
-
Tickless Kernel Implementation for Xtensa
-
Added support for the following ARM SoCs:
- NXP i.MX RT1052
- Silabs EFM32WG
- STM F0
- TI MSP432P4xx
Boards
-
Jailhouse port: The port will enable Zephyr to run as a guest OS on x86-64
systems. It comes with a test on QEMU to validate that, thus this new board
introduction. -
Power Management for nrf52 series SOC
-
Added support for the following ARM boards:
- 96b_neonkey
- efm32wg_stk3800
- mimxrt1050_evk
- msp_exp432p401r_launchxl
- nucleo_f030r8
- nucleo_f091rc
- stm32f411e_disco
- stm32f412g_disco
- stm32l476g_disco
- usb_kw24d512
Drivers and Sensors
- timer: Add Support for TICKLESS KERNEL in xtensa_sys_timer
- Rename
random
toentropy
- Add Atmel SAM I2S (SSC) driver
- Add Atmel SAM DMA (XDMAC) driver
- Add plantower PMS7003 Driver
- Add Altera shim driver for JTAG UART soft IP
- Add Altera shim driver for timer soft IP
- Introduce mcux ccm driver
- Introduce mcux igpio shim driver
Networking
- HTTP API changed to use net-app API. Old HTTP API is deprecated.
- Loopback network interface support added. This is used in testing only.
- LWM2M multi-fragment network packet support added.
- New CoAP library implementation, supporting longer network packets.
- Deprecated ZoAP library.
- mDNS (multicast DNS) support added.
- SNTP (Simple Network Time Protocol) client library added.
- Various fixes for: TCP, RPL, ARP, DNS, LWM2M, Ethernet, net-app API, Network
shell, and BSD socket API - Network management API fixes.
- Networking sample application fixes.
- 6lo IPv6 header compression fixes.
- IEEE 802.15.4 generic fixes.
- IEEE 802.15.4 mcr20a driver fixes.
- IEEE 802.15.4 kw41z driver fixes.
- IEEE 802.15.4 nrf5 driver fixes.
Bluetooth
- Multiple qualification-related fixes for Bluetooth Mesh
- Support for Bluetooth Mesh Friend Node role
- Support for Bluetooth Mesh Foundation Client Models
- New Bluetooth Mesh shell module and test application
- Support for PA/LNA amplifiers in the BLE Controller
- Support for additional VS commands in the BLE Controller
- Multiple stability fixes for the BLE Controller
Build and Infrastructure
- The Zephyr project has migrated to CMake, an important step in a
larger effort to make Zephyr easier to use for application developers
working on different platforms with different development environment
needs. This change retains Kconfig as-is, and replaces all Makefiles
with corresponding CMakeLists.txt. The DSL-like Make language that
KBuild offers is replaced by a set of CMake extensions that provide
either simple one-to-one translations of KBuild features or introduce
new concepts that replace KBuild concepts. Please re-read the Getting
Started guide
(http://docs.zephyrproject.org/getting_started/getting_started.html)
with updated instructions for setting up and developing on your host-OS.
You will need to port your own out-of-tree scripts and Makefiles to
CMake.
Libraries / Subsystems
- The implementation for sys_rand32_get() function has been moved to a new
"random" subsystem. There are new implementations for this function, one based
in the Xoroshift128+ PRNG (using a hardware number generator to seed), and
another that obtains random numbers directly from a hardware number generator
driver. Hardware number generator drivers have been moved to a
"drivers/entropy" directory; these drivers only expose the interface provided
by include/entropy.h. - TinyCrypt updated to version 0.2.8
HALs
- Add Altera HAL for support NIOS-II boards
- Add mcux 2.3.0 for mimxrt1051 and mimxrt1052
- stm32cube: HAL/LL static library for stm32f0xx v.1.9.
- Add support for STM32 family USB driver
- Add Silabs Gecko SDK for EFM32WG SoCs
- Simplelink: Update cc32xx SDK to version 1.50.00.06
Documentation
- Missing API documentation caused by doxygen subgroups and missing
Sphinx directives now included. - Note added to all released doc pages mentioning more current content could
be available from the master branch version of the documentation. - Documentation updated to use CMake (vs. Make) in all examples, and
using a new Sphinx extension to keep examples consistent. - Getting Started Guide material updated to include CMake dependencies
and build instructions required for version 1.10. - Instead of hiding all expected warnings from the document build
process (there are some known doxygen/sphinx issues), the build
now outputs all warnings, and then reports
if any new/unexpected warnings or errors were detected. - Obsolete V1 to V2 porting material removed.
- Continued updates to documentation for new board support, new samples,
and new features. - Integration of documentation with new zephyrproject.org website.
- Documentation moved to docs.zephyrproject.org site (with redirection
from zephyrproject.org/doc)
Tests and Samples
- Benchmarking: cleanup of the benchmarking code
- Add userspace protection tests
- Move all tests to ztest and cleanup coding style and formatting
Issue Related Items
These GitHub issues were addressed since the previous 1.9.0 tagged
release:
- #779 - CI: shippable - provide some means to allow users to rebuild
- #1166 - Keeping reusable components under samples/ leads to build issues
- #1236 - Cleanup CONFIG_EXECUTION_BENCHMARKING
- #1241 - tests/net/ipv6/ FAILED on qc1000:x86
- #1242 - tests/kernel/mutex/mutex/ FAILED @ esp32
- #1256 - [cmake] A board should support multiple configurations (variants)
- #1270 - Issue : Information CC3220SF LaunchXL
- #1280 - shell on Arduino Due prints "shell>" before the delayed boot banner
- #1289 - C++ 11 support!
- #1332 - sanitycheck builds too many duplicates in CI, make it smarter
- #1392 - No module named 'elftools'
- #1397 - no serialport output
- #1415 - Problem with forcing new line in generated documentation.
- #1416 - Regression added by commit cd35742 (net/ethernet/arp: Let ethernet L2 managing pkt's reference while sending)
- #1419 - test, please ignore
- #1425 - spi.h and spi_legacy.h documentation conflicts
- #1428 - networking defines being used but not defined anywhere
- #1435 - Could not connect to Eclipse Leshan Demo Server
- #1445 - doc: groups of items in API documentation not displaying
- #1450 - make kconfig help is difficult to understand
- #1474 - tests/net/ipv6_fragment build failure, missing testcase.yaml
- #1487 - net/lib/dns doesn't respect CONFIG_NET_IPV6=n
- #1488 - Replacing Make/Kbuild with CMake
- #1499 - doc: replace Mac OS with macOS
- #1501 - doc: Fix link title
- #1510 - "make debugserver" broken for qemu_xtensa
- #1522 - "make qemu" may not regenerate .config after changes to prj.conf
- #1524 - doc: Remove "Changes from Version 1 Kernel" document
- #1527 - make htmldocs failed
- #1538 - esp32: is broken for the latest esp-idf version
- #1542 - filter-known-issues.py fails if input file is empty
- #1543 - doc: add process documentation for importing non-Apache2.0 licensed code
- #1544 - regression: net: K64F: DHCP seems to fail a lot after 91041f9
- #1558 - Master reports itself as if it was 1.9.0 release
- #1571 - Update to latest tinycrypt: v0.2.8
- #1573 - tests/net/lib/http_header_fields/ fails with CONFIG_HTTP_PARSER_STRICT enabled
- #1580 - checkpatch output in shippable log displays without line breaks
- #1581 - two tests fail in qemu_cortex_m3 with new SDK
- #1597 - remove deprecated k_mem_pool_defrag()
- #1626 - Bluetooth LE dual mode topology
- #1628 - Bluetooth LE data length extension
- #1629 - LE privacy 1.2
- #1630 - E2E tests for connection
- #1632 - Implement Environmental Sensing Profile sample app
- #1653 - enable stack canaries on ARC so we can run test_stackprot
- #1670 - A...