-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Description
Introduction
This issue deals with a topic that has been the center of multiple previous discussions and existing issues and PRs. This is an attempt at briefly summarizing the problem in order to solve it in a way that is agreeable to all potential users and developers alike.
IMPORTANT: Please keep the discussion around this particular feature in this GitHub issue, so that we do not have to collect feedback from multiple sources.
Problem description
Zephyr currently lacks a mechanism to configure multi-instance software components at compile-time well above the hardware. Instead, as described multiple times, we have:
- Devicetree: Multi-instance, but currently restricted to represent (mostly) actual hardware
- Kconfig: Single-instance, mostly restricted to software enablement and configuration
A third mechanism is therefore required. This issue describes the use cases and requirements in order to end up concluding with a final proposal.
Zephyr also lacks a provisioning mechanism, which would be able to generate a pre-compiled "image" of the data that is required in order to provide the required data for certain subsystems to execute.
Use cases
The following use cases have so far been identified:
- Network stack interface description: Handle boot time configuration of network stack #68127
- Configuration of init priorities: [RFC] Init entries: Automatically computing priorities #73836
- Multi-instance software (non-driver) configuration (e.g. buffer sizes in CHAT/CMUX)
We foresee additional users of this mechanism in the future, but the two use cases above exist today and require a solution.
Requirements (WIP)
Proposed diagrams
Metadata
Metadata
Assignees
Labels
Type
Projects
Status

