Skip to content

Releases: zephyrproject-rtos/zephyr

Zephyr v2.4.0-rc3

24 Sep 23:11
v2.4.0-rc3
Compare
Choose a tag to compare
Zephyr v2.4.0-rc3 Pre-release
Pre-release
Alexander Kozhinov (1):
      samples: hello_world: cmake warning

Alexandre Bourdiol (5):
      soc: arm: st_stm32: stm32f0: take into account SW_VECTOR_RELAY
      tests: kernel: mem_protect: syscalls: FAULTY_ADDRESS for nucleo_l073rz
      boards: arm: b_l4s5i_iot01a: leds are active high
      tests: kernel: timer: timer_api: tick align for test_timer_k_define
      tests: kernel: timer: timer_api: reorder test_timer_remaining step

Anas Nashif (6):
      samples: tracing: print out useful information
      tracing: fix empty thread name
      samples: synchronisation: handle empty thread name
      tracing: x86_64: move switched_in to switch function
      tracing: handle null thread names with systemview
      actions: increase stale operations

Andrew Boie (3):
      x86-64: fix thread tracing
      doc: releasenotes: mem pool deprecation
      tests: exception: fix thread entry points

Andrzej Głąbek (1):
      modules/Kconfig.nordic: Do not select HAS_CMSIS_CORE through HAS_NRFX

Andrzej Puzdrowski (1):
      include/storage/flash_map: describe return values of flash_area_open()

Armando Visconti (2):
      drivers/sensor/lsm6dsl: Fix read/write bus API in shub code
      drivers: sensor: hts221: Add checks for drdy_gpios macros

Carles Cufi (1):
      kernel: Deprecate CONFIG_MULTITHREADING

Daniel Leung (4):
      tests: x86/pagetables: skip table dumping if large memory
      tests: thread_apis: move uptime gathering in join scenario
      tests: portability/cmsis_rtos_v2: skip up_squared
      samples: cmsis_rtos_v1: philosophers: skip up_squared

David Komel (2):
      drivers: net: slip: Allow slip to co-exist with other interfaces
      net: tcp2: fix sysworkq corruption in tcp_conn_unref()

David Leach (1):
      test: power: Remove frdm_k64f platform from allowed list

Dominik Ermel (1):
      storage: flash_map: Unify partition processing macros name

Emil Gydesen (4):
      Bluetooth: Host: Fix PA sync cancel scan update
      Bluetooth: Host: Change PA sync scan to fast scan
      Bluetooth: Shell: PA sync terminate callback clears entry
      Bluetooth: Shell: Fix PA shell command parameter cnt

Emil Obalski (1):
      tests: shell: Correct overlay extension

Eric Johnson (3):
      sys: byteorder: Fix incorrect shift in sys_get_be48/le48
      tests: kernel: common: Add tests for 48-bit byteorder functions
      tests: kernel: common: Add tests for 24-bit byteorder functions

Erik Brockhoff (1):
      bluetooth: controller: fix mark/unmark error in ull_adv::disable

Erwan Gouriou (1):
      boards: nucleo_l552ze_q: Fix connectors image

Flavio Ceolin (2):
      doc: release notes: Update security notes for 2.4
      codeowners: Add owners to security documentation

Gerard Marull-Paretas (1):
      lib: gui: lvgl: fix touch point rotation equations

Gerson Fernando Budke (2):
      dts: arm: atmel: sam4l: Fix pinctrl typo
      samples: net: echo_server: Decrease buffer for atsamr21_xpro

Hake Huang (1):
      board: update rt6xx series sram mapping

Henrik Brix Andersen (2):
      boards: arm: arty: note which boards can use the pre-built bitstream
      doc: release: 2.4: add sensor_attr_get() in release notes

Ievgenii Meshcheriakov (4):
      drivers/flash/soc_flash_nrf: Name flash sync choice
      drivers/flash/soc_flash_nrf: Rename config option SOC_FLASH_NRF_RADIO_SYNC
      drivers/flash/soc_flash_nrf: Enable ticker radio sync only with Zephyr LL
      drivers/flash/soc_flash_nrf: Remove blank lines at the end of config files

Ilya Averyanov (1):
      Bluetooth: fix strncpy call in bt_set_name

Ioannis Glaropoulos (6):
      arch: arm: cortex_m: cleanup SW_VECTOR_RELAY_CLIENT dependencies
      modules: tfm: make BL2 header in non-secure image configurable
      boards: mps2_an521: do not offset the image by default by 0x400.
      boards: arm: musca_b1: do not offset the image by default by 0x400.
      boards: nucleo_l552ze_q: do not offset the image by default by 0x400.
      tests: explicitly disable HW Stack Protection when needed

Joakim Andersson (2):
      Bluetooth: SMP: Move le_sc_supported helper function up
      Bluetooth: host: Fix stuck OOB get local functions SC is not supported

Johan Hedberg (1):
      x86: pcie: Fix calling pcie_mm_init()

Johann Fischer (1):
      drivers: eth_enc424j600: initialize device pointer

Jukka Rissanen (8):
      net: conn: Ignore unhandled IPv4 broadcast packets
      net: pkt: Add net_pkt_is_empty() util function
      net: Drop incoming packet if there is no data in it
      net: gptp: Allow user to tweak priority1 and priority2 values
      net: gptp: Print priority1 and priority2 vars in net-shell
      tests: net: tcp2: Fix crash in frdm_k64f
      net: DHCPv4 needs UDP to work properly
      net: tcp2: Access k_work in k_delayed_work using field name

Julien D'Ascenzio (1):
      soc: arm: stm32[l4|wb]: fix power state exit

Krzysztof Chruscinski (1):
      drivers: clock_control: nrf: Fix waiting for LF clock

Kumar Gala (3):
      net: tcp2: Fix build failures on 64-bit platforms
      ci: double number of builders for daily build
      doc: release: 2.4: Add notes about devicetree related changes

Lauren Murphy (1):
      doc: Clarify semantics of k_msgq_put

Lingao Meng (1):
      Bluetooth: Mesh: Fix send input_complete before public key

Luiz Augusto von Dentz (4):
      Bluetooth: UUID: Fix BT_UUID_ES_TRIGGER_SETTING
      Bluetooth: GATT: Fix assuming CCC position
      Bluetooth: L2CAP: Document behavior of alloc_buf
      Bluetooth: L2CAP: Truncate RX MTU if segmentation is not supported

Maksim Masalski (1):
      tests: arch: x86 mem protection check CPU scrubs regs after syscall

Marek Porwisz (1):
      net: openthread: Fix stack overflow for joiner

Maureen Helm (3):
      doc: release: Add 2.4.0 highlights
      doc: release: Add NXP SoCs, boards, and drivers to 2.4.0 notes
      release: Zephyr 2.4.0-rc3

Peter Bigot (2):
      logging: avoid null pointer dereference in loop
      tests: kernel/sleep: increase maximum threshold for nRF51

Ryan Erickson (1):
      doc: release notes: mention Pinnacle 100 board addition

Siddharth Chandrasekaran (1):
      board: stm32_min_dev: Fix LED0 connection inversion

Stephan Walter (1):
      drivers: nrf_qspi: fix devicetree opcode references

Torsten Rasmussen (2):
      cmake: fix zephyr_get_system_include_directories_for_lang() function
      west.yml: update openthread module

Trond Einar Snekvik (1):
      Bluetooth: Mesh: Provisioning: Reject identical random

Vinayak Kariappa Chettimada (3):
      Bluetooth: controller: Fix REJECT_IND PDU handling
      Bluetooth: controller: nRF53x: Fix missing sw_switch clear DPPI config
      Bluetooth: controller: Fix redundant PDU transmission

Wentong Wu (2):
      tests: kernel: mem_map: Explicitly cast function pointer to (void *)
      arch: x86: mmu: use z_x86_kernel_ptables as array.

Øyvind Rønningstad (3):
      arm: tz: secure_entry_functions.ld: Fix NSC_ALIGN redefinition
      arm: tz: secure_entry_functions.ld: Fix NSC_ALIGN for nRF devices
      cortex_m: secure_entry_functions.ld: Increase SAU alignment to 32

Zephyr v2.4.0-rc2

19 Sep 15:39
v2.4.0-rc2
Compare
Choose a tag to compare
Zephyr v2.4.0-rc2 Pre-release
Pre-release
Abhishek Shah (2):
      Revert "drivers: watchdog: Remove useless Kconfig entry"
      drivers: watchdog: cmsdk: rename wdog_cmsdk_apb_enable

Abram Early (1):
      drivers: winc1500: Fix signed/unsigned comparison

Alexandre Bourdiol (7):
      tests: benchmarks: data_structure_perf: rbtree: uninitialized field
      tests: lib: cmsis:transform: cf64 min_ram 96k
      tests: lib: cmsis:transform: cf64 min_ram reorder test to fit 96k
      drivers: dma: dma_stm32: can't use device_get_binding() during init
      drivers: dma: dma_stm32_v2: typo in compilation switch
      tests: kernel: context: align timer init on ticks
      tests: posix: common: move printk() out of k_usleep() tick alignment

Anas Nashif (14):
      tests: footprint: remove deperecated API call
      samples: shell: fs: require keyboard harness
      actions: add backporting bot
      tests: usb: add fixture requirement
      power: fix Kconfig help message
      board: arc: fix nsim_em7d_v22 identifier
      boards: ODROID-GO: fix board identifier
      boards: LPCXpresso55S69: remove duplicate identifier
      sanitycheck: error on duplicate board identifier
      boards: lpcxpresso55s69_cpu1: disable sanitycheck
      samples: display: add fixture
      sanitycheck: capture timeout as reason in cases we kill qemu
      sanitycheck: comment cleanup and style fixes
      actions: stale: increase operations per run

Andrew Boie (12):
      mps2_an385: use default stack sizes
      tests: userspace: fix flaky behavior
      aarch64: work around QEMU 'wfi' issue
      x86: print more detail on non-present pagefaults
      tests: mem_protect: fix test prototypes
      tests: mem_protect: fix SMP race
      doc: release-notes: kernel & x86
      sched: hold spinlock in z_thread_timeout()
      sched: check if runnable in sliceable()
      sched: hold spinlock in z_time_slice()
      sched: don't use local lock in z_tick_sleep()
      x86: memory map BIOS Data Area

Andrzej Głąbek (2):
      drivers: spi: Kconfig.nrfx: Use RAM buffers for SPIMs by default
      drivers: spi: nrfx: Restore recently changed spi_context function

Andrzej Kaczmarek (1):
      Bluetooth: controller: Fix TxAdd setting in auxiliary PDU

Andrzej Puzdrowski (5):
      include/drivers/flash: correction on the unrestricted alignment of writes
      drivers/flash/nrf_qspi_nor: corrects write-block-size to 4B
      release-note: settings, management and other updates
      manifest: mcuboot update
      release-notes-2.4: flash changes

Armando Visconti (2):
      drivers: sensor: lis2dh: make the driver multi-instance
      drivers: sensor: lsm6dsl: make the driver multi-instance

Carles Cufi (8):
      github: actions: Use on-PR labeler
      github: labeler: Fix dts/ folder matching
      Revert "github: labeler: Fix dts/ folder matching"
      github: labeler: Remove line using negation (!)
      Bluetooth: controller: Make RX prio thread stack configurable
      Bluetooth: tester: Fixes for GCC 10.x
      boards: nordic: Turn hardware stack protection on by default
      boards: nrf52840dongle: Enable serial conditionally

Carlo Caione (1):
      arm64: tracing: Fix double tracing

Crist Xu (1):
      drivers: usb: Fix usb fail when using the on-chip memory

Daniel Leung (9):
      benchmarks: add an app for commonly used kernel funcs footprint
      x86: pcie: fallback to config via PIO
      tests: latency_measure: move timing_init() earlier
      doc: releases: add notes on core dump for v2.4 release
      x86_64: fix size to init stack at boot
      linker: add macros so iterable sections can be garbage collected
      linker: do not force keep common kernel objects
      kernel: add kconfig CONFIG_KERNEL_MEM_POOL
      samples: basic/minimal: disable memory pool when MT=n

Daniel Schaupp (1):
      doc: getting_started: updated reel board blinky gif

David Leach (1):
      random: rand32_ctr_drbg: Fix missed device constify change

Dominik Ermel (1):
      storage: flash_map: Fix checking unsigned for negative value

Eduardo Montoya (1):
      net: openthread: fix initialization with link raw enabled

Emil Obalski (8):
      usb: Fix for is_ep_valid
      usb: clock_control: Fix symbol when getting mgr for HFCLK
      usb: intel: Fix the sample, update to recent API change.
      usb: nrf: Do not allow to clear STALL or dtoggle for ISO ep.
      usb: cdc: Semaphore per CDC_ACM instance.
      usb: cdc_acm: Do not change rx/tx_irq_ena flags on RESET and CONFIGURED
      samples: mgmt: smp_svr: Add Serial over USB CDC_ACM overlay.
      samples: mgmr: smp_svr: Build samples in CI.

Erwan Gouriou (9):
      CODEOWNERS: aplhabetical sorting
      CODEOWNERS: Add reviewers on stm32 components
      CODEOWNERS: stm32: Update on active members
      drivers/entropy: stm32: fix error erasing
      dts/arm/st: Keep systick disabled by default
      boards: Fix obsolete link to flash partition doc
      doc: release notes  V2.4.0: STM32 related additions
      doc: release notes  V2.4.0: Shields additions
      dts/Kconfig: Remove HAS_DTS_I2C

Erwin Rol (1):
      boards: nucleo_l4r5zi: Correct SPI1 SCK pin setting

Eug Krashtan (1):
      samples: net: sockets: Fix for multicast filtering

Eugeniy Paltsev (2):
      linker: kobject-text: align multiline string definition syntax
      ARC: linker: merge GNU and MWDT linker scripts

Fabio Utzig (7):
      doc: bump breathe>=4.21.0
      doc: enable SEPARATE_MEMBER_PAGES compatibility
      doc: add new @option Doxygen ALIAS
      doc: update Kconfig options to use @option ALIAS
      doc: update reference to use :c:macro
      doc: update bluetooth to use @option ALIAS
      doc: ext: link-roles: allow non-default baseurl

Flavio Ceolin (4):
      mgmt: hawkbit: Fix resources leakage
      mbedtls: Bump to 2.16.8
      codeowners: Add myself to gdbstub
      codeowners: Add myself as additional onwer to power

Gerard Marull-Paretas (4):
      lib: gui: lvgl: add support for kscan axes swap and inversion
      boards: shields: invert kscan X axis on Arduino 2.8" TFT
      boards: shields: invert kscan X axis on Buydisplay 2.8" TFT
      lib: gui: lvgl: match kscan rotation with the display

Gerson Fernando Budke (2):
      boards: atmel: set BUILD_OUTPUT_HEX for OpenOCD boards
      boards: atmel: Add missing default configuration

Grzegorz Kostka (1):
      lib: fdtable: fix z_free_fd multiple calls fd leak

Guillaume Lager (1):
      logging: rtt: Do not retry on error in non blocking mode

Henrik Brix Andersen (3):
      samples: canbus: canopen: fix argument to CO_delete()
      doc: release: 2.4: add ARM DesignStart FPGA related release notes
      manifest: Update CANopenNode to include v1.3 SDO/LSS bug fixes

Ievgenii Meshcheriakov (2):
      shell: Make shell UART backend initialization priority configurable
      shell: Fix typo in a comment

Ioannis Glaropoulos (10):
      doc: release: v2.4.0 release notes draft for Cortex-M
      doc: release: v2.4.0 release notes draft for Cortex-A
      CODEOWNERS: remove commas in reviewers' listing
      tests: arm: interrupt: fix side effect in assertion
      tests: kernel: fatal: minor #ifdef guard fix
      arch: arm: aarch64: remove non-applicable linker section
      tests: arch: arm: rework test suite configuration
      tests: arch: arm: do not build/run test suites for _ns boards
      boards: nrf9160: fix default flash partitioning
      boards: nrf5340: fix default flash partitioning

Jakub Rzeszutko (2):
      shell: fix Tab crashing issue
      shell: add argc range in Kconfig

Jan Van Winkel (1):
      cmake: Ignore LDFLAGS and AFLAGS from environment

Jennifer Williams (1):
      docs: ref: kernel: clarify data_item structure in message queues

Jeremy LOCHE (1):
      drivers: bluetooth: hci_spi: fix init priority

Jian Kang (2):
      test: add new test cases for timer
      tests: mailbox: add new tests

Joakim Andersson (5):
      Bluetooth: controller: Select controller features from SoC capabilities
      Bluetooth: controller: Fix Kconfig dependencies for PHY options
      Bluetooth: host: Fix not setting NRPA before starting scanner
      Bluetooth: host: Ignore failure to set passive scanner address
      Bluetooth: host: Fix bug in device name shortening handling

Jukka Rissanen (24):
      doc: net: Add networking changes to 2.4 release note
      net: context: Simplify the param check when sending data
      net: context: Fix sendmsg() handling in AF_CAN socket
      modules: mbedtls: Allow to enable server name indication option
      doc: net: Add note about socket API thread safe status
      drivers: eth: Fix return value if we run out of bufs in TX
      net: tcp2: Use pointer to slist node
      net: tcp2: Use safe version of slist macro in conn search
      net: conn: Use safe slist macro when searching connection
      net: tcp2: Honor TCP retry count limit from Kconfig file
      net: socket: Wait new buffers when sending
      net: tcp2: Do not close connection if we run out of memory
      net: tcp2: Avoid double free message
      net: context: Return -ENOBUFS to caller if we run out of bufs
      net: tcp2: Make sure the pkt if not null
      net: tcp2: Re-order connection struct fields
      net: tcp2: Adjust the send window according to avail bufs
      net: tcp2: If the send window is full, do not try to send
      net: tcp2: Print context state when closing connection
      net: tcp2: Fix connection state debugging
      net: tcp2: Retrigger resend if sending window is full
      net: tcp2: Bail out if new connection cannot be created
      net: tcp2: Fix connection termination
      net: tcp2: Check that connection exists in net_tcp_put()

Krzysztof Chruscinski (7):
      drivers: timer: nrf...
Read more

Zephyr 2.4.0-rc1

05 Sep 19:53
v2.4.0-rc1
Compare
Choose a tag to compare
Zephyr 2.4.0-rc1 Pre-release
Pre-release
Aastha Grover (9):
      scripts: tests: sanitycheck: Add more testcases for Class TestSuite
      tests: sanitycheck: Testcases for load_from_file and apply_filters
      sanitylib: Fix discard_report to check self.discards dict
      sanitycheck: Testcases for report functions of TestSuite Class
      github workflow : Add github worklow for Sanitycheck testsuite
      requirements-build-test.txt: Updating mock module version
      include: Implement API's for cache flush and cache invalidate
      arch: x86: core: Add cache flush function for x86
      syscalls: Add system call for cache flush & invalidate

Abhishek Shah (15):
      drivers: pcie: remove depends on X86
      pcie: endpoint: Add public APIs for PCIe endpoint driver
      pcie: endpoint: Introduce API to achieve PCIe data transfer
      dts: bindings: Add binding for iProc PCIe EP node
      dts: arm: viper: Add DT node for iProc PCIe EP
      pcie: endpoint: Add iProc PCIe EP driver
      boards: arm: bcm958402m2_a72: Enable PCIe EP support
      pcie: endpoint: Add public API to register reset interrupt callback
      drivers: pcie: ep: iproc: Add reset interrupt handlers
      drivers: pcie: ep: iproc: Add reset callback support
      drivers: pcie: Do not enable PCIe RC module shell for endpoint
      soc: arm: viper: Add PCIe highmem OB memory in MMU table
      soc: arm: viper: Fix callee saved register corruption in el3 init
      drivers: pcie: refactor pcie directory to make RC and EP independent
      boards: arm: bcm958402m2_a72: remove CONFIG_PCIE

Adam Porter (3):
      drivers: modem: use zsock_ variants of socket API
      drivers: wifi: remove dependency on NET_SOCKETS_POSIX_NAMES
      net: sockets: remove POSIX_NAMES dependency on SOCKETS_OFFLOAD

Alberto Escolar Piedras (2):
      tests: kernel benchmark: Avoid timeout in nrf52_bsim
      native_posix: timer: Ignore nanosleep return

Aleksandr Koltsoff (1):
      cmake: sort shield list and improve indent

Alexander Falb (2):
      boards: Add support for the Serpente Board
      tests/samples: add samples for Serpente board

Alexander Kozhinov (17):
      soc: stm32: Add support for stm32h745xx SoC
      boards: Add support for NUCLEO-H745ZI-Q
      dts: arm: st: h7: add rng peripheral support
      dts: arm: st: h7: add dma peripheral support
      boards: nucleo_h745zi_q_m7: fixed pwm bug
      samples: net: sockets: big_http_download: Extend progress metrics
      drivers: pinumx: stm32: pinmux_stm32h7: added ethernet pins
      drivers: ethernet: stm32: pre-add stm32h7 support
      drivers: ethernet: stm32: add stm32h7 support
      boards: nucleo_h745zi_q: added ethernet support
      boards: arm: dts: nuleo_h745zi_q_m7
      boards: arm: dts: nuleo_h745zi_q_m4
      boards: arm: yaml: nucleo_h745zi_q_m4
      soc: arm: stm32h7: entropy generator support
      boards: arm: nucleo_h745zi_q: rng
      soc: arm: stm32h7: remove explicit full libc selection
      samples: net: sockets: civetweb

Alexandre Bourdiol (35):
      board: arm: Enable MPU for all STM32 boards supporting it
      soc: arm: st_stm32: add include of devictree.h in soc.h
      tests: lib: mem_alloc: restrict newlib config to more than 16K RAM
      net: ip: copy to wrong destination in z_vrfy_net_addr_pton()
      drivers: STM32 dualcore concurrent register access protection with HSEM
      drivers: flash: stm32wb return in case of control register locked
      boards: arm: nucleo_f767zi: ethernet restriction on cut-A
      drivers: flash: stm32wb: disable Page Erase at end of erase_page()
      STM32H7: manage Dual core boot whatever option bytes configuration
      boards: arm: nucleo_g474re: add device tree rng okay
      tests: drivers: spi: spi_loopback: add fixture spi_loopback
      tests: drivers: spi: spi_loopback: add nucleo_f429zi support
      tests: drivers: spi: spi_loopback: add nucleo_f746zg support
      tests: drivers: spi: spi_loopback: add nucleo_f103rb support
      tests: drivers: spi: spi_loopback: add stm32f3_disco support
      tests: drivers: spi: spi_loopback: add nucleo_g474re support
      tests: drivers: spi: spi_loopback: add nucleo_l4r5zi support
      tests: drivers: gpio: gpio_basic_api: add some STM32 boards overlay
      drivers: i2c: fix STM32 implicit-fallthrough warning
      drivers: entropy: stm32: RCC_HSI48_SUPPORT not always defined
      boards: arm: nucleo_h743zi: add rng support
      board: arm: nucleo_f207zg: add DAC support
      tests: drivers: dac: dac_loopback: add fixture dac_adc_loopback
      tests: drivers: pwm: pwm_api: add support of STM32 boards
      dts: arm: st: add interrupts property to rng node
      drivers: entropy: stm32 full driver rework with software fifo
      boards: arm: nucleo_g071rb enable PWM
      boards: arm: stm32f3_disco: enable PWM
      soc: arm: st_stm32: update HSEM ID from STM32WB cube update
      drivers: STM32: Rework CLK48 HSEM protection
      drivers: flash: stm32wb: rework dualcore flash operation
      boards: arm: nucleo_g474re: add watchdog support to yaml
      boards: arm: nucleo_l152re: fix openOCD issue to access bank2
      drivers: clock: stm32f7 needs power over-drive to reach 216Mhz
      tests: lib: cmsis_dsp: matrix: binary_q15 reorder test to fit 128k ram

Alexey Brodkin (1):
      tests: Exclude qemu_arc{em|hs} in some

Alexey Markevich (6):
      samples: net: google_iot_mqtt: log actual error
      samples: net: google_iot_mqtt: fix log typo
      samples: net: google_iot_mqtt: fix subscription qos initialization
      samples: net: google_iot_mqtt: use sntp_simple
      samples: net: google_iot_mqtt: remove unused definition
      samples: net: google_iot_mqtt: fix CONFIG_CLOUD_CLIENT_ID value

Anas Nashif (145):
      up_squared: disable i2c in defconfig
      up_squared: enable SMP on this board
      tests: kernel: remove ram restrictions
      tests: kernel: common: rename test boot_delay
      tests: common: skip bootdelay test on qemu_cortex_m0
      ci: add compliance checking via GH actions
      sanitycheck: capture non-ztest results
      spelling: fix typo
      tests: exclude qemu_arc_hs in lifo_usage test
      samples: remove board_shell
      shell: enable modules by default if shell is enabled
      pcie: shell: add subcommands
      test: remove TEST_SHELL
      shell: kernel: select dependencies
      tests: jwt: increase timeout for test
      boards: qemu_cortex_a53: do not run on net/bt tests
      kernel: logging: convert K_DEBUG to LOG_DBG
      kernel: cleanup header inclusion
      tests: net: remove duplicate test
      test: posix: fix identifier
      sanitycheck: reorg junit output for nicer reports
      ci: do not run sanitycheck on action changes
      actions: add automatic labeler action
      actions: action for processing stale PRs/Issues
      actions: only mark bugs as stale
      ci: do not skip BT simulator tests
      actions: mark pull requests with conflicts
      sanitycheck: set selected_plaforms when loading tests from file
      boards: waveshare_open103z: remove unused Kconfig
      actions: use one label for stale PRs and issues
      actions: disable conflict action for now
      Revert "tests: rbtree to add and modify some tastcases"
      Revert "tests: dlist to add a testcase and add some tags"
      boards: qemu_arc: disable as default test platform
      sanitycheck: fix --failed-only handling
      ci: do not run sanitycheck on linter config changes
      sanitycheck: handle qemu crashes
      sanitycheck: Use the C LibYAML parser if available
      templates: rename rfc template file
      templates: add template for hardware support
      doc: add coding guidelines
      actions: update daily version for testing
      sanitycheck: do not retry build errors with --retry-failed
      doc: make device pm APIs show in doxygen docs
      doc: replace lifo/fifo with LIFO/FIFO
      sanitycheck: capture fails correctly on qemu crashes
      doc: fix usage of :c:type
      sanitycheck: disable erroring on warnings
      x86: zefi: support arguments and make compatible with windows
      boards: up_squared: add a post build target
      actions: daily_tests: fetch all tags
      tests/samples: add tags to some tests
      sanitycheck: support only_tags for boards
      boards: qemu_x68_nommu: run only kernel/userspace tests
      sanitycheck: fix --device-testing without serial-pty
      samples: remove useless nfc sample
      scripts: add maintainer script
      doc: add documentation for tool targets
      sanitycheck: do not expect results from build_only instances
      sanitycheck: do not duplicate code in tests
      sanitycheck: remove verbose log message
      tests: remove obsolete doxygen boilerplate
      tests: fix device model tests and remove wrong doxygen grouping
      doc: group audio header using doxygen
      sanitycheck: realign schema
      sanitycheck: introduce integration testing
      samples: philosophers: enable for integration testing
      tests: cmsis_dsp: use integration keyword
      samples: hello_world: filter for integration
      samples: cpp_synchronization: filter for integration
      ci: enable sanitycheck for integration
      tests: dac: remove whitelist
      tests: benchmarks: filter for integration
      tests: tinycrypt: do not whitelist
      samples: bluetooth: cleanup prj*.conf
      drivers: arcv2_irq_unit: remove include
      power: remove unused inclusion of soc.h
      tests: device: remove whitelisting
      tests: shell: remove filter
      samples: pi: add integration support
      tests/samples: enable for integration testing
      boards: qemu_x86_coverage: limit to core tests
      doc: add documentation about --integration option
      sanitycheck: fix only_tags usage
      tests...
Read more

Zephyr v2.3.0

05 Jun 20:07
zephyr-v2.3.0
Compare
Choose a tag to compare

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

Major enhancements with this release include:

  • A new Zephyr CMake package has been introduced, reducing the need for
    environment variables
  • A new Devicetree API, based on hierarchical macros, has been introduced. This
    new API allows the C code to access virtually all nodes and properties in a
    clean, organized fashion
  • The kernel timeout API has been overhauled to be flexible and configurable,
    with future support for features like 64-bit and absolute timeouts in mind
  • A new k_heap/sys_heap heap allocator has been introduced, with much better
    performance than the existing k_mem_pool/sys_mem_pool
  • Zephyr now integrates with the TF-M (Trusted Firmware M) PSA-compliant
    framework
  • The Bluetooth Low Energy Host now supports LE Advertising Extensions
  • The CMSIS-DSP library is now included and integrated

The following sections provide detailed lists of changes by component.

Security Vulnerability Related

The following CVEs are addressed by this release:

  • CVE-2020-10022: UpdateHub Module Copies a Variable-Sized Hash String
    into a fixed-size array.
  • CVE-2020-10059: UpdateHub Module Explicitly Disables TLS
    Verification
  • CVE-2020-10061: Improper handling of the full-buffer case in the
    Zephyr Bluetooth implementation can result in memory corruption.
  • CVE-2020-10062: Packet length decoding error in MQTT
  • CVE-2020-10063: Remote Denial of Service in CoAP Option Parsing Due
    To Integer Overflow
  • CVE-2020-10068: In the Zephyr project Bluetooth subsystem, certain
    duplicate and back-to-back packets can cause incorrect behavior,
    resulting in a denial of service.
  • CVE-2020-10069: An unchecked parameter in bluetooth data can result
    in an assertion failure, or division by zero, resulting in a denial
    of service attack.
  • CVE-2020-10070: MQTT buffer overflow on receive buffer
  • CVE-2020-10071: Insufficient publish message length validation in MQTT

More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html

Known issues

You can check all currently known issues by listing them using the GitHub
interface and listing all issues with the bug label.

A single high-priority bug is currently open:

  • #23364 - Bluetooth: bt_recv deadlock on supervision timeout with
    pending GATT Write Commands

API Changes

  • HWINFO

    • The identifier data structure for hwinfo drivers is clarified. Drivers are
      responsible for ensuring that the identifier data structure is a sequence
      of bytes. The returned ID value is not supposed to be interpreted based on
      vendor-specific assumptions of byte order and should express the identifier
      as a raw byte sequence.
      The changes have an impact on users that use the hwinfo API to identify
      their devices.
      The sam0 driver byte swaps each 32 bit word of the 128 bit identifier to
      big endian.
      The nordic driver byte swaps the entire 64 bit word to big endian.
  • I2C

    • Added a new API for recovering an I2C bus from situations where the I2C
      master and one or more I2C slaves are out of synchronization (e.g. if the
      I2C master was reset in the middle of an I2C transaction or if a noise
      pulse was induced on the SCL line).

Deprecated in this release

  • Kernel

    • k_uptime_delta_32(), use k_uptime_delta()

    • Timeout values

      • All timeout values are now encapsulated k_timeout_t opaque structure when
        passing them to the kernel. If you want to revert to the previous s32_t
        type for the timeout parameter, please enable
        :option:CONFIG_LEGACY_TIMEOUT_API
  • Bluetooth

    • BT_LE_SCAN_FILTER_DUPLICATE, use BT_LE_SCAN_OPT_FILTER_DUPLICATE instead
    • BT_LE_SCAN_FILTER_WHITELIST, use BT_LE_SCAN_OPT_FILTER_WHITELIST instead
    • bt_le_scan_param::filter_dup, use bt_le_scan_param::options instead
    • bt_conn_create_le(), use bt_conn_le_create() instead
    • bt_conn_create_auto_le(), use bt_conn_le_create_auto() instead
    • bt_conn_create_slave_le(), use bt_le_adv_start() instead with
      bt_le_adv_param::peer set to the remote peers address.
    • BT_LE_ADV_* macros, use BT_GAP_ADV_* enums instead
  • Boards

    • nrf51_pca10028 has been renamed to nrf51dk_nrf51422
    • nrf51_pca10031 has been renamed to nrf51dongle_nrf51422
    • nrf52810_pca10040 has been renamed to nrf52dk_nrf52810
    • nrf52_pca10040 has been renamed to nrf52dk_nrf52832
    • nrf52833_pca10100 has been renamed to nrf52833dk_nrf52833
    • nrf52811_pca10056 has been renamed to nrf52840dk_nrf52811
    • nrf52840_pca10056 has been renamed to nrf52840dk_nrf52840
    • nrf52840_pca10059 has been renamed to nrf52840dongle_nrf52840
    • nrf9160_pca10090 has been renamed to nrf9160dk_nrf9160
    • nrf52840_pca10090 has been renamed to nrf9160dk_nrf52840
    • nrf52_pca20020 has been renamed to thingy52_nrf52832
    • nrf5340_dk_nrf5340 has been renamed to nrf5340pdk_nrf5340
    • efr32_slwstk6061a has been renamed to efr32_radio_brd4250b
  • Devicetree

    • The C macros generated from the devicetree in previous releases are now
      deprecated in favor of a new <devicetree.h> API.
    • See :ref:dt-from-c for a high-level guide to the new API, and
      :ref:devicetree_api for an API reference.
    • Use of the legacy macros now requires explicitly enabling
      :option:CONFIG_LEGACY_DEVICETREE_MACROS. See :ref:dt-legacy-macros for
      more information, including a link to a migration guide to the new API.
  • Other

    • MACRO_MAP has been deprecated. Use FOR_EACH instead.
    • BUILD_ASSERT_MSG has been deprecated. Use BUILD_ASSERT instead.

Removed APIs in this release

  • The INLINE macro in util.h has been removed.
  • STACK_ANALYZE, stack_analyze and stack_unused_space_get have been
    removed.

Stable API changes in this release

  • Bluetooth Mesh

    • The net_idx parameter has been removed from the Health Client model
      APIs since it can be derived (by the stack) from the app_idx parameter
  • Networking

    • The NET_DEVICE_INIT(), NET_DEVICE_INIT_INSTANCE(), NET_DEVICE_OFFLOAD_INIT()
      and ETH_NET_DEVICE_INIT() macros changed and take a device power management
      function pointer parameter. If networking PM is not implemented for the
      specific network device, the device_pm_control_nop value can be used.
  • Video

    • The video_dequeue() API call now takes a k_timeout_t for the timeout
      parameter. This reverts to s32_t if CONFIG_LEGACY_TIMEOUT_API is enabled.
  • Floating Point Services

    • FLOAT and FP_SHARING Kconfig options have been renamed to FPU and FPU_SHARING,
      respectively.

Kernel

  • A new general purpose memory allocator, sys_heap/k_heap, has been added
    to Zephyr with more conventional API/behavior, better space
    efficiency and higher performance than the pre-existing mem_pool.
    The older mem_pool APIs are, by default, wrappers around this new
    heap backend and will be deprecated in an upcoming release. The
    original implementation remains available for this release via
    disabling CONFIG_MEM_POOL_HEAP_BACKEND.
  • The timeout arguments to all kernel calls are now a "k_timeout_t"
    type instead of a 32 bit millisecond count. These can be
    initialized in arbitrary time units (ns/us/ms, ticks), be
    interpreted relative to either current time or system start, and be
    expressed in 64 bit quantities. This involves a minor change to the
    API, so the original API is still available in a completely
    source-compatible way via CONFIG_LEGACY_TIMEOUT_API.
  • Simplified dummy thread implementation and properly name idle threads
  • Centralized new thread priority check
  • Refactored device structures and introduced struct init_entry which is
    a generic init end-point. SYS_INIT() generates only a struct init_entry via
    calling INIT_ENTRY_DEFINE(). Also removed struct deviceconfig leaving
    struct device to own everything now.

Architectures

  • ARC:

    • Changed to automatic generation of privilege stack for ARC MPU V2 to
      avoid the potential waste of memory When USERSPACE is configured
    • Enhanced runtime programming for the MPU v3 by making the gap-filling
      of kernel memory a user-configurable feature
    • Refactored the thread switch code in epilogue of irq and exception
    • Refactored the assembly codes for better maintenance
    • Fixed the behavior of ARC timer driver
    • Fixed the behavior of ARC SMP
    • Fixed the wrong configurations of ARC boards in Kconfig and DTS
  • ARM:

    • CMSIS has been moved out of the main tree and now resides in its
      own standalone module repository
    • Updated CMSIS version to 5.7.0
    • Added CMSIS-DSP library integration
    • Added semihosting console support
    • Cleanups and improvements to the Cortex-M exception vector table
    • Fixed the behavior of Cortex-M spurious IRQ handler
    • Fixed parsing of Cortex-M MemManage Stacking Errors
    • Fixed the arch_cpu_idle() implementation for Cortex-M and Cortex-R
    • Renamed Cortex-R architecture port to cortex_a_r in preparation for the
      AArch32 Cortex-A architecture port
    • Added processor exception handling and reporting framework for Cortex-R
    • Added nested interrupt support on AArch32 Cortex-R and AArch64 Cortex-A
    • Refactored Cortex-R interrupt system to remove fake multi-level interrupt
      controller abstraction scheme
  • POSIX:

    • Added support for building on ARM hosts
  • RISC-V:

    • Added support for hard floating point for RISC-V
    • Added march and mabi options to Kconfig
    • Fixed compilation warning for platforms without PLIC
  • x86:

    • Instrumented code for timing information
    • Added ability for SoC to add MMU regions
    • x86 FPU sharing symbols renam...
Read more

Zephyr 2.3.0-rc2

03 Jun 22:02
v2.3.0-rc2
Compare
Choose a tag to compare
Zephyr 2.3.0-rc2 Pre-release
Pre-release
Aastha Grover (3):
      sanitylib: Remove hardcoded sample.yaml & testcase.yaml in TestSuite class
      sanitycheck: add testcases for add_testcases function of testsuite class
      scripts: tests: sanitycheck: Add testcases for schema validation.

Abhishek Shah (2):
      dts: arm: Fix incorrect interrupt cells order
      dts: arm: qemu-virt: Modify timer interrupt to be level-sensitive

Alberto Escolar Piedras (1):
      doc: release-notes-2.3: Add POSIX ARCH section

Alexander Wachter (1):
      drivers: pwm: Clarify period parameter

Alexandre Bourdiol (7):
      test: drivers: gpio: gpio_basic_api: disable interrupt at end of test
      tests: drivers: counter: counter_basic_api: allow equality in assert
      driver: counter: counter_ll_stm32_rtc.c: Add 1 tick to alarm
      sample: drivers: counter: alarm: adapt test to driver change
      test/benchmarks/latency_measure: adapt test to 24bit Systick for STM32
      test: lib: heap: increase timeout
      tests: kernel: mem_protect: syscalls: configurable faulty address

Anas Nashif (20):
      sanitycheck: move export-tests handling and deduplicate code
      sanitycheck: support --force-platform
      samples: clean test identifiers
      sanitycheck: support exporting instances
      sanitycheck: also look for cpp files when scanning
      sanitycheck: give summary about built vs executed
      ci: update ci-tools repo sha
      sanitycheck: detect wrongly named tests and fail
      tests: ztest: prefix tests with test_
      templates: use correct label for Enhancement
      sanitycheck: remove wrong message about --qemu-testing
      sanitycheck: cleanup fixture processing
      tests: maxim_ds3231_api: use fixture
      sanitycheck: support fixtures
      sanitycheck: add fixture support to hardware map
      tests: gpio_basic: this test requires a fixture
      doc: sanitycheck: fixture documentation
      drivers: pwm: fix doxygen docs
      doc: add a header to all pages about development version
      doc: make statement about version bold

Andreas Sandberg (1):
      boards: arm: b_l072z_lrwan1: Fix flashing of big firmware

Andrei Gansari (4):
      dts: mikro-bus definition
      boards: Eth Click MikroElectronica shield
      boards: lpcxpresso55s69 add mikroBUS mapping
      boards: lpcxpresso55s69 add Arduino mapping

Andrew Boie (24):
      kernel: simplify dummy thread implementation
      x86: properly align initial dummy thread
      kernel: wipe TLS before dropping to user mode
      tests: userspace: check for TLS leakage
      docs: fix user mode sidebar
      x86: dump the right page tables
      tests: userspace: check TLS location
      kernek: don't allow mutex ops in ISRs
      x86: 32-bit: allow direct ISRs only with !KPTI
      kernel: fix k_object_free() spelling
      userspace: fix bad ssf pointer on bad/no syscall
      userspace: add z_is_in_user_syscall()
      scripts: gen_kobject_list: generalize obj alloc
      scripts: parse_syscalls: generalize struct tags
      userspace: net sockets are kernel objects
      net: tag net socket objects
      net: sockets: add API to fetch an fd's ctx object
      tests: net_mgmt: grant socket access
      tests: net: tcp: test zsock_get_context_object
      fdtable: init fd context objects
      net: lib: remove socket-specific recycle calls
      userspace: improve dynamic object allocation
      net: socketpair: fix user mode access
      net: check permissions on net contexts

Andrew Fernandes (1):
      logging: set 'log_backend_rtt:panic_mode' before 'log_backend_std_panic'

Andries Kruithof (2):
      Bluetooth: controller: split: Update feature exchange to BTCore V5.0
      Bluetooth: controller: split: include proper header file

Andrzej Głąbek (5):
      nrf_radio_802154: Use chosen zephyr,entropy to get entropy device
      boards: arm: nrf5340pdk: Fix i2c1 pin assignments
      sensor: temp_nrf5: Allow use only when the TEMP peripheral is present
      drivers: serial: nrfx: Force poll_out when lock attempts are over
      drivers: uart_nrfx_uarte: Prevent spurious UART_RX_BUF_REQUEST

Andrzej Puzdrowski (5):
      manifest: mcumgr bugfix upgrade
      storage/stream: fix possible unaligned write on buffer flush
      tests/subsys/storage/stream_flash: add unaligned flash test
      include/storage/steram_flash: update buffer size requirements
      tests/subsys/settings/functional/nvs: add nrf52xx configuration

Andy Ross (6):
      tests/kernel/common: Make test_timeout_order 1cpu
      soc/x86/apollo_lake: IOAPIC ID's are not a SMP feature
      kernel/timer: Handle K_FOREVER in k_timer_start()
      docs/releases: Document the heap and timeout changes in 2.3
      kernel/queue: Remove interior use of k_poll()
      tests/kernel/queue: Add regression test for CONFIG_POLL race condition

Armand Ciejak (2):
      soc: arm: cortex_m: Improve error messages
      soc: arm: cortex_m: Fix OCRAM config for i.MX RT

Armando Visconti (1):
      samples/shields: x-nucleo-iks02a1: Fix doc for microphone

Bilal Wasim (3):
      drivers: eth: stm32: Fix driver crash caused by RX IRQ trigger
      drivers: eth: stm32: Fix invalid assertion comparison
      drivers: wifi: eswifi: Fully populate sockaddr_in on async msg

Carles Cufi (8):
      Revert "test: kernel: context: Exclude for qemu_cortex_r5 (temporary)"
      tests: logging: Add a clean ouput test and clarify output
      doc: dev process: Add a note about deprecation mechanisms
      doc: releases: Add 2.3 release notes highlights
      doc: release notes: Add 2.3 release notes on documentation
      doc: release notes: Add 2.3 Bluetooth release notes
      doc: kernel: Fix invalid use of K_NO_WAIT
      release: Zephyr 2.3.0-rc2

Christoph Reiter (3):
      sensor: add sensor driver for Infineon DPS310
      sensor: add sample for Infineon DPS310
      doc: fix board name in DPS310 sample

Christopher Friedt (11):
      net: socket: socketpair: mitigate possible race condition
      tests: socket: socketpair: fix userspace thread permissions
      samples: sockets: socketpair: sample application and docs
      net: socket: socketpair: remove dead code
      tests: socket: socketpair: assert recvfrom returns >= 0
      samples: sockets: socketpair: check return value of send
      samples: sockets: socketpair: check return of pthread_create
      samples: sockets: socketpair: mitigate negative index
      net: socket: socketpair: initialize after NULL check
      tests: socket: socketpair: init param before passing by ref
      tests: socket: socketpair: init param before passing by ref

Daniel Leung (18):
      gpio: mchp_xec: fix erroneous interrupt triggers
      tests: gpio_basic_api: change GPIOs for mec15xxevb_assy6853
      gpio: intel_apl: don't enable interrupt if line is output
      timer: hpet: enable benchmarking during ISR
      serial: ns16550: return error when init fails
      serial: ns16550: do not write to device cfg struct when PCIE=y
      gpio: intel_apl: fix ISR function signature
      x86: intel64: add missing _locore_end to linker script
      x86: acpi: make code 64-bit compatible
      gpio: intel_apl: fix incorrect address access
      x86: add ability for SoC to add MMU regions
      boards: x86/up_squared: specify CONFIG_X86_MMU_PAGE_POOL_PAGES
      x86: apollo_lake: add mmu regions for UARTs and I2Cs
      boards: x86/up_squared: remove SYS_CLOCK_HW_CYCLES_PER_SEC
      boards: x86: make up_squared default to x86_64
      tests: timing_info: need to calibrate TSC frequency on x86
      x86_64: instrument code for timing information
      x86: mmu: fix type mismatch of memory address in assert

David Brown (2):
      doc: vulnerabilities: Document public CVEs
      doc: release notes: Update security notes for 2.3

Eduardo Montoya (1):
      net: config: align Kconfig debug levels with OpenThread ones

Emil Obalski (5):
      usb: dt: Update USB audio class to recent changes in DT
      doc: release notes: Update USB notes for 2.3
      usb: driver: nordic: Unlock mutex in case of error.
      usb: driver: Fix Nordic driver for fragmented control OUT transfers.
      usb: doc: Add note about cdc+dfu Windows OS exception.

Erwan Gouriou (14):
      drivers/spi: stm32: Fix use of single dma channel
      doc: probes: Add info on ST-Link fw update
      boards: stm32: pinmux: Restore Kconfig control on pinmux (serial)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (spi)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (i2c)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (pwm)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (adc)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (dac)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (can)
      boards: stm32: pinmux: Restore Kconfig control on pinmux (i2s)
      boards: stm32: pinmux: Restore Kconfig control on pinmux(sdmmc)
      drivers: susbsys: Check errors on devices selected using dt macro
      doc/release: v2.3.0: Update boards/shields section
      doc/release: v2.3.0: Update for stm32

Flavio Ceolin (2):
      drivers: peci: Add verification handlers
      mbedtls: Bump to 2.16.6 version

Francois Ramu (10):
      drivers: spi: driver dma callback function to set transfer flag
      drivers: spi: driver reloading dma buffers in the main transceive loop
      driver: timer: stm32_lptim: tickless mode without a compilation flag
      driver: timer: stm32_lptim set_timeout limit values
      driver: timer: stm32_lptim control the timer duration
      drivers: timer: stm32_lptim fix TICKLESS=n processing
      soc: arm: stm32 TICKS value with LPTIM config
      dts: stm32: timer define a new DT binding for LPTIM
      drivers:...
Read more

Zephyr 2.2.1

29 May 09:09
Compare
Choose a tag to compare

Zephyr 2.2.1

This is a maintenance release for Zephyr 2.2 with fixes.

See https://github.com/zephyrproject-rtos/zephyr/releases/tag/zephyr-v2.2.0 for the previous version release notes.

Security Vulnerability Related

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

More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html

Issues Fixed

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

  • #23494 - Bluetooth: LL/PAC/SLA/BV-01-C fails if Slave-initiated Feature Exchange is disabled
  • #23485 - BT: host: Service Change indication sent regardless of whether it is needed or not.
  • #23482 - 2M PHY + DLE and timing calculations on an encrypted link are wrong
  • #23070 - Bluetooth: controller: Fix ticker implementation to avoid catch up
  • #22967 - Bluetooth: controller: ASSERTION FAIL on invalid packet sequence
  • #24183 - [v2.2] Bluetooth: controller: split: Regression slave latency during connection update
  • #23805 - Bluetooth: controller: Switching to non conn adv fails for Mesh LPN
  • #24086 - Bluetooth: SMP: Existing bond deleted on pairing failure
  • #24211 - [v2.2.x] lib: updatehub: Not working on Zephyr 2.x
  • #24601 - Bluetooth: Mesh: Config Client's net_key_status pulls two key indexes, should pull one.
  • #25067 - Insufficient ticker nodes for vendor implementations
  • #25350 - Bluetooth: controller: Data transmission delayed by slave latency
  • #25483 - Bluetooth: controller: split: feature exchange not conform V5.0 core spec
  • #25478 - settings_runtime_set() not populating bt/cf
  • #25447 - cf_set() returns 0 when no cfg is available

Zephyr 2.3.0-rc1

10 May 17:00
v2.3.0-rc1
Compare
Choose a tag to compare
Zephyr 2.3.0-rc1 Pre-release
Pre-release
Aastha Grover (1):
      scripts: tests: sanitycheck: Add basic foundation for sanitycheck testsuite

Abe Kohandel (5):
      drivers: pinmux: stm32: add pin for I2S3_WS on F4 series
      drivers: dma: stm32: Stream disable success
      drivers: dma: i2s: stm32: I2S Master DMA support
      drivers: i2s: stm32: Add I2S master clock output
      drivers: dma: stm32: DMA V1 channel direction

Abhishek Shah (2):
      arch: arm: aarch64: Add Cortex-A72 config
      boards: arm: Add bcm958402m2_a72 board

Adam Serbinski (2):
      boards: arm: adafruit_feather_m0_basic_proto: Set flash offset
      flash: sam0: set write_block_size=1 when EMULATE_BYTE_PAGES is set

Ahmed Shokry (1):
      Bluetooth: host: Allow only one legacy advertising instance

Alberto Escolar Piedras (4):
      CODEOWNERS: Add daor-oti and wopu-ot to several directories
      nrf52_bsim: Remove no longer needed header stubs
      doc: native_posix: Add section about 32 and 64 bits
      util.h: Remove INLINE definition and user

Albin Söderqvist (1):
      drivers: display: st7789v: add power management support

Alex Porosanu (11):
      bluetooth: controller: openisa/RV32M1: add 2 Mbps PHY support
      bluetooth: controller: enable 2Mbps PHY for RV32M1
      boards: riscv: rv32m1_vega: remove BLE 2Mbps limitation
      bluetooth: controller: openisa: fix assert on invalid packet sequence
      bluetooth: controller: openisa: handle latency for cancelled conn events
      bluetooth: controller: openisa: Reduce time to setup tIFS switch
      bluetooth: controller: openisa: Fix densely scheduled event preemption
      drivers: pwm: add driver for NXP Kinetis TPM module
      soc: kinetis: add support for TPM PWM module
      boards: frdm_kw41z: enable PWM support
      west.yml: hal_nxp: update HAL reference for MCUX TPM driver

Alexander Wachter (7):
      drivers: can: loopback: Use thread to send frames.
      drivers: flash: stm32: Introduce logs in the flash code
      drivers: flash: stm32g4: Fix erase on wrong bank
      doc: API stability: Change HWINFO from unstable to stable
      boards: nucleo_g431rb: Use HSE instead of HSI
      boards: nucleo_g474re: Use HSE instead of HSI
      canbus: Convert canbus driver and subsys to new timeout API

Alexandre Bourdiol (9):
      board: nucleo_l152re: Revert "board: nucleo_l152re: Limit sysfreq to 16MHz"
      dts/arm/st: f2 USB OTGFS clock on AHB2 bus
      dts/arm/st: f7 supports SPI FIFO
      dts/arm/st: SPI6 not supported by all F7 devices
      dts\arm\st\g4: Fix ADC instances naming
      drivers: STM32H7 dualcore EXTI management
      drivers/clock_control: stm32H7 AHB clock computation depends on core
      board/arm/stm32h747i_disco: add support of flash with openocd
      board/arm/stm32h747i_disco: add documentation for support of openocd

Alexey Brodkin (2):
      runners: openocd: Reset target before running Elf
      OpenOCD: Make incompatible with SMP

Anas Nashif (84):
      sensor: shell: return -ENODEV on binding errors
      doc: fix broken links in README and board docs
      docs: crypto: crypto API documentation
      doc: tests: futex: fix doxygen grouping
      doc: tests: stack: fix doxygen grouping
      doc: doxygen: add missing groups and categorise
      boards: intel_s1000_crb: update documentation
      boards: ip_k66f: disable as default test platform
      boards: em_starterkit: disable as default test platform
      drivers: peci: remove self-assignment
      sanitycheck: fix counting when using --test option
      sanitycheck: use status column for status
      sanitycheck: cleanup loading of previous results
      sanitycheck: Add named exceptions
      ci: when merging files, keep one header row
      sanitycheck: remove confusing message when loading files
      sanitycheck: catch build failures
      sanitycheck: use cmake_only from class
      sanitycheck: remove more global usage of arg options
      sanitycheck: fix scope and cleanup
      sanitycheck: split main script into an exe and classes
      sanitycheck: fix issue with generator setting
      sanitycheck: fix testsuite
      sanitycheck: remove unused arg files
      sanitycheck: get rid of global VERBOSE
      sanitycheck: fix setting of west_flash/runner
      samples: use K_MSEC with k_sleep()
      ci: detect what changed in a PR and if full sanitycheck is needed.
      ci: do not run full sanitycheck if not needed...
      CODEOWNER: add owner for scripts/ci
      ci: do full sanitycheck if not a PR
      doc: lock sphinx version to a compatible one
      sanitycheck: fix coverage capturing
      ci: do not use latest breathe release for docs
      doc: provide a target to only generate doxygen
      ci: if we are only changing doc/ files, no sanitycheck run
      samples: philosophers: evaluate variables coming from command line
      kernel: remove unused offload workqueue option
      tests: critical: rework test
      tests: put all workqueue test in 1 group
      tests: move critical test under workqueue
      tests: critical: change doxygen group
      sanitycheck: match results with extra logging output
      kernel: remove all old requirement tags
      doc: add traceability aliases to doxygen
      doc: document how we implement traceability
      sanitycheck: update old reports when called with --only-failed
      boards: nsim: for smp testing, using mdb
      boards: arc: make nsim_em a default platform
      sanitycheck: add option for report suffix
      kernel: rename initializers to be internal
      soc: apollo_lake: convert older dts macros for i2c
      sanitycheck: set reason to Failed
      sanitycheck: kill if terminate does not work
      sanitycheck: keep recording.csv with -M option
      sanitycheck: support coverage with unit tests
      release: v1.14.2 release notes
      samples: philosophers: remove systemview section from sample
      samples: move tracing sample from tests/
      doc: tracing: adapt to current implementation
      samples: fix configuration for systemview/cpu stats
      boards: rename board image file and make them match board name
      boards: STM32F405 Express: fix board name in yaml file
      boards: 96b_avenger96: rename in yaml file
      board: more stm board renames in yaml file
      doc: kernel: add section about queues
      doc: can: use :c:macro for K_FOREVER
      ci: fix whatchanged script matching
      build: reports: add puncover target
      doc: remove reference to ext/
      tests: gpio: remove unused harness
      sanitycheck: raise exception on harness without a config
      samples: remove unused harness definition
      sanitycheck: fix initial types in classes and minor cleanup
      requirements: add psutil, needed by sanitycheck
      ci: changes to python requirements should not trigger sanitycheck
      samples: x_nucleo_iks02a1: fix test identifier
      sanitycheck: raise exceptions on bad test names
      tests: stream_flash: skip tests correctly
      sanitycheck: raise exception on bad exclusion in ztest
      i2c_shell: Tidy up the code style
      i2c_shell: Add write_byte/read_byte commands
      i2c: shell: add braces around if statement
      samples: tracing: run openocd sample with 1 cpu

Andreas Sandberg (6):
      boards: arm: b_l072z_lrwan1: Fix SPI1 pinmux config
      samples: lora: Remove unnecessary config option
      drivers: lora: Add a continuous wave test API
      boards: arm: 96b_wistrio: Add an alias for the LoRa radio
      drivers: lora: Add a shell for LoRa testing
      samples: lora: Use the new DT alias to discover radio

Andrei Emeltchenko (10):
      console: uart_console: Use static for static functions
      console: xtensa_sim_console: Cleanup and use static keyword
      logging: Make ring buffer backend more general
      logging: log_backend_rb: Make message buffer size configurable
      logging: log_backend_rb: Use int for memory area size
      boards: up_squared_adsp: Change default flasher
      samples: philosophers: Fix extra_args not used
      boards: up_squared_adsp: Add flasher script
      boards: up_squared_adsp: Update logtool tool
      soc: intel_adsp: Generalize bootloader

Andrei Gansari (18):
      dts: nxp_lpc55S6x_ns.dtsi added
      dts: lpc55xxx add mpu
      boards: lpcxpresso55s69_cpu1 definitions
      soc: lpc55xxx mpu areas defined from dts
      dts: lpc55s69 non-secure all flash regions
      boards: lpcxpresso55s69_cpu0 partitioning
      boards: add target lpcxpresso55s69_ns
      soc: lpc55xxx define secure/non-secure core
      boards: lpcxpresso55s69 available targets description
      soc: lpc devices spi clock speed increase
      drivers: spi_mcux_flexcomm clock increase
      tests: LPC platforms SPI use default frequncy
      west.yaml: update hal_nxp for entropy device
      modules: adds HAS_MCUX_RNG
      dts: nxp,lpc-rng binding and lpc55xxx RNG node
      drivers: entropy_mcux_rng LPC entropy
      boards: map lpcxpresso55xxx boards entropy device
      soc: lpc55xxx RNG definiton

Andrejs Cainikovs (1):
      doc: gsg: add missing python3-dev dependency

Andrew Boie (56):
      samples: pi: fix stack overflow
      kernel: use sched lock for k_thread_suspend/resume
      tests: interrupt: use one CPU only
      tests: interrupt: fix broken scenario
      tests: interrupt: fix testcase.yaml
      shell: use correct data type for atomic variables
      kernel: fix return type for atomic_cas()
      kernel: add APIs for atomic os on pointers
      random: remove rand32_timestamp.c
      nios2: add arch_irq_is_enabled()
      kernel: fixup thread monitor locking
      kernel: remove comment in k_thread_abort()
      kernel: use z_swap_unlocked in k_thread_abort
      kernel: add k_thread_join()
      tests:...
Read more

Zephyr LTS 1.14.2 (Mainternance Release)

20 Apr 01:24
Compare
Choose a tag to compare

This is an LTS maintenance release with fixes.

Security Vulnerability Related

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

More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html

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
  • #15119 - GPIO callback not disabled from an interrupt
  • #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
  • #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
  • #16046 - modules are being processed too late.
  • #16080 - Zephyr UART shell crashes on start if main() is blocked
  • #16089 - Mcux Ethernet driver does not detect carrier anymore (it's alway on)
  • #16090 - mpu align support for code relocation on non-XIP system
  • #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_pull.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
  • #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 Friend 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
  • #16861 - nRF52: UARTE: Data corruption right after resuming device
  • #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 layout cause user mode not working
  • #17041 - [1.14] Bluetooth: Mesh: RPL handling is not in line with the spec
  • #17055 - net: Incorrect data length after the connection is established
  • #17057 - Bluetooth: Mesh: Implementation doesn't conform to latest errata and 1.0.1 version
  • #17092 - Bluetooth: GAP/IDLE/NAMP/BV-01-C requires Read by UUID
  • #17170 - x86_64 crash with spinning child thread
  • #17171 - Insufficient code coverage for lib/os/fdtable.c
  • #17177 - ARM: userspace/test_bad_syscall fails on ARMv8-M
  • #17190 - net-mgmt should pass info element size to callback
  • #17250 - After first GC operation the 1st sector had become scratch and the 2nd sector had became write sector.
  • #17251 - w25q: erase operations must be erase-size aligned
  • #17262 - insufficient code coverage for lib/os/base64.c
  • #17288 - Bluetooth: controller: Fix handling of L2CAP start frame with zero PDU length
  • #17294 - DB corruption when adding/removing service
  • #17337 - ArmV7-M mpu sub region alignment
  • #17338 - kernel objects address check in elf_helper.py
  • #17368 - Time Slicing cause system sleep short time
  • #17399 - LwM2M: Can't use an alternate mbedtls implementation
  • #17401 - LwM2M: requires that CONFIG_NET_IPV* be enabled (can't use 100% offloaded IP stack)
  • #17415 - Settings Module - settings_line_val_read() returning -EINVAL instead of 0 for deleted setting entries
  • #17427 - net: IPv4/UDP datagram with zero src addr and TTL causes Zephyr to segfault
  • #17450 - net: IPv6/UDP datagram with unspecified addr and zero hop limit causes Zephyr to quit
  • #17463 - Bluetooth: API limits usage of MITM flags in Pairing Request
  • #17534 - Race condition in GATT API.
  • #17595 - two userspace tests fail if stack canaries are enabled in board configuration
  • #17600 - Enable Mesh Friend support in Bluetooth tester application
  • #17613 - POSIX arch: occasional failures of tests/kernel/sched/schedule_api on CI
  • #17630 - efr32mg_sltb004a tick clock error
  • #17723 - Advertiser never clears state flags
  • #17732 - cannot use bt_conn_security in connected callback
  • #17764 - Broken link to latest development version of docs
  • #17802 - [zephyr 1.14] Address type 0x02 is used by LE Create Connection in device privacy mode
  • #17820 - Mesh bug report In access.c
  • #17838 - state DEVICE_PM_LOW_POWER_STATE of Device Power Management
  • #17843 - Bluetooth: controller: v1.14.x release conformance test failures
  • #17857 - GATT: Incorrect byte order for GATT database hash
  • #17861 - Tester application lacks BTP Discover All Primary Services handler
  • #17880 - Unable to re-connect to privacy enabled peer when using stack generated Identity
  • #17944 - [zephyr 1.14] LE Enhanced Connection Complete indicates Resolved Public once connected to Public peer address
  • #17948 - Bluetooth: privacy: Reconnection issue
  • #17967 - drivers/pwm/pwm_api test failed on frdm_k64f board.
  • #17971 - [zephyr 1.14] Unable to register GATT service that was unregistered before
  • #17979 - Security level cannot be elevated after re-connection with privacy
  • #18021 - Socket vtable can access null pointer callback function
  • #18090 - [zephyr 1.14][MESH/NODE/FRND/FN/BV-08-C] Mesh Friend queues more messages than indicates it's Friend Cache
  • #18178 - BLE Mesh When Provisioning Use Input OOB Method
  • #18183 - [zephyr 1.14][GATT/SR/GAS/BV-07-C] GATT Server does not inform change-unaware client about DB changes
  • #18297 - Bluetooth: SMP: Pairing issues
  • #18306 - Unable to reconnect paired devices with controller privacy disabled (host privacy enabled)
  • #18308 - net: TCP/IPv6 set of fragmented packets causes Zephyr to quit
  • #18394 - [Coverity CID :203464]Memory - corruptions in /subsys/net/l2/ethernet/gptp/gptp_mi.c
  • #18462 - potential buffer overrun in logging infrastructure
  • #18580 - Bluetooth: Security fail on initial pairing
  • #18658 - Bluetooth BR/EDR encryption key negotiation vulnerability
  • #18739 - k_uptime_get_32() does not behave as documented
  • #18935 - [Zephyr 1.14] drivers: flash: spi_nor: Problematic write with page boundaries
  • #18961 - [Coverity CID :203912]Error handling issues in /samples/net/sockets/coap_client/src/coap-client.c
  • #19015 - Bluetooth: Mesh: Node doesn't respond to "All Proxies" address
  • #19038 - [zephyr branch 1.14 and master -stm32-netusb]:errors when i view RNDIS Device‘s properties on...
Read more

Zephyr 2.2.0

10 Mar 09:00
Compare
Choose a tag to compare

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

Major enhancements with this release include:

  • Initial support for the 64-bit ARMv8-A architecture (Experimental).
  • CANopen protocol support through 3rd party CANopenNode stack
  • LoRa support was added through integration of the Semtech LoRaWAN endpoint
    stack and addition of a new SX1276 LoRa modem driver
  • A new and redesigned GPIO API has been introduced, and all in-tree users have been ported to it

The following sections provide detailed lists of changes by component.

Security Vulnerability Related

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

More detailed information can be found in:
https://docs.zephyrproject.org/latest/security/vulnerabilities.html

API Changes

Deprecated in this release

  • Settings

    • SETTINGS_USE_BASE64, encoding values in base64 is marked for removal.

Stable API changes in this release

  • GPIO

    • GPIO API has been reworked to support flags known from Linux DTS GPIO
      bindings. They will typically be defined in the board DTS file

      • GPIO_ACTIVE_LOW, GPIO_ACTIVE_HIGH used to set pin active level
      • GPIO_OPEN_DRAIN, GPIO_OPEN_SOURCE used to configure pin as open drain or
        open source
      • GPIO_PULL_UP, GPIO_PULL_DOWN used to configure pin bias
    • Reading / writing of pin logical level is supported by gpio_pin_get,
      gpio_pin_set functions.

    • Reading / writing of pin physical level is supported by gpio_pin_get_raw,
      gpio_pin_set_raw functions.

    • New set of port functions that operate simultaneously on multiple pins
      that belong to the same controller.

    • Interrupts should be configured by a dedicated
      gpio_pin_interrupt_configure() function. Configuring interrupts via
      gpio_pin_configure() is still supported but this feature will be removed
      in future releases.

    • New set of flags allows to set arbitrary interrupt configuration (if
      supported by the driver) based on pin physical or logical levels.

    • New set of flags to configure pin as input, output or in/out as well as set
      output initial state.

    • Majority of the old GPIO API has been deprecated. While the care was taken
      to preserve backward compatibility due to the scope of the work it was not
      possible to fully achieve this goal. We recommend to switch to the new GPIO
      API as soon as possible.

    • Areas where the deprecated API may behave differently to the original old
      implementation are:

      • Configuration of pin interrupts, especially involving GPIO_INT_ACTIVE_LOW
        and GPIO_POL_INV flags.
      • Behavior of gpio_pin_configure() when invoked without interrupt related
        flags. In the new implementation of this deprecated functionality the
        interrupts remain unmodified. In the original implementation some of the
        GPIO drivers would disable the interrupts.
    • Several drivers that rely on the functionality provided by the GPIO API
      were reworked to honor pin active level. Any external users of these
      drivers will have to update their DTS board files.

      • bluetooth/hci/spi.c
      • display/display_ili9340.c
      • display/ssd1306.c
      • ieee802154/ieee802154_mcr20a.c
      • ieee802154/ieee802154_rf2xx.c
      • lora/sx1276.c
      • wifi/eswifi/eswifi_core.c
      • majority of the sensor drivers
  • PWM

    • The pwm_pin_set_cycles(), pwm_pin_set_usec(), and
      pwm_pin_set_nsec() functions now take a flags parameter. The newly
      introduced flags are PWM_POLARITY_NORMAL and PWM_POLARITY_INVERTED
      for specifying the polarity of the PWM signal. The flags parameter
      can be set to 0 if no flags are required (the default is
      PWM_POLARITY_NORMAL).
    • Similarly, the pwm_pin_set_t PWM driver API function function now
      takes a flags parameter. The PWM controller driver must check the
      value of the flags parameter and return -ENOTSUP if any
      unsupported flag is set.
  • USB

    • The usb_enable() function, which was previously invoked automatically
      by the USB stack, now needs to be explicitly called by the application
      in order to enable the USB subsystem.
    • The usb_enable() function now takes a parameter, usb_dc_status_callback
      which can be set by the application to a callback to receive status events
      from the USB stack. The parameter can also be set to NULL if no callback is required.
  • nRF flash driver

    • The nRF Flash driver has changed its default write block size to 32-bit
      aligned. Previous emulation of 8-bit write block size can be selected using
      the CONFIG_SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS Kconfig option.
      Usage of 8-bit write block size emulation is only recommended for
      compatibility with older storage contents.
  • Clock control

    • The callback prototype (clock_control_cb_t) has now additional argument
      (clock_control_subsys_t) indicating which clock subsystem got started.

Removed APIs in this release

  • Shell

    • SHELL_CREATE_STATIC_SUBCMD_SET (deprecated), replaced by
      SHELL_STATIC_SUBCMD_SET_CREATE
    • SHELL_CREATE_DYNAMIC_CMD (deprecated), replaced by SHELL_DYNAMIC_CMD_CREATE
  • Newtron Flash File System (NFFS) was removed. NFFS was removed since it has
    serious issues, not fixed since a long time. Where it was possible
    NFFS usage was replaced by LittleFS usage as the better substitute.

Kernel

  • Addressed some race conditions observed on SMP-enabled systems
  • Propagate a distinct error code if a workqueue item is submitted that
    has already been completed
  • Disable preemption when handing fatal errors
  • Fix an issue with the sytsem call stack frame if the system call is
    preempted and then later tries to Z_OOPS()
  • add k_thread_stack_space_get() system call for analyzing thread stack
    space. Older methods which had problems in some cases or on some
    architectures like STACK_ANALYZE() are now deprecated.
  • Many kernel object APIs now optionally return runtime error values
    instead of relying on assertions. Whether these return values, fail
    assertions, or do no checking at all is controlled by the new
    Kconfig options ASSERT_ON_ERRORS, NO_RUNTIME_CHECKS, RUNTIME_ERROR_CHECKS.
  • Cleanups to the arch_cpu_start() API
  • Spinlock validation now dumps the address of the incorrectly used spinlock
  • Various improvements to the assertion mechanism
  • k_poll() may be passed 0 events, in which case it just puts the caller to
    sleep
  • Add k_thread_foreach_unlocked() API
  • Add an assertion if k_sleep() is called from an ISR
  • Numerous 64-bit fixes, mostly related to data type sizes
  • k_mutex_unlock() is now correctly a rescheduling point
  • Calling k_thread_suspend() on the current thread now correctly invokes
    the scheduler
  • Calling k_thread_suspend() on any thread cancels any pending timeouts for
    that thread
  • Fix edge case in meta-IRQ preemption of co-operative threads

Architectures

  • ARC:

    • Fixed several irq-handling related issues
  • ARM:

    • Added initial support for ARMv8-A 64-bit architecture (Experimental)
    • Added support for Direct Dynamic Interrupts in ARM Cortex-M
    • Fixed several critical bugs in ARM Cortex-R architecture port
    • Fixed several critical bugs in Stack Limit checking for ARMv8-M
    • Added QEMU emulation support for ARM Cortex-A53
    • Enhanced QEMU emulation support for ARM Cortex-R architecture
    • Enhanced test coverage for ARM-specific kernel features
    • Added support for GIC SGI and PPI interrupt types
    • Refactored GIC driver to support multiple GIC versions
  • POSIX:

    • N/A
  • RISC-V:

    • N/A
  • x86:

    • Fix an issue with Kconfig values larger than INT_MAX
    • Fix an issue where callee-saved registers could be unnecessarily
      saved on the stack when handling exceptions on x86_64
    • Fix a potential race with saving RFLAGS on context switch on x86_64
    • Enable 64-bit mode and X2APIC for the 'acrn' target
    • Add a poison value of 0xB9 to RIP if a thread is dispatched on multiple
      cores
    • Implement CONFIG_USERSPACE on x86_64
    • Fix an issue where reserved memory could be overwritten when loading the
      Zephyr image on qemu_x86_64
    • x86_64 will now exit QEMU when encountering a fatal error, much like
      32-bit already does
    • Cleanups and improvements to exception debug messages

Boards & SoC Support

  • Added support for these SoC series:

    • Atmel SAM4E
    • Atmel SAMV71
    • Broadcom BCM58400
    • NXP i.MX RT1011
    • Silicon Labs EFM32GG11B
    • Silicon Labs EFM32JG12B
    • ST STM32F098xx
    • ST STM32F100XX
    • ST STM32F767ZI
    • ST STM32L152RET6
    • ST STM32L452XC
    • ST STM32G031
    • Intel Apollolake Audio DSP
  • Added support for these Xtensa boards:

    • Up Squared board Audio DSP
  • Added support for these ARM boards:

    • Atmel SAM 4E Xplained Pro
    • Atmel SAM E54 Xplained Pro
    • Atmel SAM V71 Xplained Ultra
    • Broadcom BCM958401M2
    • Cortex-A53 Emulation (QEMU)
    • Google Kukui EC
    • NXP i.MX RT1010 Evaluation Kit
    • Silicon Labs EFM32 Giant Gecko GG11
    • Silicon Labs EFM32 Jade Gecko
    • ST Nucleo F767ZI
    • ST Nucleo G474RE
    • ST Nucleo L152RE
    • ST Nucleo L452RE
    • ST STM32G0316-DISCO Discovery kit
    • ST STM32VLDISCOVERY
  • Removed support for these ARM boards:

    • TI CC2650
  • Added support for these following shields:

    • ST7789V Display generic shield
    • TI LMP90100 Sensor Analog Frontend (AFE) Evaluation Board (EVB)
  • Removed support for these following shields:

    • Link board CAN

Drivers and Sensors

  • ADC

    • Added LMP90xxx driver with GPIO
  • Audio
    ...

Read more

Zephyr 2.2.0-rc3

29 Feb 19:27
Compare
Choose a tag to compare
Zephyr 2.2.0-rc3 Pre-release
Pre-release
Alberto Escolar Piedras (1):
      doc: release notes: Content for POSIX arch

Alexander Wachter (8):
      doc: hwinfo: Clarify return values.
      drivers: hwinfo: Introduce HWINFO_HAS_DRIVER Kconfig symbol
      tests: hwinfo: Make the tests depending on HWINFO_HAS_DRIVER
      drivers: hwinfo: Exclude NRF53 non-secure from hwinfo driver
      boards: Remove "supported: -hwinfo" from all boards
      SoC: stm32: Include LL utilities if HWINFO is selected
      drivers: hwinfo: Don't disable CLOE on SAM3x seies
      SoC: SAM3x and SAM4: Add the Flash Controller to the DT

Andries Kruithof (1):
      Bluetooth: controller: split: Fix regression errors

Andrzej Puzdrowski (1):
      doc/reference/runtime_conf/settings: reference missing API group

Carles Cufi (1):
      Bluetooth: tester: Fix GATT service registration

Christian Taedcke (1):
      editorconfig: Set max_line_length to 80

Dag Bjarvin (1):
      Bluetooth: controller: Merge 2 lines

Daniel Leung (2):
      xtensa: save/restore scompare1 during context switch
      soc: mec1501: wait for UART FIFO clear before deep sleep

Dariusz Lisik (1):
      tracing: fixes C++ compilation issue

Dominik Ermel (2):
      tests/subsys/fs/fat: Incorrect mount path has been tested
      subsys/mgmt: Fix incorrect buffer space check

Erwan Gouriou (1):
      doc: Update shields section in V2.2 release note

Francois Ramu (4):
      driver: watchdog: stm32 install watchdog
      driver: clock: stm32: boost voltage when clock exceeds 150MHz
      driver: clock: stm32: boost voltage when clock exceeds 80MHz
      west.yml: update hal stm32g4xx and stm32l4R/stm32l4S modules

Gerard Marull-Paretas (1):
      lib/timeutil: add missing header required for s64_t

Ioannis Glaropoulos (1):
      tests: arch: arm_thread_swap: test FPSCR preservation in FP_SHARING

Jennifer Williams (1):
      samples: subsys: nvs: unchecked return values CID#203537

Joakim Andersson (3):
      Bluetooth: shell: Update help text of `bt init` command
      Bluetooth: tests: shell: Remove config not supported on native_posix
      Bluetooth: tests: shell: Add missing dependency in mesh.conf

Johan Hedberg (1):
      release: Zephyr 2.2.0-rc3

Jukka Rissanen (1):
      doc: release notes: Add information about GSM modem

Luiz Augusto von Dentz (1):
      Bluetooth: GATT: Fix not clearing CF_OUT_OF_SYNC

Luuk Bosma (2):
      arch: arm: aarch32: clear CPACR for every CPU that has a FPU
      arch: arm: aarch32: clear CONTROL.FPCA for every CPU that has a FPU

Martí Bolívar (7):
      doc: west: add examples for each topology
      doc: west: update structure page
      doc: west: 'west installation' is now 'west workspace'
      doc: dts/macros.rst: "clocks" macro fixes
      scripts: run_common: rename unknown_args to user_runner_args
      scripts: run_common: rename 'args' to 'user_args'
      scripts: run_common: fix command line --hex-file and friends

Morten Priess (1):
      Bluetooth: controller: Prevent LLCP handling of must-expire events

Ravi kumar Veeramally (2):
      net: ipv4: Fix parsing of IPv4 header options
      tests: net: Add wrong options length case

Rubin Gerritsen (1):
      bluetooth: Fix wrong warning text for unsupported Zephyr HCI commands

Stephanos Ioannidis (1):
      boards: qemu_cortex_r5: Add board documentation

Tobias Svehagen (2):
      Bluetooth: Mesh: Fix bug with storing node in CDB
      Bluetooth: Mesh: Fix handling of app index and local device key

Trond Einar Snekvik (1):
      Bluetooth: Mesh: Group resends in proxy nodes

Vinayak Kariappa Chettimada (5):
      Bluetooth: controller: legacy: Fix Tx pool corruption
      Bluetooth: controller: legacy: Fix assert on DLE procedure stall
      Bluetooth: controller: Add Kconfig for Optimize for Speed
      tests: Bluetooth: shell: Fix conditional compile error
      Bluetooth: controller: legacy: Fix cond. compile error

Wolfgang Puffitsch (1):
      manifest: EDTT: update manifest to point to new revision in EDTT