Skip to content

Releases: zephyrproject-rtos/zephyr

Zephyr v1.13.0-rc1

22 Aug 21:46
Compare
Choose a tag to compare
Zephyr v1.13.0-rc1 Pre-release
Pre-release
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...
Read more

Zephyr 1.12.0

11 Jun 17:27
Compare
Choose a tag to compare

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

*...

Read more

Zephyr 1.12.0-rc3

09 Jun 13:38
Compare
Choose a tag to compare
Zephyr 1.12.0-rc3 Pre-release
Pre-release
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...
Read more

Zephyr 1.12.0-rc2

29 May 23:26
Compare
Choose a tag to compare
Zephyr 1.12.0-rc2 Pre-release
Pre-release
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...
Read more

Zephyr 1.12.0-rc1

19 May 18:45
Compare
Choose a tag to compare
Zephyr 1.12.0-rc1 Pre-release
Pre-release
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...
Read more

Zephyr v1.11.0

09 Mar 22:26
Compare
Choose a tag to compare

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...
Read more

Zephyr v1.11.0-rc3

08 Mar 18:14
Compare
Choose a tag to compare
Zephyr v1.11.0-rc3 Pre-release
Pre-release
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

04 Mar 19:50
Compare
Choose a tag to compare
Zephyr 1.11.0-rc2 Pre-release
Pre-release
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

22 Feb 15:52
Compare
Choose a tag to compare
Zephyr v1.11.0-rc1 Pre-release
Pre-release
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...
Read more

Zephyr v1.10.0

08 Dec 20:34
Compare
Choose a tag to compare

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 to entropy
  • 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...
Read more