Skip to content

Releases: zephyrproject-rtos/zephyr

Zephyr 2.1.0-rc1

11 Nov 02:04
Compare
Choose a tag to compare
Zephyr 2.1.0-rc1 Pre-release
Pre-release
Adam Kondraciuk (1):
      drivers: flash: nrfx: Modify flash address validation

Alberto Escolar Piedras (12):
      native_posix & nrf52_bsim: Add z_arch_irq_connect_dynamic()
      Kconfig: Correct COVERAGE help msg
      sanitycheck: Use system gcov for unit testing by default
      doc: contribution guidelines: Clarify use of uncrustify
      nrf52_bsim: Require v1.8 of the HW models
      toolchain: Fix for off-tree toolchains
      arch: posix: isolate arch-soc/board IF from kernel-arch IF
      lvgl: Suppress memory leak errors detected by valgrind
      CODEOWNERS: Add owner for valgrind suppression file
      posix arch: Untangle headers
      nrf52_bsim: Fix: shell return code should be != 0 on ASSERT
      nrf52_bsim: Update the NRF52 HW models revision

Alex Porosanu (7):
      ext: hal: openisa: sync with updates for BLE SW LL
      dts: bindings: add modem binding for RV32M1 Generic FSK node
      dts: riscv: add Generic FSK node
      doc: riscv: rv32m1_vega: add BLE software link layer info
      samples: bluetooth: add overlays for RV32M1 SoC for BLW SW LL
      bluetooth: kconfig: disable some options for openisa/RV32M1
      samples: bluetooth: peripheral_hr: add VEGABoard sanity testing

Alex Tsamakos (2):
      boards: arm: add support for Actinius Icarus board (uC: Nordic nRF9160)
      boards: actinius_icarus: change defaults to use new kconfig functions

Alexander Wachter (12):
      drivers: can: mcux: Persuade the driver to send in chronological order
      doc: CAN: Extend CAN doc and moved it to networking
      include: drivers: CAN: changed return parameter description
      shields: link_board_can: Fix bus-speed and SPI definition
      drivers: CAN: MCP2515: Move OSC frequency definition to device-tree
      drivers: sensors: ens210: fix fractional part calculation
      drivers: can: Extend CAN API for bus-state management.
      samples: driver: Extend CAN sample
      include: drivers: can: Fix zframe to frame conversion
      samples: basic: Remove disco sample
      drivers: CAN: Limit the DLC to 8
      tests: can: api: Add MCP2515 DT label to the device name list

Alexey Brodkin (2):
      arch: arc: Implement z_arch_system_halt()
      Samples: Add SMP Pi

Anas Nashif (77):
      ci: do not export BSIM env vars if bsim is not available
      doc: link-roles: convert bytes to string
      doc: tracing: add figure for tracing with systemview
      doc: tracing: move ctf docs into index
      doc: tracing: include API docs into documentation
      doc: c library: document which c functions are implemented.
      doc: tracing: link kconfig options using :option:
      drivers: gpio: remove sch gpio driver
      drivers: gpio: remove qmsi gpio driver
      drivers: pwm: remove qmsi pwm driver
      drivers: flash: remove qmsi flash driver
      drivers: watchdog: remove qmsi watchdog driver
      drivers: dma: remove qmsi DMA driver
      drivers: uart: remove qmsi UART  driver
      drivers: i2c: remove qmsi I2C  driver
      drivers: counter: remove qmsi counter  driver
      drivers: pinmux: remove qmsi pinmux driver
      CODEOWNERS: remove qmsi drivers
      usb: remove QMSI include
      west: remove qmsi module
      dts: remove unused QMSI bindings
      tests: timer_api: exclude qemu_x86_coverage
      disk: sdhc: fix command name sdhc_cmd_r1
      doc: move cmsis rtos API docs to portability/
      docs: cleanup cmsis RTOS api docs
      docs: add posix OS abstraction layer section
      docs: kernel: K_FP_REGS is not x86 only
      docs: kernel: thread documentation enhancements and cleanup
      docs: remove deprecated doxygen options
      tests: build kernel/common on all platforms, always
      tests: ztest: no smp support in unit tests
      tests: tracing: add tests for tracing features
      tests: remove useless stub test
      toolchain: check if __deprecated is defined
      tests: unit: do not build with -m32 on macOS
      tests: move base64 to a unit test
      tests: move crc to a unit test
      tests: make rbtree tests unit tests
      tests: move cmsis_rtos_v1 into portability
      tests: move cmsis_rtos_v2 into portability
      tests: move xtensa_asm2 tests to tests/arch
      tests: cleanup test_build
      tests: move list test to be unit tests
      tests: move intmath test to be unit tests
      tests: move util test to be unit tests
      tests: move Bluetooth at tests under tests/bluetooth
      tests: convert util test to a unit test
      arch: posix: fix function name in comment
      tracing: remove useless ifdefing for CONFIG_TRACING
      tracing: add missing end_call for k_mutex_unlock
      tests: fix identifiers
      tests: board_shell: rename test.yaml to testcase.yaml
      tests: rtc: rename test.yaml to testcase.yaml
      tests: tinycrypt: build only on native_posix
      drivers: espi: move header to include/drivers
      west: openocd: support pre init command option
      tests: smp: do not whitelist, use filter
      scripts: remove obsolete conversion script ini2yaml.py
      scripts: remove unused waitpid script
      sanitycheck: Complete overhaul and job handling rework
      benchmarks: capture benchmark data in a file
      ci: adapt ci script for new sanitycheck
      doc: sanitycheck: document all new features
      ci: cleanup test manifests
      sanitycheck: fix error handling with host binaries
      scripts: add script for listing closed bugs
      sanitycheck: fail on warnings
      ztest: add missing headers
      sanitycheck: enable valgrind checking using an option
      updatehub: move header to library
      arch: doxygen: group architecture interfaces
      sanitycheck: get environment regardless of option specified
      sanitycheck: exit thread executor on exceptions
      sanitycheck: deal with board that have no DTS
      tests: benchmarks: parse output on passing benchmark
      drivers: gpio: remove altera gpio driver
      Bluetooth: controller: openisa: do not use instances for  openisa IRQs

Andrei Emeltchenko (24):
      usb: device: Allow limited amount of tries for write
      boards: mec15xxevb_assy6853: Correct jumper settings
      doc: mec15xxevb_assy6853: Correct socket name
      drivers: watchdog: Trivial style cleanup
      drivers: counters: Fix coding style issues
      boards: mec15xxevb_assy6853: Add PWM alias for tests
      boards: mec15xxevb_assy6853: Enable pwm sanitycheck
      drivers: pwm: Fix wrong dc calculation for pwm tests
      drivers: pwm: pwm_mchp_xec: Fix spelling
      tests: pwm: Fix missing unit test
      boards: mec15xxevb_assy6853: Include counter, adc, watchdog to tests
      tests: adc: Correct tags
      drivers: adc: adc_mchp_xec: Fix incorrect channel mask check
      drivers: adc: adc_mchp_xec: Add error logs
      adc: Trivial style cleanup
      usb: Remove extra logs
      samples: usb: webusb: Update README and sample link
      samples: net: dumb_http_server: Add netusb configuration
      samples: net: dumb_http_server: Add zero configuration
      net: llmnr_responder: Fix implicit declaration error
      samples: net: Clean up netusb overlay configuration
      drivers: pwm: pwm_mchp_xec: Fix u32_t overflow for freq calculation
      samples: usb: wpanusb: Update documentation
      samples: usb: webusb: Update sample README

Andrei Gansari (4):
      drivers: remove arm's qemu systick workaround
      boards: MPS2 targets enabled icount
      tests: scheduler_api removed MPS2 workaround
      tests: schedule_api adapt to slow ticks

Andrew Boie (100):
      kernel: fix default z_arch_cpu_halt()
      x86: fix XIP SOC support and defaults
      xtensa: remove legacy arch implementation
      log_core: always build stubs when !userspace
      board: qemu_nios2: set yaml RAM/ROM size
      tests: profiling_api: increase idle stack size
      tests: bluetooth: mesh: adjust microbit config
      tests: increase min_ram for two tests
      tests: enable log in immediate mode by default
      kernel: remove z_fatal_print()
      doc: add more details about memory domains
      tests: net: stop whitelisting
      doc: provide error handling documentation
      timing_info: rename globals
      kernel: rename z_new_thread()
      kernel: renamespace z_is_in_isr()
      kernel: renamespace arch_nop()
      kernel: add arch interface for idle functions
      kernel: rename thread return value functions
      kernel: rename kernel_arch_init()
      x86: remove redunant idle timestamp setting
      kernel: rename boot time globals
      kernel: rename main/idle thread/stacks
      kernel: rename __swap
      arc: rename k_cpu_sleep_mode
      kernel: rename z_is_idle_thread()
      tracing: simplify idle thread detection
      kernel: add arch abstraction for irq_offload()
      logging: abstract log_core_init()
      log: remove duplicate log_printk() definition
      logging: remove return value from log_printk()
      shell: fix configuration issue
      bluetooth: monitor: don't build backend if minimal
      logging: add minimal implementation
      kernel: use logging for userspace errors
      kernel: remove vestigal printk references
      x86: fix EXCEPTION_DEBUG dependency
      arm: arch code naming cleanup
      x86: abstract toplevel page table pointer
      sys_io: pull in toolchain.h
      kernel_includes: add irq.h
      posix: expose z_arch_irq_lock/unlock as inlines
      arches: fix z_arch_is_in_isr() defintion
      arm: move z_arch_switch_to_main_thread to C code
      xtensa: fix z_arch_switch()
      arches: fix z_arch_k_cycle_get_32() definitions
      drivers: hpet: fix includes
      intel64: add inline definition of z_arch_switch()
      x86_64: fix arch headers
      x86: intel64: enable no-execute
      x86: ...
Read more

Zephyr 1.14.1 RC3

06 Oct 14:53
Compare
Choose a tag to compare
Zephyr 1.14.1 RC3 Pre-release
Pre-release

Changes since 1.14.1-rc2

Anas Nashif (2):
      doc: link-roles: convert bytes to string
      release: bump version to 1.14.1-rc3

Andrzej Puzdrowski (2):
      tests/subsys/settings/fcb: deletion test
      nvs: Fix deletion of the last entry added

David B. Kinder (1):
      doc: update link from released doc to master

Declan Traill (1):
      Settings: Fix incorrect return of -EINVAL for deleted entries

Erwin Rol (1):
      spinlock: Make sure C and C++ have the same sizeof(k_spinlock) value

Faisal Saleem (1):
      Settings: Improve error handling of settings load

Jan Van Winkel (1):
      fs: fcb: Increase temporary buffer in fcb_append

Joakim Andersson (1):
      Bluetooth: Host: Fix invalid pointer in bt_smp_pkey_ready

Johan Hedberg (5):
      Bluetooth: Mesh: Fix publication period timestamp initialization
      Bluetooth: Host: Fix failure handling with security level change
      Bluetooth: Host: Fix checking for sufficient encryption key size
      doc: Add skeleton for 1.14.1 release notes
      Bluetooth: Mesh: Fix matching for "All Proxies" group address

Jukka Rissanen (10):
      net: ipv6: Check sub-option length
      net: gptp: Avoid memcpy to same buffer
      net: socket: The socket flags need to use uintptr_t
      net: sockets: Store socket private data into its own variable
      net: socket: Init net_context when taken into use
      net: tcp: Cleanup context if connection is not established
      tests: net: tcp: Test connection cleanup after receiving SYN
      net: Add IPPROTO_RAW as it was missing
      net: socket: Set default protocol if proto == 0
      net: socket: Return 0 in recvfrom() if buffer size is 0

Lucas Peixoto (1):
      disk: fixing the sending of commands with r1 response

Peter A. Bigot (2):
      drivers/spi_nor: fix writes across page boundaries
      drivers/spi_nor: de-pessimize reads

Peter Bigot (4):
      subsys/testsuite: rearrange for standard use of extern "C"
      lib/newlib: revert treatment of libc files as system includes
      tests: add C++ 17 standard library test
      kernel: reimplement k_uptime_get_32()

Piotr Zięcik (4):
      syscalls: Export _is_user_context() regardless of CONFIG_USERSPACE
      logging: Add basic userspace support
      samples: logging: Add usermode showcase
      CODEOWNERS: Add code owner for subsys/testsuite

Ravi kumar Veeramally (2):
      net: tcp: Accept connections only in LISTENING state
      samples: net: coap_client: Fix coverity issue

Vinayak Kariappa Chettimada (11):
      Bluetooth: controller: Fix Enc setup reset on rejection
      Bluetooth: controller: Fix DLE event on PHY update
      Bluetooth: controller: Fix to reject invalid enable command
      Bluetooth: controller: Fix cmd disallowed and collision disconnects
      Bluetooth: controller: Add data length procedure queueing
      Bluetooth: controller: Defer encryption setup if in conn update
      Bluetooth: controller: Fix control tx queue handling
      Bluetooth: controller: Fix ENC_REQ PDU retransmission
      Bluetooth: controller: Fix Re-encryption procedure
      Bluetooth: controller: Fix start encryption in progress check
      Bluetooth: controller: Fix data PDU leak during ctrl PDU defer

Wentong Wu (4):
      linker: add custom align size to reduce alignment memory wasting
      scripts: gen_relocate_app.py: add custom align size for relocation
      scripts: elf_helper.py: add analyze for DW_TAG_typedef
      scripts: elf_helper.py: fix stack declared K_THREAD_STACK_EXTERN

Zephyr 1.14.1

06 Oct 16:45
Compare
Choose a tag to compare

This is an LTS maintenance release with fixes, as well as Bluetooth
qualification listings for the Bluetooth protocol stack included in Zephyr.

Security Vulnerability Related

The following security vulnerability (CVE) was addressed in this
release:

  • Fixes CVE-2019-9506: The Bluetooth BR/EDR specification up to and
    including version 5.1 permits sufficiently low encryption key length
    and does not prevent an attacker from influencing the key length
    negotiation. This allows practical brute-force attacks (aka "KNOB")
    that can decrypt traffic and inject arbitrary ciphertext without the
    victim noticing.

Bluetooth

  • Qualification:

    • 1.14.x Host subsystem qualified with QDID 139258
    • 1.14.x Mesh subsystem qualified with QDID 139259
    • 1.14.x Controller component qualified on Nordic nRF52 with QDID 135679

Issues Fixed

These GitHub issues were addressed since the previous 1.14.0 tagged
release:

  • #11617 - net: ipv4: udp: broadcast delivery not supported
  • #11743 - logging: add user mode access
  • #14459 - usb: samples: mass: doesn't build with FLASH overlay
  • #15279 - mempool alignment might cause a memory block allocated twice
  • #15339 - RISC-V: RV32M1: Load access fault when accessing GPIO port E
  • #15354 - counter: stm32: Issue with LSE clock source selection
  • #15373 - IPv4 link local packets are not sent with ARP ethernet type
  • #15443 - usb_dc_stm32: Missing semaphore initialization and missing pin remapping configuration
  • #15444 - Error initiating sdhc disk
  • #15497 - USB DFU: STM32: usb dfu mode doesn't work
  • #15507 - NRF52840: usb composite MSC + HID (with CONFIG_ENABLE_HID_INT_OUT_EP)
  • #15526 - Unhandled identity in bt_conn_create_slave_le
  • #15558 - support for power-of-two MPUs on non-XIP systems
  • #15601 - pwm: nRF default prescalar value is wrong
  • #15603 - Unable to use C++ Standard Library
  • #15605 - Unaligned memory access by ldrd
  • #15606 - trickle.c can't work for multiple triggerings
  • #15678 - Watchdog peripheral api docs aren't generated correctly.
  • #15698 - bluetooth: bt_conn: No proper ID handling
  • #15733 - Bluetooth: controller: Central Encryption setup overlaps Length Request procedure
  • #15794 - mps2_an385 crashes if CONFIG_INIT_STACKS=y and CONFIG_COVERAGE=y
  • #15817 - nrf52: HFXO is not turned off as expected
  • #15904 - concerns with use of CONFIG_BT_MESH_RPL_STORE_TIMEOUT in examples
  • #15911 - Stack size is smaller than it should be
  • #15975 - Openthread - fault with dual network interfaces
  • #16001 - ARC iotdk supports MPU and fpu in hardware but not enabled in kconfig
  • #16002 - the spi base reg address in arc_iot.dtsi has an error
  • #16010 - Coverage reporting fails on many tests
  • #16012 - Source IP address for DHCP renewal messages is unset
  • #16027 - support for no-flash systems
  • #16046 - modules are being processed too late.
  • #16090 - mpu align support for code relocation on non-XIP system
  • #16107 - Using bt_gatt_read() with 'by_uuid' method returns 3 extra bytes
  • #16143 - posix: clock_settime calculates the base time incorrectly
  • #16155 - drivers: can: wrong value used for filter mode set
  • #16257 - net: icmpv4: Zephyr sends echo reply with multicast source address
  • #16307 - cannot move location counter backwards error happen
  • #16323 - net: ipv6: tcp: unexpected reply to malformed HBH in TCP/IPv6 SYN
  • #16339 - openthread: off-by-one error when calculating ot_flash_offset for settings
  • #16354 - net: ipv6: Zephyr does not reply to fragmented packet
  • #16375 - net: ipv4: udp: Zephyr does not reply to a valid datagram with checksum zero
  • #16379 - net: ipv6: udp: Zephyr replies with illegal UDP checksum zero
  • #16411 - bad regex for west version check in host-tools.cmake
  • #16412 - on reel_board the consumption increases because TX pin is floating
  • #16413 - Missing dependency in cmake
  • #16414 - Backport west build --pristine
  • #16415 - Build errors with C++
  • #16416 - sram size for RT1015 and RT1020 needs to be update.
  • #16417 - issues with can filter mode set
  • #16418 - drivers: watchdog: sam0: check if timeout is valid
  • #16419 - Bluetooth: XTAL feature regression
  • #16478 - Bluetooth: Improper bonded peers handling
  • #16570 - [Coverity CID :198877]Null pointer dereferences in /subsys/net/ip/net_if.c
  • #16577 - [Coverity CID :198870]Error handling issues in /subsys/net/lib/lwm2m/lwm2m_obj_firmware_pu
    ll.c
  • #16581 - [Coverity CID :198866]Null pointer dereferences in /subsys/net/lib/dns/llmnr_responder.c
  • #16584 - [Coverity CID :198863]Error handling issues in /subsys/net/lib/sntp/sntp.c
  • #16594 - net: dns: Zephyr is unable to unpack mDNS answers produced by another Zephyr node
  • #16600 - Bluetooth: Mesh: Proxy SAR timeout is not implemented
  • #16602 - Bluetooth: GATT Discovery: Descriptor Discovery by range Seg Fault
  • #16639 - eth: pinging frdm k64f eventually leads to unresponsive ethernet device
  • #16678 - LPN establishment of Friendship never completes if there is no response to the initial Fri
    end Poll
  • #16711 - Settings reworked to const char processing
  • #16734 - Bluetooth: GATT: Writing 1 byte to a CCC access invalid memory
  • #16745 - PTHREAD_MUTEX_DEFINE(): don't store into the _k_mutex section
  • #16746 - boards: nrf52840_pca10059: Configure NFC pins as GPIOs by default
  • #16749 - IRQ_CONNECT and irq_enable calls in the SiFive UART driver is misconfigured
  • #16750 - counter: lack of interrupt when CC=0
  • #16760 - K_THREAD_STACK_EXTERN() confuses gen_kobject_list.py
  • #16779 - [Zephyr v1.14] ARM: fix the start address of MPU guard in stack-fail checking (when building with no user mode)
  • #16799 - Bluetooth: L2CAP: Interpretation of SCID and DCID in Disconnect is wrong
  • #16864 - Bluetooth: Mesh: Rx buffer exhaustion causes deadlock
  • #16893 - Bluetooth: Multiple local IDs, privacy problem
  • #16943 - Missing test coverage for lib/os/crc*.c
  • #16944 - Insufficient test coverage for lib/os/json.c
  • #17031 - Compiler warnings in settings module in Zephyr 1.14
  • #17038 - code relocation generating different memory lay...
Read more

Zephyr 2.0.0

06 Sep 23:53
Compare
Choose a tag to compare

We are pleased to announce the release of Zephyr RTOS version 2.0.0.

Major enhancements with this release include:

  • The kernel now supports both 32- and 64-bit architectures.
  • We added support for SOCKS5 proxy. SOCKS5 is an Internet protocol that
    exchanges network packets between a client and server through a proxy server.
  • Introduced support for 6LoCAN, a 6Lo adaption layer for Controller Area
    Networks.
  • We added support for :ref:Point-to-Point Protocol (PPP) <ppp>. PPP is a
    data link layer (layer 2) communications protocol used to establish a direct
    connection between two nodes.
  • We added support for UpdateHub, an end-to-end solution for large scale
    over-the-air device updates.
  • We added support for ARM Cortex-R Architecture (Experimental).

The following sections provide detailed lists of changes by component.

Security Vulnerability Related


The following security vulnerability (CVE) was addressed in this
release:

  • Fixes CVE-2019-9506: The Bluetooth BR/EDR specification up to and
    including version 5.1 permits sufficiently low encryption key length
    and does not prevent an attacker from influencing the key length
    negotiation. This allows practical brute-force attacks (aka "KNOB")
    that can decrypt traffic and inject arbitrary ciphertext without the
    victim noticing.

Kernel


  • New kernel API for per-thread disabling of Floating Point Services for
    ARC, ARM Cortex-M, and x86 architectures.
  • New system call to set the clock frequency at runtime.
  • Additional support for compatibility with 64-bit architectures.
  • Userspace mutexes are now supported through the new k_futex primitive.
  • Improvements to the slab allocator.
  • Fixed the implementation of k_thread_name_set() with userspace enabled.
  • Boosted the default tick rate for tickless kernels to improve the
    precision of timeouts.

Architectures


  • ARM:

    • Added initial support for ARM Cortex-R architecture (Experimental)
    • We enhanced the support for Floating Point Services in Cortex-M
      architecture, implementing and enabling lazy-stacking for FPU
      capable threads and fixing stack overflow detection for FPU
      capable supervisor threads
    • Added QEMU support for ARMv8-M Mainline architecture
    • Optimized the IRQ locking time in thread context switch
    • Fixed several critical bugs in User Mode implementation
    • Added test coverage for ARM-specific kernel features
    • Improved support for linking TrustZone Secure Entry functions into
      Non-Secure firmware
  • ARC:

    • Added support for ARC HS architecture
    • Added SMP support for ARC HS architecture
    • Added support for ARC SecureShield based TEE (Experimental)
    • Fixed several critical bugs in interrupt and exception handling
    • Enhance the support for Floating Point Services
  • POSIX:

    • Fixed race condition with terminated threads which had never been
      scheduled by kernel. On very loaded systems it could cause swap errors.
  • x86:

    • Dropped support for the Intel Quark microcontroller family.
    • A new lightweight PCI implementation has been introduced which supports
      MSI and other features required for PCIe devices. The previous PCI
      implementation has been deprecated and will be removed in 2.1.
  • RISC-V:

    • Added support for the SiFive HiFive1 Rev B development board.
    • Added support for LiteX VexRiscv soft core.
    • Added support for 64-bit RISC-V, renaming the architecture from "riscv32"
      to "riscv".
    • Added 64-bit QEMU support.
    • Added DeviceTree bindings for RISC-V memory devices, CPU interrupt
      controllers, and platform-local interrupt controllers.

Boards & SoC Support


  • Added native_posix_64: A 64 bit variant of native_posix

  • Added support for these ARC boards:

    • emsdp
    • hsdk
    • nsim for hs
  • Added support for these ARM boards:

    • atsamr21_xpro
    • cc1352r1_launchxl
    • cc26x2r1_launchxl
    • holyiot_yj16019
    • lpcxpresso55s69
    • mec15xxevb_assy6853
    • mikroe_mini_m4_for_stm32
    • mimxrt1015_evk
    • mps2_an521
    • nrf51_pca10031
    • nrf52811_pca10056
    • nucleo_g071rb
    • nucleo_wb55rg
    • qemu_cortex_r5
    • stm32h747i_disco
    • stm32mp157c_dk2
    • twr_ke18f
    • v2m_musca_b1
    • 96b_avenger96
    • 96b_meerkat96
    • 96b_wistrio
  • Added support for these RISC-V boards:

    • hifive1_revb
    • litex_vexriscv
    • qemu_riscv64
  • Added support for the gpmrb x86 board

  • Added support for these following shields:

    • frdm_cr20a
    • link_board_can
    • sparkfun_sara_r4
    • wnc_m14a2a
    • x_nucleo_iks01a3
  • Removed support for these boards:

    • arduino_101
    • arduino_101_sss
    • curie_ble
    • galileo
    • quark_d2000_crb
    • quark_se_c1000_devboard
    • quark_se_c1000_ss_devboard
    • quark_se_c1000_ble
    • tinytile
    • x86_jailhouse

Drivers and Sensors


  • ADC

    • Added API to support calibration
    • Enabled ADC on STM32WB
    • Removed Quark D2000 ADC driver
    • Added NXP ADC12 and SAM0 ADC drivers
    • Added ADC shell
  • Audio

    • Added support for two microphones (stereo) in the mpxxdtyy driver
  • CAN

    • Added support for canbus Ethernet translator
    • Added 6LoCAN implementation
    • Added MCP2515, NXP FlexCAN, and loopback drivers
    • Added CAN shell
  • Clock Control

    • Added NXP Kinetis MCG, SCG, and PCC drivers
    • Added STM32H7, STM32L1X, and STM32WB support
    • Removed Quark SE driver
  • Counter

    • Added optional flags to alarm configuration structure and extended set channel alarm flags
    • Added top_value setting configuration structure to API
    • Enabled counter for STM32WB
    • Added NXP GPT, "CMOS" RTC, SiLabs RTCC, and SAM0 drivers
    • Removed Quark D2000 support from QMSI driver
  • Display

    • Added ST7789V based LCD driver
    • Renamed ssd1673 driver to ssd16xx
    • Added framebuffer driver with multiboot support
    • Added support for Seeed 2.8" TFT touch shield v2.0
  • DMA

    • Added API to retrieve runtime status
    • Added SAM0 DMAC driver
    • Removed Quark SE C1000 support from QMSI driver
  • Entropy

    • Added TI CC13xx / CC26xx driver
  • ESPI

    • Added Microchip XEC driver
  • Ethernet

    • Added LiteEth driver
  • Flash

    • Removed Quark SE C1000 driver
    • Removed support for Quark D2000 from QMSI driver
    • Added STM32G0XX and STM32WB support to STM32 driver
    • Added RV32M1 and native POSIX drivers
  • GPIO

    • Added stm32f1x SWJ configuration
    • Removed Quark SE C1000 and D2000 support from DesignWare driver
    • Added support for STM32H7, STM32L1X, and STM32WB to STM32 driver
    • Added Microchip XEC and TI CC13x2 / CC26x2 drivers
    • Added HT16K33 LED driver
    • Added interrupt support to SAM0 driver
  • Hardware Info

    • Added ESP32 and SAM0 drivers
  • I2C

    • Added support for STM32MP1, STM32WB, and STM32L1X to STM32 driver
    • Added STM32F10X slave support
    • Added power management to nrf TWI and TWIM drivers
    • Added TI CC13xx / CC26xx, Microchip MEC, SAM0, and RV32M1 drivers
    • Rewrote DesignWare driver for PCI(e) support
  • IEEE 802.15.4

    • Fixed KW41z fault and dBm mapping
  • Interrupt Controller

    • Added initial support for ARC TCC
    • Added GIC400, LiteX, and SAM0 EIC drivers
    • Added support for STM32G0X, STM32H7, STM32WB, and STM32MP1 to STM32 driver
    • Removed MVIC driver
  • IPM

    • Removed Quark SE driver
    • Added MHU and STM32 drivers
  • LED

    • Added Holtek HT16K33 LED driver
  • Modem

    • Introduced socket helper layer
    • Introduced command handler and UART interface driver layers
    • Introduced modem context helper driver
    • Added u-blox SARA-R4 modem driver
  • Pinmux

    • Added SPI support to STM32MP1
    • Enabled ADC, PWM, I2C, and SPI pins on STM32WB
    • Added Microchip XEC and TI CC13x2 / CC26x2 drivers
  • PWM

    • Added NXP PWM driver
    • Added support for STM32G0XX to STM32 driver
  • Sensor

    • Added STTS751 temperature sensor driver
    • Added LSM6DSO and LPS22HH drivers
    • Renamed HDC1008 driver to ti_hdc and added support for 1050 version
    • Added LED current, proximity pulse length, ALS, and proximity gain configurations to APDS9960 driver
    • Reworked temperature and acceleration conversions, and added interrupt handling in ADXL362 driver
    • Added BME680 driver and AMS ENS210 drivers
  • Serial

    • Added Xilinx ZynqMP PS, LiteUART, and TI CC12x2 / CC26x2 drivers
    • Added support for virtual UARTS over RTT channels
    • Added support for STM32H7 to STM32 driver
    • Removed support for Quark D2000 from QMSI driver
    • Enabled interrupts in LPC driver
    • Implemented ASYNC API in SAM0 driver
    • Added PCI(e) support to NS16550 driver
  • SPI

    • Added support for STM32MP1X and STM32WB to STM32 driver
    • Removed support for Quark SE C1000 from DesignWare driver
    • Added TI CC13xx / CC26xx driver
    • Implemented ASYNC API in SAM0 driver
  • Timer

    • Added Xilinx ZynqMP PS ttc driver
    • Added support for SMP to ARC V2 driver
    • Added MEC1501 32 KHZ, local APIC timer, and LiteX drivers
    • Replaced native POSIX system timer driver with tickless support
    • Removed default selection of SYSTICK timer for ARM platforms
  • USB

    • Added NXP EHCI driver
    • Implemented missing API functions in SAM0 driver
  • WiFi

    • Implemented TCP listen/accept and UDP support in eswifi driver

Networking


  • Added support for SOCKS5 proxy <https://en.wikipedia.org/wiki/SOCKS>.
    See also RFC1928 <https://tools.ietf.org/html/rfc1928>
    for details.
  • Added support for 6LoCAN, a 6Lo adaption layer for Controller Area Networks.
  • Added support for :ref:Point-to-Point Protocol (PPP) <ppp>.
  • Added su...
Read more

Zephyr 2.0.0-rc3

04 Sep 07:47
Compare
Choose a tag to compare
Zephyr 2.0.0-rc3 Pre-release
Pre-release
Aaron Tsui (7):
      doc: sample: mpu  Update documentation
      samples: bluetooth: ibeacon: change to ADV_NONCONN_IND type
      samples: shields: x_nucleo_iks01a1
      samples: sensor: bme280: add README.rst
      samples: sensor: bme280: add arduino_101_sss.overlay
      samples: servo_motor: add HW PWM choice for NRF52 family
      samples: bluetooth: peripheral_ht: Health Thermometer sample

Akshatha Harishchandra (1):
      bluetooth: host: Replaced bt_uuid_create_le with bt_uuid_create

Alberto Escolar Piedras (27):
      doc: labels: Add links to feature process
      native_posix: cmdline: Hint user about wrong options
      nrf52_bsim: Add header to allow reusing native_posix drivers
      CODEOWNERS: remove use of commas
      native_posix: Run in real time by default with host BT
      doc: Remove API labels
      CODEOWNERS: Add reviewer for native_posix docs and flash driver
      CODEOWNERS: Clarify behaviour
      sanitycheck: Record time used in BinaryHandler
      sanitycheck: Minor optimization in BinaryHandler
      CODEWONERS: syntax fix: Remove comma
      nrf52_bsim: Add nrfx path to include path
      arch: POSIX: Do not assume 32bit pointers
      sanitycheck: update sections whitelist
      sanitycheck: Add missing section to whitelist
      native_posix: Replace system timer driver
      arch: POSIX: Fix race with unused threads
      nrf52_bsim: doc: Clarify how to fetch and compile BabbleSim
      native_posix: Fix undefined macro warning
      logging: Fix undefined macro warning
      shell: Fix undefined macro warnings
      nrf52_bsim: Minor fix in time coversion
      POSIX arch: Fixe issues related to extern "C"
      nrf52_bsim: Add missing header guard and extern C block
      native_posix: Move include out of extern "C" block
      doc: Add native_posix information to 2.0 release note
      native_posix: Check pointer before de-referencing it

Alex Porosanu (2):
      soc: riscv32: fix zero-riscy zephyr,flash node
      west.yml: update nxp_hal SHA to latest commit

Alexander Mihajlovic (1):
      posix: Fix calculation of clock base in clock_settime

Alexander Svensen (9):
      Bluetooth: controller: ull/lll: Workaround CPR procedure collision
      Bluetooth: controller: ull/lll: Do not feature exc more than once
      Bluetooth: controller: split: Fix Conn Param Req procedure stall issue
      Bluetooth: controller: split: Fix master role RSSI measurement
      Bluetooth: controller: split: Refactor the lll_clock_wait() function
      Bluetooth: controller: split: Refactor if_defines to is_enabled in lll.c
      Bluetooth: controller: split: Refactor if defines in lll_adv.c
      Bluetooth: controller: split: Refactor if defines in lll_scan.c
      Drivers: led: lp5562: Add delay when writing to enable register

Alexander Wachter (55):
      boards: arm: nucleo_f746zg: Activate CAN on nucleo F746zg
      drivers: sensor: ams_iAQcore: Implemented ASM Indoor Air Quality Sensor
      samples: sensor: ams_iAQcore: Implement sample for AMS iAQ-core
      drivers: sensor: ens210: Implement AMS ens210 Sensor
      samples: sensor: ens210: Implement sample for ens210
      tests: drivers: build_all: Add AMS IAQcore and ENS210 to build all
      CODEOWNERS: Add codeowner for ams iAQcore and ENS210
      drivers: can: stm32: fix filter mode set
      drivers: can: Extend attach_isr with void *arg and pass to the isr cb
      drivers: can: Extend can_send with void *arg and pass it to the isr cb
      drivers: can: rework can_attach_msgq
      drivers: can: Implement can_attach_workq
      tests: drivers: can: api: define DT_CAN_1_NAME if not defined
      tests: drivers: can: Add testcases for attach_workq
      tests: drivers: can: Make CAN dev global
      drivers: can: Add loopback driver
      drivers: can: rename drivers to can_<dev name>
      drivers: can: mcux_flexcan: Add support for MK64
      soc: nxp: k6x: Add CAN support
      boards: frdm-k64f: Enable CAN support
      samples: CAN: Add FRDM-K64F defconfig
      drivers: can: stm32: Remove STM CAN_Init
      drivers: can: stm32: Change TX priority to chronological order
      drivers: can: stm32 Add error message for buffer overflow
      drivers: can: stm32: Update enable driver help message
      linker: Add dtcm section for Cortex M7 MCUs
      dts: stm32f7: Add Device Tightly Coupled Memory
      drivers: ethernet: stm32: Put DMA buffer to DTCM section
      boards: arm: Activate DTCM for STM32F7 boards with Ethernet
      net: ip: 6lo compression rework
      net: ip: net_pkt: Add pkt_cursor_advance before contiguous check
      net: ip: 6lo (IPHC) uncompression rework
      net: ip: 6lo: Remove unnecessary net_buf allocation and memmove
      tests: net: 6lo: Adapt tests to deal with headers in multiple frames
      tests: net: 6Lo: Add test criterion HDR diff
      drivers: can: Add CAN shell
      samples: drivers: CAN: enable can shell for the sample
      tests: boards: board_shell: Activate CAN shell
      can: Add RX timestamp to zcan_frame
      drivers: can: stm32: Implement timestamp for RX frames
      net: canbus: Rename canbus to canbus_raw
      net: l2: 6LoCAN implementation
      net: l2: canbus: Add support for pkt reception from translator
      net: ip: net_pkt: Implement net_pkt_shallow_clone
      net: ip: ipv6_nbr: take TLLAO length from src lladdres
      net: l2: canbus: Add support for canbus Ethernet translator
      net: ip: ipv6_nbr: use temp variables for ntoh conversion
      samples: net: echo_client and echo_server: Add 6LoCAN config
      net: ip: ipv6_nbr: Make LLAO length calculation more universal
      drivers: can: mcux: Fix set can_send callbacks
      drivers: can: mcux: Fix can_detach
      boards: frdm_k64f: Enable pullup for CAN0_RX pin
      samples: drivers: CAN: reworked sample code
      baords: shields: Add reel_board CANbus shield
      tests: drivers: can: Add test for TX callback

Alexandre Bourdiol (4):
      boards: Set pinmux.c compilation under switch CONFIG_PINMUX
      samples: basic minimal: add nucleo_f429zi, disco_l475_iot1 to whitelist
      board: add call to zephyr_library() for stm32mp157c_dk2
      board: use ${ZEPHYR_BASE} instead of ${PROJECT_SOURCE_DIR}

Alexey Brodkin (14):
      soc/nsim: Minor clean-up
      simulation: ARC EM in nSIM to use nsim_em.props
      board/nsim: Make it CPU-family independent
      board/nsim: Move CPU selection in defconfigs
      board/nsim: Refactor device tree description
      ARC: Mention ARC EM family instead of EM4 template
      arc: Preserve STATUS32 flags while resetting AE flag
      arc: Add support for unaligned access
      boards/nsim: Enable unaligned data acess for nSIM with simple ARC EM
      board/nsim: Add support of ARC HS cores in nSIM
      board/nsim: Add support of multi-core ARC HS platform in nSIM
      arch: arc: _rirq_exit: Comment clean-up
      arch: arc: threads: Comment clean-up
      arc: interrupts: Explain return from interrupt to cooperative thread

Anas Nashif (210):
      ci: only build on specified branches
      boards: v2m_musca_b1_nonsecure: add flash to yaml
      boards: v2m_musca_b1_nonsecure: disable sanitycheck [REVERT ME]
      flash_map: fix test names
      flash_map: add function to iterate over areas
      flash_map: add shell interface
      ci: detect changes to sub-board definitions
      sanitycheck: add timestamps to messages
      sanitycheck: fix reporting: build vs. run
      sanitycheck: handle pid file not being present
      sanitycheck: show handler in verbose mode
      CODEOWNERS: update code owners
      tests: ipm: disable on qemu_x86_64
      CODEOWNERS: minor cleanup
      CODEOWNERS: remove use of commas
      crc: remove deprecated crc headers
      ci: send email to builds@ mailing list if master fails
      CODEOWNERS: address some unowned files/dirs
      doc: guide for optimizing zephyr
      doc: move module related doc to guides
      doc: document submitting changes to modules
      qmsi: move to a zephyr module
      qmsi: set type to boolean when selecting QMSI
      esp: move HAL to external repo
      fatfs: move fatfs filesystem to a module
      mcumgr: move to an external module
      nffs: move to an external module
      segger: move to an external module
      CODEOWNERS: remove ext/fs entry
      kconfig: enclose module Kconfigs into a menu
      cmake: build modules under /modules
      gitlint: match max title length restriction with checkpatch
      modules: move module kconfig to main tree
      manifest: update with module state
      silabs: move HAL to external repo
      cypress: move HAL to external repo
      ext: move libmetal to an external module
      ext: move open-amp to an external module
      modules: move kconfig into tree
      mcumgr: move Kconfig to main tree
      CODEOWNERS: Update owners for subsys/mgmt/
      manifest: update to latest MCUMGR head
      x86: remove unused and x86 only latency benchmark
      compiler: no warnings on address-of-packed-member
      include: arch: move bits_portable.h to arch/common
      include: arch: move addr_types to common location
      include: arch: remove empty nios2 asm.h
      include: arch: rename xtensa_irq.h to irq.h
      CODEOWNERS: update file for include/arch/common/
      cmake: no-address-of-packed-member is not supported in older compilers
      logging: use os as a domain for low level system debugging
      tests: mesh: fix function prototype and match declaration
      style: add braces around if/while statements
      style: samples/tests: add braces around if/while statements
      doc: redirect old board pages to new location
      doc: remove .html from redirect entries
      doc: generate documentation of ifdef`ed APIs
      mbedt...
Read more

Zephyr v2.0.0-rc2

29 Aug 09:08
Compare
Choose a tag to compare
Zephyr v2.0.0-rc2 Pre-release
Pre-release
Aaron Tsui (7):
      doc: sample: mpu  Update documentation
      samples: bluetooth: ibeacon: change to ADV_NONCONN_IND type
      samples: shields: x_nucleo_iks01a1
      samples: sensor: bme280: add README.rst
      samples: sensor: bme280: add arduino_101_sss.overlay
      samples: servo_motor: add HW PWM choice for NRF52 family
      samples: bluetooth: peripheral_ht: Health Thermometer sample

Alberto Escolar Piedras (27):
      doc: labels: Add links to feature process
      native_posix: cmdline: Hint user about wrong options
      nrf52_bsim: Add header to allow reusing native_posix drivers
      CODEOWNERS: remove use of commas
      native_posix: Run in real time by default with host BT
      doc: Remove API labels
      CODEOWNERS: Add reviewer for native_posix docs and flash driver
      CODEOWNERS: Clarify behaviour
      sanitycheck: Record time used in BinaryHandler
      sanitycheck: Minor optimization in BinaryHandler
      CODEWONERS: syntax fix: Remove comma
      nrf52_bsim: Add nrfx path to include path
      arch: POSIX: Do not assume 32bit pointers
      sanitycheck: update sections whitelist
      sanitycheck: Add missing section to whitelist
      native_posix: Replace system timer driver
      arch: POSIX: Fix race with unused threads
      nrf52_bsim: doc: Clarify how to fetch and compile BabbleSim
      native_posix: Fix undefined macro warning
      logging: Fix undefined macro warning
      shell: Fix undefined macro warnings
      nrf52_bsim: Minor fix in time coversion
      POSIX arch: Fixe issues related to extern "C"
      nrf52_bsim: Add missing header guard and extern C block
      native_posix: Move include out of extern "C" block
      doc: Add native_posix information to 2.0 release note
      native_posix: Check pointer before de-referencing it

Alex Porosanu (1):
      soc: riscv32: fix zero-riscy zephyr,flash node

Alexander Mihajlovic (1):
      posix: Fix calculation of clock base in clock_settime

Alexander Svensen (9):
      Bluetooth: controller: ull/lll: Workaround CPR procedure collision
      Bluetooth: controller: ull/lll: Do not feature exc more than once
      Bluetooth: controller: split: Fix Conn Param Req procedure stall issue
      Bluetooth: controller: split: Fix master role RSSI measurement
      Bluetooth: controller: split: Refactor the lll_clock_wait() function
      Bluetooth: controller: split: Refactor if_defines to is_enabled in lll.c
      Bluetooth: controller: split: Refactor if defines in lll_adv.c
      Bluetooth: controller: split: Refactor if defines in lll_scan.c
      Drivers: led: lp5562: Add delay when writing to enable register

Alexander Wachter (55):
      boards: arm: nucleo_f746zg: Activate CAN on nucleo F746zg
      drivers: sensor: ams_iAQcore: Implemented ASM Indoor Air Quality Sensor
      samples: sensor: ams_iAQcore: Implement sample for AMS iAQ-core
      drivers: sensor: ens210: Implement AMS ens210 Sensor
      samples: sensor: ens210: Implement sample for ens210
      tests: drivers: build_all: Add AMS IAQcore and ENS210 to build all
      CODEOWNERS: Add codeowner for ams iAQcore and ENS210
      drivers: can: stm32: fix filter mode set
      drivers: can: Extend attach_isr with void *arg and pass to the isr cb
      drivers: can: Extend can_send with void *arg and pass it to the isr cb
      drivers: can: rework can_attach_msgq
      drivers: can: Implement can_attach_workq
      tests: drivers: can: api: define DT_CAN_1_NAME if not defined
      tests: drivers: can: Add testcases for attach_workq
      tests: drivers: can: Make CAN dev global
      drivers: can: Add loopback driver
      drivers: can: rename drivers to can_<dev name>
      drivers: can: mcux_flexcan: Add support for MK64
      soc: nxp: k6x: Add CAN support
      boards: frdm-k64f: Enable CAN support
      samples: CAN: Add FRDM-K64F defconfig
      drivers: can: stm32: Remove STM CAN_Init
      drivers: can: stm32: Change TX priority to chronological order
      drivers: can: stm32 Add error message for buffer overflow
      drivers: can: stm32: Update enable driver help message
      linker: Add dtcm section for Cortex M7 MCUs
      dts: stm32f7: Add Device Tightly Coupled Memory
      drivers: ethernet: stm32: Put DMA buffer to DTCM section
      boards: arm: Activate DTCM for STM32F7 boards with Ethernet
      net: ip: 6lo compression rework
      net: ip: net_pkt: Add pkt_cursor_advance before contiguous check
      net: ip: 6lo (IPHC) uncompression rework
      net: ip: 6lo: Remove unnecessary net_buf allocation and memmove
      tests: net: 6lo: Adapt tests to deal with headers in multiple frames
      tests: net: 6Lo: Add test criterion HDR diff
      drivers: can: Add CAN shell
      samples: drivers: CAN: enable can shell for the sample
      tests: boards: board_shell: Activate CAN shell
      can: Add RX timestamp to zcan_frame
      drivers: can: stm32: Implement timestamp for RX frames
      net: canbus: Rename canbus to canbus_raw
      net: l2: 6LoCAN implementation
      net: l2: canbus: Add support for pkt reception from translator
      net: ip: net_pkt: Implement net_pkt_shallow_clone
      net: ip: ipv6_nbr: take TLLAO length from src lladdres
      net: l2: canbus: Add support for canbus Ethernet translator
      net: ip: ipv6_nbr: use temp variables for ntoh conversion
      samples: net: echo_client and echo_server: Add 6LoCAN config
      net: ip: ipv6_nbr: Make LLAO length calculation more universal
      drivers: can: mcux: Fix set can_send callbacks
      drivers: can: mcux: Fix can_detach
      boards: frdm_k64f: Enable pullup for CAN0_RX pin
      samples: drivers: CAN: reworked sample code
      baords: shields: Add reel_board CANbus shield
      tests: drivers: can: Add test for TX callback

Alexandre Bourdiol (4):
      boards: Set pinmux.c compilation under switch CONFIG_PINMUX
      samples: basic minimal: add nucleo_f429zi, disco_l475_iot1 to whitelist
      board: add call to zephyr_library() for stm32mp157c_dk2
      board: use ${ZEPHYR_BASE} instead of ${PROJECT_SOURCE_DIR}

Alexey Brodkin (13):
      soc/nsim: Minor clean-up
      simulation: ARC EM in nSIM to use nsim_em.props
      board/nsim: Make it CPU-family independent
      board/nsim: Move CPU selection in defconfigs
      board/nsim: Refactor device tree description
      ARC: Mention ARC EM family instead of EM4 template
      arc: Preserve STATUS32 flags while resetting AE flag
      arc: Add support for unaligned access
      boards/nsim: Enable unaligned data acess for nSIM with simple ARC EM
      board/nsim: Add support of ARC HS cores in nSIM
      board/nsim: Add support of multi-core ARC HS platform in nSIM
      arch: arc: _rirq_exit: Comment clean-up
      arch: arc: threads: Comment clean-up

Anas Nashif (210):
      ci: only build on specified branches
      boards: v2m_musca_b1_nonsecure: add flash to yaml
      boards: v2m_musca_b1_nonsecure: disable sanitycheck [REVERT ME]
      flash_map: fix test names
      flash_map: add function to iterate over areas
      flash_map: add shell interface
      ci: detect changes to sub-board definitions
      sanitycheck: add timestamps to messages
      sanitycheck: fix reporting: build vs. run
      sanitycheck: handle pid file not being present
      sanitycheck: show handler in verbose mode
      CODEOWNERS: update code owners
      tests: ipm: disable on qemu_x86_64
      CODEOWNERS: minor cleanup
      CODEOWNERS: remove use of commas
      crc: remove deprecated crc headers
      ci: send email to builds@ mailing list if master fails
      CODEOWNERS: address some unowned files/dirs
      doc: guide for optimizing zephyr
      doc: move module related doc to guides
      doc: document submitting changes to modules
      qmsi: move to a zephyr module
      qmsi: set type to boolean when selecting QMSI
      esp: move HAL to external repo
      fatfs: move fatfs filesystem to a module
      mcumgr: move to an external module
      nffs: move to an external module
      segger: move to an external module
      CODEOWNERS: remove ext/fs entry
      kconfig: enclose module Kconfigs into a menu
      cmake: build modules under /modules
      gitlint: match max title length restriction with checkpatch
      modules: move module kconfig to main tree
      manifest: update with module state
      silabs: move HAL to external repo
      cypress: move HAL to external repo
      ext: move libmetal to an external module
      ext: move open-amp to an external module
      modules: move kconfig into tree
      mcumgr: move Kconfig to main tree
      CODEOWNERS: Update owners for subsys/mgmt/
      manifest: update to latest MCUMGR head
      x86: remove unused and x86 only latency benchmark
      compiler: no warnings on address-of-packed-member
      include: arch: move bits_portable.h to arch/common
      include: arch: move addr_types to common location
      include: arch: remove empty nios2 asm.h
      include: arch: rename xtensa_irq.h to irq.h
      CODEOWNERS: update file for include/arch/common/
      cmake: no-address-of-packed-member is not supported in older compilers
      logging: use os as a domain for low level system debugging
      tests: mesh: fix function prototype and match declaration
      style: add braces around if/while statements
      style: samples/tests: add braces around if/while statements
      doc: redirect old board pages to new location
      doc: remove .html from redirect entries
      doc: generate documentation of ifdef`ed APIs
      mbedtls: move to external module
      sdk: add support for 0.10.1 and remove 0.9.5
      doc: fix path to gdb in documentation
      doc: samples: cleanup board reference and layout
      samples: grove_light: remove whitelisting
...
Read more

Zephyr 1.14.1-rc2

21 Aug 12:31
Compare
Choose a tag to compare
Zephyr 1.14.1-rc2 Pre-release
Pre-release
Alberto Escolar Piedras (1):
      arch: POSIX: Fix race with unused threads

Alexander Mihajlovic (1):
      posix: Fix calculation of clock base in clock_settime

Alexander Wachter (1):
      drivers: can: stm32: fix filter mode set

Anas Nashif (6):
      ci: only build on specified branches
      manifest: add ci-tools
      ci: add v1.14-branch to email integration
      CODEOWNERS: remove non-existing path
      release: bump version to 1.14.1-rc1
      release: bump release to 1.14.0-rc2

Andrei Gansari (1):
      soc: k64f MPU configured to always allow ENET

Andrew Boie (50):
      arc: arm: fix support for MPUs on non-XIP systems
      newlib: fix user mode calls to _sbrk
      tests: pipe: fix error with optimization disabled
      tests: cmsis_v2: don't hard-code stack sizes
      lib: cmsis_v2: set default dynamic stack size
      lib: cmsis_v2: increase stack sizes if coverage
      tests: cmsis_v1: properly set stack size
      lib: cmsis_v1: set stack size larger if coverage
      kernel: increase workq sizes if COVERAGE=y
      testsuite: fix memory access
      tests: timer_api: run in user mode
      tests: stackprot: don't set main stack size
      kernel: adjust default main stack for riscv
      kernel: fix k_stack_alloc_init()
      tests: mutex_api: run in user mode
      kernel: init: exclude some funcs from coverage
      kernel: init: fix coverage gap
      kernel: init: exclude unreachable code
      kernel: allow k_sleep(K_FOREVER)
      tests: queue: test k_queue_alloc_*pend()
      kernel: idle: exclude no-op funcs from coverage
      lib: os: remove dead code
      tests: poll: expand userspace coverage
      tests: schedule_api: fix extern tstacks
      tests: schedule_api: exercise SCHED_MULTIQ
      tests: schedule_api: test syscalls from usermode
      tests: schedule_api: skip test assert if COVERAGE
      tests: userspace: cover missing/bad syscalls
      tests: dynamic_thread: cover thread_idx_free()
      tests: userspace: cover z_object_recycle()
      kernel: exclude stubs from code coverage
      tests: common: cover k_cycle_get_32() syscall
      tests: device: cover device_get_binding()
      tests: thread_apis: exercise some system calls
      tests: sys_mutex: improve code coverage
      kernel: offsets: exclude from coverage
      lib: os: fix vsnprintk coverage
      lib: os: exclude z_arch_printk_char_out()
      lib: os: fix slist code coverage
      kernel: test coverage for sflist
      tests: common: add tests for extra sflist APIs
      tests: schedule_api: cover priority checks
      arc: use different load instruction
      kernel: fix CONFIG_THREAD_NAME from user mode.
      tests: json: improve code coverage
      tests: fatal: test failed assertion
      tests: mem_alloc: don't set main thread size
      tests: crc: convert to regular test case
      toolchain: allow 0.10.1 SDK
      tests: force stack canaries off for two user tests

Andrzej Głąbek (2):
      boards: nrf52840_pca10059: Configure NFC pins as GPIOs by default
      drivers: pwm_nrfx: Correct prescaler value for undivided clock

Andrzej Puzdrowski (7):
      fs/nvs: fix startup for 2-sectors configuration
      fs/fcb: add API documentation to the header
      doc/reference: add FCB page
      fs/nvs: fix delete ate accommodation
      fs/nvs: fix initialization hang if sector is full
      fs/nvs: skip deletion on non existing entry
      fs/nvs: preserve the previous ate searching

Andy Ross (1):
      lib/os/mempool: Fix corruption case with block splitting

Armando Visconti (2):
      boards: 96b_argonkey: upgrade documentation using official info
      drivers/i2s_ll_stm32.c: (FIX) Avoid warning in LOG_ERR

Arthur Crepin-Leblond (2):
      Bluetooth: gatt: Fix DB corruption when adding/removing service
      Bluetooth: gatt: Reuse existing handles from a previously added service

Benjamin Valentin (3):
      usb: sam0: Ensure API arguments are valid
      usb: sam0: Implement missing API functions
      drivers: watchdog: sam0: Check if timeout is valid

Benoit Leforestier (2):
      C++: Fix compilation error "invalid conversion"
      codeowner: add codeowners for /test/lib

Bradley Bolen (1):
      cmake: Fix missing dependency

Brett Witherspoon (1):
      net: fix errno returned without promiscuous mode support

Bub Wei (1):
      samples: net: zperf: Add __packed for zperf_udp_datagram

Cami Carballo (1):
      tests: base64: add tests for error paths

Carles Cufi (4):
      west: build: Use officially documented CMake options
      west: build: Add new pristine cmd-line and config option
      scripts: west: Run pristine.cmake directly instead of the target
      doc: west: Backport moving the build config opts doc

Daniel Leung (1):
      tests/kernel/device: extends test for code coverage

David B. Kinder (1):
      doc: fix watchdog API documentation

Declan Traill (1):
      Settings: Fixes for compiler warnings

Derek Hageman (1):
      soc: sam0: Fix SAMD20 IRQ assignments

Findlay Feng (1):
      bluetooth: Fix an undefined behavior

Georgij Cernysiov (2):
      drivers: counter: stm32: fix LSE clock source for not F4 SoC
      drivers: rtc: stm32: correct tm_mon conversion

Greg S. Woods (1):
      entropy: fix C++ compiler warnings

Henrik Brix Andersen (1):
      gpio: rv32m1: enable GPIO port clocks

Ioannis Glaropoulos (4):
      arch: arm: fix start of MPU guard in stack-fail check (no user mode)
      arch: arm: userspace: correct inline comment for bad syscalls
      userspace: minor typo fixes in various places
      arch: arm: userspace: don't use the default stack in z_arm_do_syscall

Ioannis Konstantelias (1):
      drivers: flash: stm32: Fix insufficient wait time

Joakim Andersson (15):
      Bluetooth: controller: Fix assert in RPA timeout for advertiser
      Bluetooth: Host: Fix wrong init address when controller resolved address
      Bluetooth: Controller: Fix privacy advertiser connect peer address type
      Bluetooth: Host: Fix bug in creating connection with wrong own address.
      Bluetooth: SMP: Fix SMP identity distributing IRK for ID 0 always
      Bluetooth: host: Fix gatt indicate when conn is NULL
      Bluetooth: Host: Fix advertiser state flags
      Bluetooth: GATT: Fix segfault discover descriptors all UUIDs
      Bluetooth: Settings: Fix generated identity not persistently stored.
      Bluetooth: SMP: Fix peripheral security request with authenticated keys
      Bluetooth: controller: Fix assert in RPA timeout for advertiser
      Bluetooth: Host: fix missing interval_min copy
      Bluetooth: Host: Fix RPA timer not running
      Bluetooth: Host: Set Kconfig RPA timeout in controller
      Bluetooth: Host: Fix unable to connect using host resolution

Joao Cordeiro (1):
      samples: bluetooth: peripheral: Fix RX buffer size

Johan Hedberg (30):
      Bluetooth: Mesh: Fix RPL storage timeout handling
      Bluetooth: Mesh: Fix postponing storage deadline indefinitely
      Bluetooth: Mesh: Fix missing implementation of Proxy SAR timeout
      Bluetooth: Mesh: Fix segmented message RPL behavior
      Bluetooth: Fix expiring RPA when different local identities are used
      Bluetooth: Add dedicated pool for HCI_Num_Completed_Packets HCI event
      Bluetooth: Introduce separate pool for discardable events
      Bluetooth: Mesh: Fix missing protocol error timeout
      Bluetooth: Mesh: Fix Public Key mismatch error handling
      Bluetooth: Mesh: Rename reset_link() to reset_adv_link()
      Bluetooth: SMP: Make public key handling more robust
      Bluetooth: Fix public key callback management
      Bluetooth: Mesh: Generate new public key for each provisioning session
      Bluetooth: Mesh: Fix rejecting invalid remote public key
      Bluetooth: Mesh: Fix provisioning send error handling
      Bluetooth: Mesh: Move heartbeat sending to transport layer
      Bluetooth: Mesh: Fix checking for active heartbeat publication
      Bluetooth: Mesh: Fix heartbeat sending on Friendship established/lost
      Bluetooth: Mesh: Fix canceled buffer memory leak
      Bluetooth: Mesh: Fix not sending all segments through the Friend Queue
      Bluetooth: Mesh: Fix resending segments on correct bearer
      Bluetooth: Mesh: Fix canceling publication retransmission timer
      Bluetooth: Mesh: Fix starting IV Update when not on primary subnet
      Bluetooth: Mesh: Introduce a helper for send callback finalization
      Bluetooth: Mesh: Fix reference count imbalance in bt_mesh_net_resend()
      Bluetooth: Remove bogus files
      Bluetooth: Mesh: Fix missing call to send_cb_finalize
      Bluetooth: Mesh: Remove unused code
      Bluetooth: Mesh: Fix adhering to the configured Friend Queue size
      Bluetooth: Mesh: Fix discarding messages with many segments

Johann Fischer (2):
      boards: reel_board: enable pull-up on UART TX pin
      usb: usb_dfu: do not set bwPollTimeout dynamically

Josef Gajdusek (2):
      drivers: usb_dc_stm32: Make pin remapping part of the device tree
      drivers: usb_dc_stm32: Reinitialize the write semaphores on bus reset

Jukka Rissanen (21):
      samples: net: dumb_http_server: Add net_pkt.h file inclusion
      samples: net: dumb_http_server: Check EOF while skipping headers
      net: ipv4: Allow UDP packets with broadcast dst address
      net: ipv4: Send multicast ICMPv4 reply with correct src address
      net: if: Select global IPv4 address if needed
      net: llmnr: Check that UDP header can be accessed
      net: if: Fix null pointer deref when selecting IPv4 address
      net: sntp: Ignore return value from close
      net: mgmt: Add info length to event wait API
      net: mgmt: Send event with info when applicaple
      tests: net: mgmt: Verify that info_length is...
Read more

Zephyr v2.0.0-rc1

11 Aug 21:34
Compare
Choose a tag to compare
Zephyr v2.0.0-rc1 Pre-release
Pre-release
Aaron Tsui (7):
      doc: sample: mpu  Update documentation
      samples: bluetooth: ibeacon: change to ADV_NONCONN_IND type
      samples: shields: x_nucleo_iks01a1
      samples: sensor: bme280: add README.rst
      samples: sensor: bme280: add arduino_101_sss.overlay
      samples: servo_motor: add HW PWM choice for NRF52 family
      samples: bluetooth: peripheral_ht: Health Thermometer sample`

Alberto Escolar Piedras (22):
      doc: labels: Add links to feature process
      native_posix: cmdline: Hint user about wrong options
      nrf52_bsim: Add header to allow reusing native_posix drivers
      CODEOWNERS: remove use of commas
      native_posix: Run in real time by default with host BT
      doc: Remove API labels
      CODEOWNERS: Add reviewer for native_posix docs and flash driver
      CODEOWNERS: Clarify behaviour
      sanitycheck: Record time used in BinaryHandler
      sanitycheck: Minor optimization in BinaryHandler
      CODEWONERS: syntax fix: Remove comma
      nrf52_bsim: Add nrfx path to include path
      arch: POSIX: Do not assume 32bit pointers
      sanitycheck: update sections whitelist
      sanitycheck: Add missing section to whitelist
      native_posix: Replace system timer driver
      arch: POSIX: Fix race with unused threads
      nrf52_bsim: doc: Clarify how to fetch and compile BabbleSim
      native_posix: Fix undefined macro warning
      logging: Fix undefined macro warning
      shell: Fix undefined macro warnings
      nrf52_bsim: Minor fix in time coversion

Alex Porosanu (1):
      soc: riscv32: fix zero-riscy zephyr,flash node

Alexander Mihajlovic (1):
      posix: Fix calculation of clock base in clock_settime

Alexander Svensen (9):
      Bluetooth: controller: ull/lll: Workaround CPR procedure collision
      Bluetooth: controller: ull/lll: Do not feature exc more than once
      Bluetooth: controller: split: Fix Conn Param Req procedure stall issue
      Bluetooth: controller: split: Fix master role RSSI measurement
      Bluetooth: controller: split: Refactor the lll_clock_wait() function
      Bluetooth: controller: split: Refactor if_defines to is_enabled in lll.c
      Bluetooth: controller: split: Refactor if defines in lll_adv.c
      Bluetooth: controller: split: Refactor if defines in lll_scan.c
      Drivers: led: lp5562: Add delay when writing to enable register

Alexander Wachter (49):
      boards: arm: nucleo_f746zg: Activate CAN on nucleo F746zg
      drivers: sensor: ams_iAQcore: Implemented ASM Indoor Air Quality Sensor
      samples: sensor: ams_iAQcore: Implement sample for AMS iAQ-core
      drivers: sensor: ens210: Implement AMS ens210 Sensor
      samples: sensor: ens210: Implement sample for ens210
      tests: drivers: build_all: Add AMS IAQcore and ENS210 to build all
      CODEOWNERS: Add codeowner for ams iAQcore and ENS210
      drivers: can: stm32: fix filter mode set
      drivers: can: Extend attach_isr with void *arg and pass to the isr cb
      drivers: can: Extend can_send with void *arg and pass it to the isr cb
      drivers: can: rework can_attach_msgq
      drivers: can: Implement can_attach_workq
      tests: drivers: can: api: define DT_CAN_1_NAME if not defined
      tests: drivers: can: Add testcases for attach_workq
      tests: drivers: can: Make CAN dev global
      drivers: can: Add loopback driver
      drivers: can: rename drivers to can_<dev name>
      drivers: can: mcux_flexcan: Add support for MK64
      soc: nxp: k6x: Add CAN support
      boards: frdm-k64f: Enable CAN support
      samples: CAN: Add FRDM-K64F defconfig
      drivers: can: stm32: Remove STM CAN_Init
      drivers: can: stm32: Change TX priority to chronological order
      drivers: can: stm32 Add error message for buffer overflow
      drivers: can: stm32: Update enable driver help message
      linker: Add dtcm section for Cortex M7 MCUs
      dts: stm32f7: Add Device Tightly Coupled Memory
      drivers: ethernet: stm32: Put DMA buffer to DTCM section
      boards: arm: Activate DTCM for STM32F7 boards with Ethernet
      net: ip: 6lo compression rework
      net: ip: net_pkt: Add pkt_cursor_advance before contiguous check
      net: ip: 6lo (IPHC) uncompression rework
      net: ip: 6lo: Remove unnecessary net_buf allocation and memmove
      tests: net: 6lo: Adapt tests to deal with headers in multiple frames
      tests: net: 6Lo: Add test criterion HDR diff
      drivers: can: Add CAN shell
      samples: drivers: CAN: enable can shell for the sample
      tests: boards: board_shell: Activate CAN shell
      can: Add RX timestamp to zcan_frame
      drivers: can: stm32: Implement timestamp for RX frames
      net: canbus: Rename canbus to canbus_raw
      net: l2: 6LoCAN implementation
      net: l2: canbus: Add support for pkt reception from translator
      net: ip: net_pkt: Implement net_pkt_shallow_clone
      net: ip: ipv6_nbr: take TLLAO length from src lladdres
      net: l2: canbus: Add support for canbus Ethernet translator
      net: ip: ipv6_nbr: use temp variables for ntoh conversion
      samples: net: echo_client and echo_server: Add 6LoCAN config
      net: ip: ipv6_nbr: Make LLAO length calculation more universal

Alexandre Bourdiol (4):
      boards: Set pinmux.c compilation under switch CONFIG_PINMUX
      samples: basic minimal: add nucleo_f429zi, disco_l475_iot1 to whitelist
      board: add call to zephyr_library() for stm32mp157c_dk2
      board: use ${ZEPHYR_BASE} instead of ${PROJECT_SOURCE_DIR}

Alexey Brodkin (11):
      soc/nsim: Minor clean-up
      simulation: ARC EM in nSIM to use nsim_em.props
      board/nsim: Make it CPU-family independent
      board/nsim: Move CPU selection in defconfigs
      board/nsim: Refactor device tree description
      ARC: Mention ARC EM family instead of EM4 template
      arc: Preserve STATUS32 flags while resetting AE flag
      arc: Add support for unaligned access
      boards/nsim: Enable unaligned data acess for nSIM with simple ARC EM
      board/nsim: Add support of ARC HS cores in nSIM
      board/nsim: Add support of multi-core ARC HS platform in nSIM

Anas Nashif (198):
      ci: only build on specified branches
      boards: v2m_musca_b1_nonsecure: add flash to yaml
      boards: v2m_musca_b1_nonsecure: disable sanitycheck [REVERT ME]
      flash_map: fix test names
      flash_map: add function to iterate over areas
      flash_map: add shell interface
      ci: detect changes to sub-board definitions
      sanitycheck: add timestamps to messages
      sanitycheck: fix reporting: build vs. run
      sanitycheck: handle pid file not being present
      sanitycheck: show handler in verbose mode
      CODEOWNERS: update code owners
      tests: ipm: disable on qemu_x86_64
      CODEOWNERS: minor cleanup
      CODEOWNERS: remove use of commas
      crc: remove deprecated crc headers
      ci: send email to builds@ mailing list if master fails
      CODEOWNERS: address some unowned files/dirs
      doc: guide for optimizing zephyr
      doc: move module related doc to guides
      doc: document submitting changes to modules
      qmsi: move to a zephyr module
      qmsi: set type to boolean when selecting QMSI
      esp: move HAL to external repo
      fatfs: move fatfs filesystem to a module
      mcumgr: move to an external module
      nffs: move to an external module
      segger: move to an external module
      CODEOWNERS: remove ext/fs entry
      kconfig: enclose module Kconfigs into a menu
      cmake: build modules under /modules
      gitlint: match max title length restriction with checkpatch
      modules: move module kconfig to main tree
      manifest: update with module state
      silabs: move HAL to external repo
      cypress: move HAL to external repo
      ext: move libmetal to an external module
      ext: move open-amp to an external module
      modules: move kconfig into tree
      mcumgr: move Kconfig to main tree
      CODEOWNERS: Update owners for subsys/mgmt/
      manifest: update to latest MCUMGR head
      x86: remove unused and x86 only latency benchmark
      compiler: no warnings on address-of-packed-member
      include: arch: move bits_portable.h to arch/common
      include: arch: move addr_types to common location
      include: arch: remove empty nios2 asm.h
      include: arch: rename xtensa_irq.h to irq.h
      CODEOWNERS: update file for include/arch/common/
      cmake: no-address-of-packed-member is not supported in older compilers
      logging: use os as a domain for low level system debugging
      tests: mesh: fix function prototype and match declaration
      style: add braces around if/while statements
      style: samples/tests: add braces around if/while statements
      doc: redirect old board pages to new location
      doc: remove .html from redirect entries
      doc: generate documentation of ifdef`ed APIs
      mbedtls: move to external module
      sdk: add support for 0.10.1 and remove 0.9.5
      doc: fix path to gdb in documentation
      doc: samples: cleanup board reference and layout
      samples: grove_light: remove whitelisting
      soc: nxp: ke1xf: add DTS SPI definitions
      samples: spi_fujitsu_fram: remove whitelisting
      manifest: order modules alphabetically
      manifest: add ci-tools to manifest
      manifest: remove out-dated comment
      manifest: move net-tools to tools/net-tools
      ci: move to new docker with new SDK
      ci: skip handling coverage data
      sanitycheck: report tests that never build/run
      ext: hal: st: move to modules
      docs: fix misspelling across the tree
      ci: increase sleep time between sanitycheck runs
      drivers: uart_console: include correct path
      drivers: uart_console: do not include arch/cpu.h directly
      drivers: uart_c...
Read more

Zephyr v1.14.1-rc1

05 Jul 16:14
Compare
Choose a tag to compare
Zephyr v1.14.1-rc1 Pre-release
Pre-release

This is the first release candidate from the 1.14 branch (LTS) with many bug fixes and and test enhancements increasing coverage of testing. Highlights of this release:

  • Bluetooth bugfixes needed for host and controller qualification
  • Increase coverage of kernel and core OS tests and fixed issues uncovered by the newly added tests
  • Various build system enhancements keeping 1.14 compatible with development branch
  • Support for out-of-tree configurations
  • Fixes for issues uncovered by static analysis

Below is the list of all commits since v1.14.0:

Alexander Mihajlovic (1):
      posix: Fix calculation of clock base in clock_settime

Alexander Wachter (1):
      drivers: can: stm32: fix filter mode set

Anas Nashif (5):
      ci: only build on specified branches
      manifest: add ci-tools
      ci: add v1.14-branch to email integration
      CODEOWNERS: remove non-existing path
      release: bump version to 1.14.1-rc1

Andrew Boie (46):
      arc: arm: fix support for MPUs on non-XIP systems
      newlib: fix user mode calls to _sbrk
      tests: pipe: fix error with optimization disabled
      tests: cmsis_v2: don't hard-code stack sizes
      lib: cmsis_v2: set default dynamic stack size
      lib: cmsis_v2: increase stack sizes if coverage
      tests: cmsis_v1: properly set stack size
      lib: cmsis_v1: set stack size larger if coverage
      kernel: increase workq sizes if COVERAGE=y
      testsuite: fix memory access
      tests: timer_api: run in user mode
      tests: stackprot: don't set main stack size
      kernel: adjust default main stack for riscv
      kernel: fix k_stack_alloc_init()
      tests: mutex_api: run in user mode
      kernel: init: exclude some funcs from coverage
      kernel: init: fix coverage gap
      kernel: init: exclude unreachable code
      kernel: allow k_sleep(K_FOREVER)
      tests: queue: test k_queue_alloc_*pend()
      kernel: idle: exclude no-op funcs from coverage
      lib: os: remove dead code
      tests: poll: expand userspace coverage
      tests: schedule_api: fix extern tstacks
      tests: schedule_api: exercise SCHED_MULTIQ
      tests: schedule_api: test syscalls from usermode
      tests: schedule_api: skip test assert if COVERAGE
      tests: userspace: cover missing/bad syscalls
      tests: dynamic_thread: cover thread_idx_free()
      tests: userspace: cover z_object_recycle()
      kernel: exclude stubs from code coverage
      tests: common: cover k_cycle_get_32() syscall
      tests: device: cover device_get_binding()
      tests: thread_apis: exercise some system calls
      tests: sys_mutex: improve code coverage
      kernel: offsets: exclude from coverage
      lib: os: fix vsnprintk coverage
      lib: os: exclude z_arch_printk_char_out()
      lib: os: fix slist code coverage
      kernel: test coverage for sflist
      tests: common: add tests for extra sflist APIs
      tests: schedule_api: cover priority checks
      arc: use different load instruction
      kernel: fix CONFIG_THREAD_NAME from user mode.
      tests: json: improve code coverage
      tests: fatal: test failed assertion

Andrzej Głąbek (2):
      boards: nrf52840_pca10059: Configure NFC pins as GPIOs by default
      drivers: pwm_nrfx: Correct prescaler value for undivided clock

Andrzej Puzdrowski (1):
      fs/nvs: fix startup for 2-sectors configuration

Armando Visconti (2):
      boards: 96b_argonkey: upgrade documentation using official info
      drivers/i2s_ll_stm32.c: (FIX) Avoid warning in LOG_ERR

Benjamin Valentin (3):
      usb: sam0: Ensure API arguments are valid
      usb: sam0: Implement missing API functions
      drivers: watchdog: sam0: Check if timeout is valid

Benoit Leforestier (1):
      C++: Fix compilation error "invalid conversion"

Bradley Bolen (1):
      cmake: Fix missing dependency

Brett Witherspoon (1):
      net: fix errno returned without promiscuous mode support

Bub Wei (1):
      samples: net: zperf: Add __packed for zperf_udp_datagram

Carles Cufi (4):
      west: build: Use officially documented CMake options
      west: build: Add new pristine cmd-line and config option
      scripts: west: Run pristine.cmake directly instead of the target
      doc: west: Backport moving the build config opts doc

David B. Kinder (1):
      doc: fix watchdog API documentation

Derek Hageman (1):
      soc: sam0: Fix SAMD20 IRQ assignments

Georgij Cernysiov (2):
      drivers: counter: stm32: fix LSE clock source for not F4 SoC
      drivers: rtc: stm32: correct tm_mon conversion

Greg S. Woods (1):
      entropy: fix C++ compiler warnings

Henrik Brix Andersen (1):
      gpio: rv32m1: enable GPIO port clocks

Ioannis Glaropoulos (1):
      arch: arm: fix start of MPU guard in stack-fail check (no user mode)

Joao Cordeiro (1):
      samples: bluetooth: peripheral: Fix RX buffer size

Johan Hedberg (15):
      Bluetooth: Mesh: Fix RPL storage timeout handling
      Bluetooth: Mesh: Fix postponing storage deadline indefinitely
      Bluetooth: Mesh: Fix missing implementation of Proxy SAR timeout
      Bluetooth: Mesh: Fix segmented message RPL behavior
      Bluetooth: Fix expiring RPA when different local identities are used
      Bluetooth: Add dedicated pool for HCI_Num_Completed_Packets HCI event
      Bluetooth: Introduce separate pool for discardable events
      Bluetooth: Mesh: Fix missing protocol error timeout
      Bluetooth: Mesh: Fix Public Key mismatch error handling
      Bluetooth: Mesh: Rename reset_link() to reset_adv_link()
      Bluetooth: SMP: Make public key handling more robust
      Bluetooth: Fix public key callback management
      Bluetooth: Mesh: Generate new public key for each provisioning session
      Bluetooth: Mesh: Fix rejecting invalid remote public key
      Bluetooth: Mesh: Fix provisioning send error handling

Johann Fischer (2):
      boards: reel_board: enable pull-up on UART TX pin
      usb: usb_dfu: do not set bwPollTimeout dynamically

Josef Gajdusek (2):
      drivers: usb_dc_stm32: Make pin remapping part of the device tree
      drivers: usb_dc_stm32: Reinitialize the write semaphores on bus reset

Jukka Rissanen (13):
      samples: net: dumb_http_server: Add net_pkt.h file inclusion
      samples: net: dumb_http_server: Check EOF while skipping headers
      net: ipv4: Allow UDP packets with broadcast dst address
      net: ipv4: Send multicast ICMPv4 reply with correct src address
      net: if: Select global IPv4 address if needed
      net: llmnr: Check that UDP header can be accessed
      net: if: Fix null pointer deref when selecting IPv4 address
      net: sntp: Ignore return value from close
      net: mgmt: Add info length to event wait API
      net: mgmt: Send event with info when applicaple
      tests: net: mgmt: Verify that info_length is correct
      net: dns: Make dns_unpack_answer() to check non-compressed answers
      tests: net: dns: Add tests for dns_unpack_answer()

Krzysztof Chruscinski (4):
      logging: Allow logger usage in C++ files
      lib: os: ring_buffer: Fix C++ compilation warning
      drivers: clock_control: nrf: Fix lfclk source settings for nrf9160
      drivers: counter: nrfx_rtc: Fix lack of interrupt when CC=0

Kwon Tae-young (1):
      boards: stm32f4_disco: Fix yaml ram size

Loic Poulain (2):
      ext: mcux: csi: Fix wrong circular queue delta calculation
      net: ethernet: Fix build issue with C++

Luiz Augusto von Dentz (5):
      Bluetooth: GATT: Fix assuming writes to CCC will always contain 2 bytes
      Bluetooth: L2CAP: Fix inverting of SCID and DCID on disconnect
      Bluetooth: GATT: Fix bt_gatt_discovery with BT_GATT_DISCOVER_DESCRIPTOR
      Bluetooth: shell: gatt: Add discover command
      Bluetooth: GATT: Fix not parsing result of Read by Type

Marcin Szymczyk (2):
      cmake: fix support for out of tree shields
      usb: add zero-length packet after MPS-sized IN transaction

Marek Pieta (2):
      bluetooth: Fix bt_conn->id handling
      Bluetooth: host: Fix bt_keys_get_addr()

Mariusz Skamra (2):
      Bluetooth: controller: Workaround CPR procedure collision at CPU instant
      Bluetooth: gatt: Fix infinite read_by_uuid procedure

Marti Bolivar (2):
      scripts: flake8 cleanup for west build
      scripts: fix pyocd runner --flash-opt help

Michael Scott (1):
      net: openthread: fix off-by-one error in settings offset calculation

Nicolas Pitre (1):
      PTHREAD_MUTEX_DEFINE(): don't store into the _k_mutex section

Patrik Flykt (3):
      net: ethernet: Set NET_ETH_PTYPE_ARP for IPv4 link local packet type
      net: ethernet: Send sender IP address in ARP announce packets
      net/ip/dhcpv4: Set source IP address in DHCP Request

Pawel Dunaj (2):
      bluetooth: host: Use correct identity when direct advertising
      bluetooth: host: Unref conn on direct adv start error

Phil Erwin (1):
      cmake: Fix missing dependency

Ravi kumar Veeramally (1):
      net: sockets: Add timeout to socket connect call

Rich Barlow (1):
      Bluetooth: Mesh: LPN: Clear sent_req on failure

Ryan C Johnson (1):
      drivers: flash: w25q: erase operations must be erase-size aligned

Ryan QIAN (2):
      dts: arm: nxp: Add dtsi for RT1020
      boards: arm: mimxrt1020_evk: update board dts

Sebastian Bøe (3):
      cmake: Don't have users call zephyr_link_interface on mbedTLS
      cmake: DT: Change from -Idts/common to -isystem dts/common
      cmake: DT: Add support for out-of-tree binding root directories

Sören Tempel (4):
      soc/riscv32-fe310: add label for uart1
      net: slip: allow compilation without CONFIG_NET_LLDP
      net: slip: fix compilation without NET_L2_ETHERNET
      drivers: serial: sifive: Fix UART extern interrupts

Tedd Ho-Jeong An (2):
      Blue...
Read more

Zephyr 1.14.0

16 Apr 20:24
Compare
Choose a tag to compare

We are pleased to announce the release of Zephyr kernel version 1.14.0.

Major enhancements with this release include:

  • The Zephyr project now supports over 160 different board configurations
    spanning 8 architectures. All architectures are rigorously tested and
    validated using one of the many simulation platforms supported by the
    project: QEMU, Renode, ARC Simulator, and the native POSIX configuration.

  • The timing subsystem has been reworked and reimplemented, greatly
    simplifying the resulting drivers, removing thousands of lines
    of code, and reducing a typical kernel build size by hundreds of bytes.
    TICKLESS_KERNEL mode is now the default on all architectures.

  • The Symmetric Multi-Processing (SMP) subsystem continues to evolve
    with the addition of a new CPU affinity API that can "pin" threads to
    specific cores or sets of cores. The core kernel no longer uses the
    global irq_lock on SMP systems, and exclusively uses the spinlock API
    (which on uniprocessor systems reduces to the same code).

  • Zephyr now has support for the x86_64 architecture. It is currently
    implemented only for QEMU targets, supports arbitrary numbers of CPUs,
    and runs in SMP mode by default, our first platform to do so.

  • We've overhauled the Network packet net-pkt
    API and moved the majority of components and protocols to use the
    BSD socket API, including MQTT, CoAP,
    LWM2M, and SNTP.

  • We enhanced the native POSIX port by adding UART, USB, and display
    drivers. Based on this port, we added a simulated NRF52832 SoC which enables
    running full system, multi-node simulations, without the need of real
    hardware.

  • We added an experimental BLE split software Controller with Upper Link Layer
    and Lower Link Layer for supporting multiple BLE radio hardware
    architectures.

  • The power management subsystem has been overhauled to support device idle
    power management and move most of the power management logic from the
    application back to the BSP.

  • We introduced major updates and an overhaul to both the logging and
    shell subsystems, supporting multiple back-ends, integration
    of logging into the shell, and delayed log processing.

  • Introduced the west tool for management of multiple repositories and
    enhanced support for flashing and debugging.

  • Added support for application user mode, application memory
    partitions, and hardware stack protection in ARMv8m

  • Applied MISRA-C code guideline on the kernel and core components of Zephyr.
    MISRA-C is a well established code guideline focused on embedded systems and
    aims to improve code safety, security and portability.

The following sections provide detailed lists of changes by component.

Security Vulnerability Related

The following security vulnerabilities (CVEs) were addressed in this release:

  • Tinycrypt HMAC-PRNG implementation doesn't take the HMAC state
    clearing into account as it performs the HMAC operations, thereby using a
    incorrect HMAC key for some of the HMAC operations.
    (CVE-2017-14200)

  • The shell DNS command can cause unpredictable results due to misuse of stack
    variables.
    (CVE-2017-14201)

  • The shell implementation does not protect against buffer overruns resulting
    in unpredictable behavior.
    (CVE-2017-14202)

  • We introduced Kernel Page Table Isolation, a technique for
    mitigating the Meltdown security vulnerability on x86 systems. This
    technique helps isolate user and kernel space memory by ensuring
    non-essential kernel pages are unmapped in the page tables when the CPU
    is running in the least privileged user mode, Ring 3. This is the
    fix for Rogue Data Cache Load. (CVE-2017-5754)

  • We also addressed these CVEs for the x86 port:

    • Bounds Check Bypass (CVE-2017-5753)
    • Branch Target Injection (CVE-2017-5715)
    • Speculative Store Bypass (CVE-2018-3639)
    • L1 Terminal Fault (CVE-2018-3620)
    • Lazy FP State Restore (CVE-2018-3665)

Kernel

  • The timing subsystem has been reworked and mostly replaced:

    • The timer driver API has been extensively reworked, greatly
      simplifying the resulting drivers. By removing thousands of lines
      of code, we reduced the size of a typical kernel build by hundreds
      of bytes.

    • TICKLESS_KERNEL mode is now the default on all architectures. Many
      bugs were fixed in this support.

  • Lots of work on the rapidly-evolving SMP subsystem:

    • There is a new CPU affinity API available to "pin" threads to
      specific cores or sets of cores.

    • The core kernel is now 100% free of use of the global irq_lock on
      SMP systems, and exclusively uses the spinlock API (which on
      uniprocessor systems reduces to the same code).

    • Zephyr now has a simple interprocessor interrupt framework for
      applications, such as the scheduler, to use for synchronously
      notifying other processors of state changes. It's currently implemented
      only on x86_64 and used only for thread abort.

  • Zephyr now has support for the x86_64 architecture. It is
    currently implemented only for QEMU targets.

    • It supports arbitrary numbers of CPUs in SMP, and runs in SMP mode
      by default, our first platform to do so.

    • It currently runs code built for the "x32" ABI, which is a native
      64-bit hardware state, where pointers are 32 bit in memory.
      Zephyr still has some lurking word size bugs that will need to be
      fixed to turn on native 64 bit code generation.

  • K_THREAD_STACK_BUFFER() has been demoted to a private API and will be removed
    in a future Zephyr release.

  • A new API sys_mutex has been introduced. It has the same semantics
    as a k_mutex, but the memory for it can reside in user memory and so
    no explicit permission management is required.

  • sys_mem_pool() now uses a sys_mutex() for concurrency control.

  • Memory protection changes:

    • CONFIG_APPLICATION_MEMORY option has been removed from Zephyr. All test
      cases have been appropriately converted to use memory domains.
    • The build time memory domain partition generation mechanism, formerly
      an optional feature under CONFIG_APP_SHARED_MEM, has been overhauled
      and is now a core part of memory protection.
    • Userspace is no longer enabled by default for tests. Tests that are
      written to execute wholly or in part in user mode will need to enable
      CONFIG_TEST_USERSPACE in the test's project configuration. There are
      assertions in place to enforce that this is done.
    • The default stack size for handling system calls has been increased to
      1024 bytes.
  • We started applying MISRA-C (https://www.misra.org.uk/) code guideline on
    the Zephyr kernel. MISRA-C is a well established code guideline focused on
    embedded systems and aims to improve code safety, security, and portability.
    This initial effort was narrowed to the Zephyr kernel and architecture
    code, and focused only on mandatory and required rules. The following rules
    were addressed:

    • Namespace changes
    • Normalize switch() operators
    • Avoid implicit conversion to boolean types
    • Fix and normalize headers guard
    • Make if() evaluate boolean operands
    • Remove all VLAs (variable length array)
    • Avoid undefined and implementation defined behavior with shift operator
    • Remove recursions

Architectures

  • Introduced X86_64 (64 bit) architecture support with SMP features

  • High-level Kconfig symbol structure for Trusted Execution

  • ARM:

    • Re-architect Memory Protection code for ARM and NXP
    • Fully support application user mode, memory partitions, and
      stack protection in ARMv8m
    • Support built-in stack overflow protection in user mode in ARMv8m
    • Fix stack overflow error reporting
    • Support executing from SRAM in XIP builds
    • Support non-cacheable memory sections
    • Remove power-of-two align and size requirement for ARMv8-m
    • Introduce sync barriers in ARM-specific IRQ lock/unlock functions
    • Enforce double-word stack alignment on exception entry
    • API to allow Non-Secure FPU Access (ARMv8-M)
    • Various enhancements in ARM system boot code
    • Indicate Secure domain fault in Non-Secure fault exception
    • Update ARM CMSIS headers to version 5.4.0
  • ARC:

    • Userspace and MPU driver improvements
    • Optimization of the thread stack definition macros
    • Bug fixes: handling of lp_xxx registers in _rirq_return_from_coop, nested
      interrupt handling, hardware stack bounds checking, execution benchmarking
    • Atomic operations are now usable from user mode on all ARC CPUs
  • x86:

    • Support for non-PAE page tables has been dropped.
    • Fixed various security CVEs related to micro-architecture side-effects of
      speculative execution, as detailed in the security notes.
    • Added robustness when reporting exceptions generated due to stack
      overflows or induced in user mode
    • Pages containing read-only data no longer have the execute disable (XD)
      bit un-set.
    • Fix potential IRQ stack corruption when handling double faults

Boards & SoC Support

  • Added the all new NRF52 simulated board:
    This simulator models some of the hardware in an NRF52832 SOC, to enable
    running full system, multi-node simulations, without the need of real
    hardware. It enables fast, reproducible testing, development, and debugging
    of an application, BlueTooth (BT) stack, and kernel. It relies on BabbleSim
    to simulate the radio physical layer.

  • Added SoC configuration for nRF9160 and Musca ARM Cortex-M33 CPU

  • Added support for the following A...

Read more