OPERATING SYSTEMSOS Linux

IPC in Zephyr: to Zbus, or not to Zbus? // Zephyr Tech Talk #008

As we enter the new year, we are having not one, but two guests on the show! There are many ways to implement inter-process communication (IPC) in Zephyr, and choosing the right one for your use case can be tricky. Are low-level kernel primitives to be preferred for their performance and footprint, or should you be using a higher-level abstraction like Zbus?
Rodrigo Peixoto and Bjarki Arge Andreasen will join Benjamin to debate the pros and cons of each approach. Rodrigo is the author of Zbus and will give us insight into the design decisions behind it and some of the use cases to which it best suits. Bjarki will advocate for some of the lower-level IPC mechanisms available in Zephyr and how it can sometimes be beneficial to use them to leverage the compiler and linker’s ability to check for type consistency, even if that might mean being less generic.
As always, it will be a lively discussion with you, the audience, and the hope is that we will answer the question posed in the Tech Talk’s title with more than the traditional: “it depends!”.

The code that Bjarki used in his demos is available at: https://github.com/bjarki-trackunit/c_story

source

by The Zephyr Project

linux foundation