course_zephyr_rtos_rpi_4b

Chapter 14 - Modules


Introduction | Theory | Lab | Course Home


Building on Interrupts and System Architecture

Having mastered interrupt management in Chapter 13—handling external hardware events and deferring processing using workqueues—you now understand how to build responsive, event-driven embedded systems. Your applications can react to the physical world in real-time, integrating asynchronous events into your structured software architecture.

However, as your applications grow in complexity, managing all your code within a single, monolithic structure becomes inefficient, difficult to maintain, and hard to scale. To build professional, production-grade embedded systems, you need a way to organize your code into reusable, independent, and configurable components. Modules provide the solution.

Introduction

Modules are the key to building scalable, maintainable, and reusable firmware with Zephyr. They allow you to encapsulate related functionality—drivers, libraries, subsystems—into self-contained units that can be easily integrated into any Zephyr application. This modular approach is fundamental to modern software engineering and is essential for managing the complexity of today’s embedded systems.

Why are Modules Critical?

Real-World Scenarios:

This chapter builds upon your knowledge of the Zephyr build system (Chapter 3), Kconfig (Chapter 4), and West (Chapter 5). You will learn how to structure a module, write the necessary CMakeLists.txt and Kconfig files, and integrate it into your application using the West manifest. Mastering modules will elevate your Zephyr skills, enabling you to create truly professional and scalable embedded systems.

Next: Modules Theory