Speaker
Description
Zephyr RTOS offers a rich ecosystem, but embedded engineers often face the challenge of porting code across environments—from Zephyr to another RTOS or even to bare metal. This discussion is about a practical guide to extracting a “bare metal flavor” of code out of Zephyr so that it can run independently of Zephyr’s driver and subsystem layers.
NOTE: The HAL approach isn't the right solution, it is making the code stay out of common code base, not following Zephyr standards or coding principles, not gaining advantages of opensource community for reviews of design architecture and the source code.
We will explore:
-
Structuring Zephyr projects so application and peripheral code can be isolated cleanly
-
Writing drivers and hardware access layers that can compile both inside and outside Zephyr
-
Techniques for minimizing dependencies on Zephyr APIs
-
A case study: extracting a Zephyr-based peripheral driver and reusing it in a bare-metal project
-
Beyond the mechanics, we’ll discuss the philosophy of portability—how to strike the right balance between leveraging Zephyr abstractions and keeping code flexible enough to live elsewhere.