~/talk

A Block Stream API for Zephyr

Talkat Zephyr Developer Summit 2022 · 2022-06-07..06-09· [embedded-and-hardware]
links:none on file
slides:none on file

Zephyr gains a DMA-friendly block-stream interface that claims to let drivers submit lists of buffer operations and get completions via an io_uring–like RTIO context so ISR code can start transfers without forking Zephyr. Proof-of-concept executors target Nordic nRF52 hardware, handle single-producer single-consumer ring semantics, support chained operations across SPI I2C ADC and DMA, and reduce threads. A real device example captures a critical 30 milliseconds capture window from four sensors. Minimal implementations fit in ~400 byte executor and ~1400 byte concurrent executor ROM and run without a Zephyr fork.

AI-written summary · about

  1. 0:00Introduction
  2. 1:03Zephyr I/O problems in real-time
  3. 5:18Zephyr forking and the need
  4. 6:44Block Stream API concept
  5. 8:10API submissions and completions
  6. 10:17Ordering and failure handling
  7. 12:25Chaining operations sequentially
  8. 14:09Concurrent operations on devices
  9. 15:32Q&A
  10. 18:23Solving original problem
  11. 20:09API mapping to DMA hardware
  12. 21:12Challenges with Zephyr async APIs
  13. 22:14Busy peripherals and async mutexes
  14. 22:56High-level device adoption
  15. 23:19Feedback and future directions
  16. 24:31Q&A on completion queue
  17. 26:23Q&A on ISR submission
  18. 28:34Code size and examples
  19. 30:42Async API consistency
  20. 32:49Closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.